|
Ошибка регламентного задания в функции, которая в нем не используется
| ☑ |
0
Антиквар
05.01.21
✎
14:44
|
Всем привет!
В приложении на обычных формах есть регламентное задание, работает по расписанию, загружает данные (база на SQL-сервере).
Это задание вываливается с ошибкой на функции, в которой есть такой код:
<Если Вопрос("Текст вопроса?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда>
Понятно, что интерактивные вызовы в регламентном задании не работают и "РежимДиалогаВопрос" вызовет ошибку. Но данная функция не используется регламентным заданием, оно в эту функцию не заходит ни при каких обстоятельствах, однако ошибка вылезает именно здесь.
Но эта функция находится в общем модуле, в котором есть другая функция, и последняя используется регламентным заданием.
Получается, что если регламентное задание вызывает какую-то функцию общего модуля, то во всём этом общем модуле, а точнее ни в какой другой функции этого модуля, не должно быть вызовов диалоговых окон?
|
|
1
fisher
05.01.21
✎
14:49
|
Это ошибка не вызова функции, а компиляции модуля.
При первом обращении к модулю (в данном случае - к серверной версии модуля) выполняется его компиляция.
А он на сервере скомпилироваться не может, поскольку содержит недоступную на сервере функциональность.
|
|
2
fisher
05.01.21
✎
14:51
|
На обычных формах это типовая ошибка. Поскольку в обычной ситуации разработчик сталкивается с выполнением на сервере почти исключительно в фоновых заданиях. В 99% весь код приложения на ОФ исполняется на клиенте.
|
|
3
fisher
05.01.21
✎
14:53
|
Если одна такая проблемная функция и не хочется рефакторить, то можно быстро захачить - просто обрами ее директивами компилятора #Если Клиент Тогда
чтобы она не компилировалась на сервере.
|
|
4
ДенисЧ
05.01.21
✎
15:10
|
Это ошибка погромиста.
Если в модуле есть функции, которые вызываются на сервере, то все диалоговые должны быть в препроцессоре #Если Клиент
|
|
5
Антиквар
05.01.21
✎
15:20
|
"просто обрами ее директивами компилятора #Если Клиент Тогда"
Ага, я так и сделал, но я не знал, что есть такое требование, думал в функцию не заходит, значит и не сработает
|
|
6
ДенисЧ
05.01.21
✎
15:58
|
(5) А то, что модуль компилируется целиком - ты даже не подозревал? Ты точно не с Чукотки? А то такой наивынй... _)))))
|
|
7
Asmody
05.01.21
✎
18:30
|
(6) ты человеку сейчас мозг сломаешь тем, что в 1С что-то "компилируется".
|
|
8
ДенисЧ
05.01.21
✎
18:37
|
(7) А... Не жалко. Через пару недель окунётся в прорубь и там видно будет ))
|
|