Имя: Пароль:
1C
 
Создание документа КорректировкаДолга регламентом. Не срабатывает При... и ПередЗаписью()
0 AnBlast
 
19.06.23
15:55
Сделано регламентное задание, которое списывает долги по определенному алгоритму
при этом в ряде случаев данные списания надо отправить контрагенту. Сделано это в ПриЗаписи()

Но ПриЗаписи() не срабатывает в регламенте. А если потом перепровести док - то все отрабатывает.

Явно что-то натупил, но не понимаю почему так работает.
Помогите, плиз
1 Галахад
 
19.06.23
15:59
В модуле объекта?
2 НафНаф
 
19.06.23
16:01
>>ПриЗаписи() не срабатывает в регламенте
у объекта срабатывает, у формы - нет
вообще такое (общаться с внешним миром, в т.ч. посредством отправки данных) делать в бизнес-транзакции - плохо
3 Мультук
 
19.06.23
16:10
(0)

1) Говорят, в 1С есть отладчик -- врут поди
2) в ПриЗаписи ссылка/движения уже есть ? Нам отсюда не видно чего и как вы там посылаете
4 AnBlast
 
19.06.23
16:25
(1) ну да...  документ создается, но ПриЗаписи() не срабатывает
(3) отладчик есть, но на продакшене там отключена серверная отладка
(3) я создаю документ. записываю его. потом заполняю и опять записываю.

Это уже продакшен... я его так увидел
5 Галахад
 
19.06.23
16:27
А откуда известно, что ПриЗаписи не работает, если отладка не включена?
6 lEvGl
 
19.06.23
16:28
(4) почему решили что не срабатывает? может просто не отрабатывает то, что нужно
7 AnBlast
 
19.06.23
16:50
(6) потому что не делается отправка на почту (мою для теста) уведомления. А при прямом проведении - делается
8 Галахад
 
19.06.23
16:57
ОФ?
9 AnBlast
 
19.06.23
17:02
(8) что есть ОФ?
10 Галахад
 
19.06.23
17:02
Обычные формы или управляемые?
11 AnBlast
 
19.06.23
17:09
обычные
12 Галахад
 
19.06.23
17:12
Ну тогда, скорее всего интерактивная запись выполняется на клиенте со всеми вытекающими.
13 AnBlast
 
19.06.23
17:14
Есть обработка, которая запускается регламентом...
В этой обработке программно создается, заполняется и записывается документ...
У документа есть процедура модуля формы формы ПриЗаписи() которая не вызывается при программном создании и записи документа... т.е. получается, что это процедура срабатывает только при интерактивной записи документа по кнопке на форме. Что хреново, но логично...
14 AnBlast
 
19.06.23
17:15
фу... процедура в модуле документа.
15 AnBlast
 
19.06.23
17:19
Причем у обработки есть два режима работы - из регламента и интерактивно (кнопочки, табличная часть). Так вот в обоих случаях ничего не запускается в ПриЗаписи документа...
16 lEvGl
 
19.06.23
17:25
н да
разучите где что, чтобы как по нотам, это основные принципиальные понятия - модуль формы/объекта, а то как то нет уверенности, что оно у вас там где надо и как надо
демонстрируйте код процедуры призаписи полностью, личные данные можно затереть
17 AnBlast
 
19.06.23
17:27
(16) та содержание процедуры сути не меняет - процедура не вызывается при программной записи документа
мне казалось, что должна вызываться
18 AnBlast
 
23.06.23
15:47
up!

не могу понять что не так... документ при интерактивной записи отрабатывает ПриЗаписи(), а при создании через фоновое задание - не отрабатывает.
Помогите плиз ))
19 Галахад
 
23.06.23
16:01
Проверял? Почта вообще доступна на сервере?
20 AnBlast
 
23.06.23
16:11
Та причем тут почта...
Есть подозрение, что ПриЗаписи это процедура формы, а раз я форму не вызываю и все делаю программно, то с какого бы ей срабатывать?
И если это таки так, то придется обработку переносить в глобальный контекст...
21 Галахад
 
23.06.23
16:15
Прекрасное подозрение. А может стоит его подтвердить или опровергнуть глянул в конфигуратор?
22 AnBlast
 
23.06.23
16:21
та тут копии для потестить нет... все на продакшене приходится делать. еще и сильно удаленно
23 AnBlast
 
23.06.23
16:22
а на продакшене серверная отладка отключена... квест короче ))
24 lubitelxml
 
23.06.23
16:35
(22) так процедура у тебя в форме, форма не открывается, вот и не отрабатывает. Зайди в конфигуратор и посмотри где у тебя отправка идет - если в форме, то переноси в модуль объекта, либо подписку сделай
25 AnBlast
 
23.06.23
17:16
(24) все интереснее...
обработчик ПриЗаписи() таки вызывается. Он в модуле объекта, а не формы...
Но если в него приходит обращение не из интерактивной записи документа, а из обработки, то там не видно движений документа и, соответственно, нифига не делается.
Я потерялся совсем ((
26 Мультук
 
23.06.23
18:22
(25)

Главное держись! Никому не показывай свой код!
27 rozer76
 
23.06.23
19:09
(25) если что ПриЗаписи() будет перед ОбработкойПроведения
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.