Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка регламентного задания в функции, которая в нем не используется

Ошибка регламентного задания в функции, которая в нем не используется
Я
   Антиквар
 
05.01.21 - 14:44
Всем привет!
В приложении на обычных формах есть регламентное задание, работает по расписанию, загружает данные (база на SQL-сервере).
Это задание вываливается с ошибкой на функции, в которой есть такой код:
<Если Вопрос("Текст вопроса?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда>
Понятно, что интерактивные вызовы в регламентном задании не работают и "РежимДиалогаВопрос" вызовет ошибку. Но данная функция не используется регламентным заданием, оно в эту функцию не заходит ни при каких обстоятельствах, однако ошибка вылезает именно здесь.
Но эта функция находится в общем модуле, в котором есть другая функция, и последняя используется регламентным заданием.
Получается, что если регламентное задание вызывает какую-то функцию общего модуля, то во всём этом общем модуле, а точнее ни в какой другой функции этого модуля, не должно быть вызовов диалоговых окон?
   fisher
 
1 - 05.01.21 - 14:49
Это ошибка не вызова функции, а компиляции модуля.
При первом обращении к модулю (в данном случае - к серверной версии модуля) выполняется его компиляция.
А он на сервере скомпилироваться не может, поскольку содержит недоступную на сервере функциональность.
   fisher
 
2 - 05.01.21 - 14:51
На обычных формах это типовая ошибка. Поскольку в обычной ситуации разработчик сталкивается с выполнением на сервере почти исключительно в фоновых заданиях. В 99% весь код приложения на ОФ исполняется на клиенте.
   fisher
 
3 - 05.01.21 - 14:53
Если одна такая проблемная функция и не хочется рефакторить, то можно быстро захачить - просто обрами ее директивами компилятора #Если Клиент Тогда

чтобы она не компилировалась на сервере.
   ДенисЧ
 
4 - 05.01.21 - 15:10
Это ошибка погромиста.
Если в модуле есть функции, которые вызываются на сервере, то все диалоговые должны быть в препроцессоре #Если Клиент
   Антиквар
 
5 - 05.01.21 - 15:20
"просто обрами ее директивами компилятора #Если Клиент Тогда"


Ага, я так и сделал, но я не знал, что есть такое требование, думал в функцию не заходит, значит и не сработает
   ДенисЧ
 
6 - 05.01.21 - 15:58
(5) А то, что модуль компилируется целиком - ты даже не подозревал? Ты точно не с Чукотки? А то такой наивынй... _)))))
   Asmody
 
7 - 05.01.21 - 18:30
(6) ты человеку сейчас мозг сломаешь тем, что в 1С что-то "компилируется".
   ДенисЧ
 
8 - 05.01.21 - 18:37
(7) А... Не жалко. Через пару недель окунётся в прорубь и там видно будет ))

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