Имя: Пароль:
1C
1С v8
Ошибка кода из общего модуля при перепроведении
0 MAPATNK2
 
naïve
15.02.22
17:00
1С:Предприятие 8.3 (8.3.17.1851)
УПП (1.3.171.1)
В общем модуле есть процедура проверки НДС в табличной части Заказа покупателя. Манагеры часто НДС у организаций путают. В случае обнаружения неверного НДС вызывается диалог, где предлагается изменить НДС. ВЫЗЫВАЕТСЯ ПриЗаписи() на ФОРМЕ документа. Не в модуле документа, а на форме.

При перепроведении документов, летит ошибка этого кода, что {ОбщийМодуль._Общий.Модуль(2109,13)}: Переменная не определена (РежимДиалогаВопрос).
НО как она вызывает эту процедуру, ведь она запускается только из формы???
В чем пробелма тут. Я даже попытку добавил, но попытку игнорит. В отладчике словить не могу, когда она лезет в эту процедуру.
1 MAPATNK2
 
naïve
15.02.22
17:00
help
2 MAPATNK2
 
naïve
15.02.22
17:04
Закинул процедуру в общий модуль, а не сразу на форму (там только вызов этой процедуры), т.к. планирую обновлять УПП, чтобы меньше проблем было при обнове.
3 Casey1984
 
15.02.22
17:05
(0) "Переменная не определена (РежимДиалогаВопрос)"

Видать код на сервере выполняется, там нет этого РежимДиалогаВопрос.
4 MAPATNK2
 
naïve
15.02.22
17:08
(3) ДАк почему он вообще выполняется то? Он вызывается только из формы при записи. Всё.
При перепроведении документа код разве лезет в Форму?
5 Kigo_Kigo
 
15.02.22
17:10
В отладчике словить не могу, когда она лезет в эту процедуру.
Отладку на сервере включи, и чую не в обработке на форме она выскакивает
6 MAPATNK2
 
naïve
15.02.22
17:15
(5) Отладка на сервере включена. В Автоподключении "Клиентские и внешние соединения на сервере" +" Фоновые задания".  Это не помогает. В процедуру не заходит якобы.
Это возникает при ПЕРЕПРОВЕДЕНИИ ДОКУМЕНТОВ за период.
7 MAPATNK2
 
naïve
15.02.22
17:20
Проверил, при перепроведении по Форме не ходит. Поиском прошелся. Процедура проверки стоит только на форме "ПриЗАписи()". Во время отладки к ней не идет. Черт знает в чем пробелма.
8 Kigo_Kigo
 
15.02.22
17:22
включи стек вызовов и замер производительности и глЯди резкльтаты
9 Kigo_Kigo
 
15.02.22
17:22
*результаты
10 MAPATNK2
 
naïve
15.02.22
17:23
(8) А что мне это даст. Ну явно моя процедура вызывается. Вопрос почему вызывается процедура из формы документа при массовом перепроведении. И как это исправить?
11 youalex
 
15.02.22
17:26
Это не вызов процедуры, а ошибка инициализации ОМ. Можно предположить, что возникает при первом обращении к этому ОМ из серверного контекста.
12 hhhh
 
15.02.22
17:28
(10) может не процедура а сам общий модуль этот вызывается. Проконтролируй, чтобы эта твоя процедура была в отдельном общем модуле.
13 MAPATNK2
 
naïve
15.02.22
17:34
(12) Ага, вынес в отдельный общий модуль, заработало.

Как разобраться, в чем все же проблема была?
14 ДенисЧ
 
15.02.22
17:36
(13) #Если Клиент Тогда
забыл
15 MAPATNK2
 
naïve
15.02.22
17:41
(14) Блин. Да. Спасибо.
16 MAPATNK2
 
naïve
16.02.22
12:53
Чтобы в дальнейшем не запутаться. Проблема была именно в общем модуле. Там установлены флаги Клиент, Сервер. Пример из (14) "#Если Клиент Тогда" в такой модуль вставлять нельзя (Пруф https://its.1c.ru/db/v8std/content/439/hdoc), т.к. программа не может определить явно с клиента или сервера вызывается этот код, поэтому нужно вытаскивать в отдельный общий модуль с флагом "Клиент" и прописывать туда код.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс