![]() |
|
Расширение конфигурации. Не видит ОткрытьФормуМодально | ☑ | ||
---|---|---|---|---|
0
zladenuw
17.04.17
✎
23:16
|
Пишу код
&Вместо("ВыбратьКартинкуИзПрисоединенныхФайлов") Процедура ВыбратьКартинкуИзПрисоединенныхФайлов(Команда) _ПараметрыВыбора = Новый Структура("ВладелецФайла, ЗакрыватьПриВыборе, РежимВыбора", Объект.Ссылка, Истина, Истина); ЗначениеВыбора = ОткрытьФормуМодально("ОбщаяФорма.ПрисоединенныеФайлы", _ПараметрыВыбора); Если ЗначениеЗаполнено(ЗначениеВыбора) Тогда Объект.ФайлКартинки = ЗначениеВыбора; АдресКартинки = НавигационнаяСсылкаКартинки(Объект.ФайлКартинки, УникальныйИдентификатор) КонецЕсли; КонецПроцедуры Получаю ошибку Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(6,19)}: Процедура или функция с указанным именем не определена (ОткрытьФормуМодально) ЗначениеВыбора = <<?>>ОткрытьФормуМодально("ОбщаяФорма.ПрисоединенныеФайлы", _ПараметрыВыбора); (Проверка: Сервер) Как сделать что бы она ее видела. Гугл молчит |
|||
1
AlvlSpb
17.04.17
✎
23:54
|
(0) А в конфигураторе разрешено модальное открытие окон? Может проще ОткрытьФорму?
И, какая платформа с какой совместимостью? |
|||
2
AlvlSpb
18.04.17
✎
00:27
|
(0) Увидел. Вы перехватываете процедуру из модуля формы. Нужна директива компиляции. И общие рекомендации - не использовать тоже название процедуры, будут отказы в выполнении. Т.е.
&Вместо("ВыбратьКартинкуИзПрисоединенныхФайлов") &НаКлиенте Процедура Расш1_ВыбратьКартинкуИзПрисоединенныхФайлов(Команда) |
|||
3
zladenuw
18.04.17
✎
06:32
|
(1) Да стоит использовать и там и там.
(2) Проблема не в этом. Это типовой код. И если написать как вы показали. процедура не срабатывает. Перехват не идет. |
|||
4
Chameleon1980
18.04.17
✎
06:39
|
(3) п2. - мистика
(2) прав - тоже самое имя не нужно использовать |
|||
5
AlvlSpb
18.04.17
✎
08:26
|
(3) "И если написать как вы показали. процедура не срабатывает. "
Нигде о директивах не написано, но у меня есть расширение, которое никак не хотело выводить Предупреждение, выдавало точно такую же ошибку. Поставил &НаКлиенте и все заработало. |
|||
6
Chameleon1980
18.04.17
✎
08:46
|
(5) а кому ты хотел НЕ на клиенте Предупреждение выводить-то?
|
|||
7
Chameleon1980
18.04.17
✎
08:47
|
(5) "....Нигде о директивах не написано...." если я правильно понял поправку, то поправка - искать нужно уметь.
Это описано, что не нужно использовать тоже имя. |
|||
8
zladenuw
18.04.17
✎
10:56
|
(4) Так если меняю один фиг. Пишу директиву на клиенте. И все не идет перехват процедуры.
Типовая конфа после снятие совместимости полезли косяки. Решил все красиво через расширение. А тут вот не хочет. |
|||
9
AlvlSpb
18.04.17
✎
19:04
|
(6) (7) ты не понял о чем речь. Перехватываем процедуру в модуле формы. Причем не событие, а обычную (любую) процедуру.
В модуле перехватываемая процедура &НаКлиенте Процедура НашаПроцедура(); В умных книжках: Поставь &Вместо("НашаПроцедура") и все будет работать. На практике столкнулся с такой же проблемой как у автора. Перехватил процедуру с Предупреждением, так как написано, а она мне выдает что не знает что такое Предупреждение. Но поставил &НаКлиенте и все работает. Собственно пруф http://s45.radikal.ru/i109/1704/22/5dc196059204.jpg (8) Вы так и не ответили какая платформа. И, на всякий, посмотрите картинку выше. Расположение НаКлиенте после (ниже) Вместо. Реально работает уже больше года |
|||
10
Chameleon1980
18.04.17
✎
20:15
|
(9) да я то понял
ну тут, видимо, нужно конкретно носом расширение ткнуть, что процедура коиентская |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |