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

1С:Предприятие ::

Метки: 

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

Я
   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 человек.
Рекламное место пустует