Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Расширение конфигурации. Не видит ОткрытьФормуМодально

Расширение конфигурации. Не видит ОткрытьФормуМодально
Я
   zladenuw
 
17.04.17 - 23:16
Пишу код

&Вместо("ВыбратьКартинкуИзПрисоединенныхФайлов")
Процедура ВыбратьКартинкуИзПрисоединенныхФайлов(Команда)
    
    _ПараметрыВыбора = Новый Структура("ВладелецФайла, ЗакрыватьПриВыборе, РежимВыбора", 
                                       Объект.Ссылка, Истина, Истина);
    ЗначениеВыбора = ОткрытьФормуМодально("ОбщаяФорма.ПрисоединенныеФайлы", _ПараметрыВыбора);
    
    Если ЗначениеЗаполнено(ЗначениеВыбора) Тогда
        
        Объект.ФайлКартинки = ЗначениеВыбора;
        АдресКартинки = НавигационнаяСсылкаКартинки(Объект.ФайлКартинки, УникальныйИдентификатор)
        
    КонецЕсли;
        
КонецПроцедуры

Получаю ошибку
Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(6,19)}: Процедура или функция с указанным именем не определена (ОткрытьФормуМодально)
    ЗначениеВыбора = <<?>>ОткрытьФормуМодально("ОбщаяФорма.ПрисоединенныеФайлы", _ПараметрыВыбора); (Проверка: Сервер)

Как сделать что бы она ее видела.
Гугл молчит
 
 
   AlvlSpb
 
1 - 17.04.17 - 23:54
(0) А в конфигураторе разрешено модальное открытие окон? Может проще ОткрытьФорму?
     И, какая платформа с какой совместимостью?
   AlvlSpb
 
2 - 18.04.17 - 00:27
(0) Увидел. Вы перехватываете процедуру из модуля формы. Нужна директива компиляции. И общие рекомендации - не использовать тоже название процедуры, будут отказы в выполнении. Т.е.

&Вместо("ВыбратьКартинкуИзПрисоединенныхФайлов")
&НаКлиенте
Процедура Расш1_ВыбратьКартинкуИзПрисоединенныхФайлов(Команда)
   zladenuw
 
3 - 18.04.17 - 06:32
(1) Да стоит использовать и там и там.
(2) Проблема не в этом.
Это типовой код.
И если написать как вы показали. процедура не срабатывает.
Перехват не идет.
   Chameleon1980
 
4 - 18.04.17 - 06:39
(3) п2. - мистика

(2) прав - тоже самое имя не нужно использовать
   AlvlSpb
 
5 - 18.04.17 - 08:26
(3) "И если написать как вы показали. процедура не срабатывает. "
Нигде о директивах не написано, но у меня есть расширение, которое никак не хотело выводить Предупреждение, выдавало точно такую же ошибку. Поставил &НаКлиенте и все заработало.
   Chameleon1980
 
6 - 18.04.17 - 08:46
(5) а кому ты хотел НЕ на клиенте Предупреждение выводить-то?
   Chameleon1980
 
7 - 18.04.17 - 08:47
(5) "....Нигде о директивах не написано...." если я правильно понял поправку, то поправка - искать нужно уметь.
Это описано, что не нужно использовать тоже имя.
   zladenuw
 
8 - 18.04.17 - 10:56
(4) Так если меняю один фиг. Пишу директиву на клиенте. И все не идет перехват процедуры.
Типовая конфа после снятие совместимости полезли косяки. Решил все красиво через расширение. А тут вот не хочет.
   AlvlSpb
 
9 - 18.04.17 - 19:04
(6) (7) ты не понял о чем речь. Перехватываем процедуру в модуле формы. Причем не событие, а обычную (любую) процедуру.
В модуле перехватываемая процедура &НаКлиенте Процедура НашаПроцедура();
В умных книжках: Поставь &Вместо("НашаПроцедура") и все будет работать. На практике столкнулся с такой же проблемой как у автора. Перехватил процедуру с Предупреждением, так как написано, а она мне выдает что не знает что такое Предупреждение. Но поставил &НаКлиенте и все работает.
Собственно пруф  http://s45.radikal.ru/i109/1704/22/5dc196059204.jpg

(8) Вы так и не ответили какая платформа. И, на всякий, посмотрите картинку выше. Расположение НаКлиенте после (ниже) Вместо. Реально работает уже больше года
   Chameleon1980
 
10 - 18.04.17 - 20:15
(9) да я то понял

ну тут, видимо, нужно конкретно носом расширение ткнуть, что процедура коиентская
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует