Определить отмену проведения (пометку удаления) в подписке "ПриЗаписи" РН

1. Dima_ 150 13.08.21 05:13 Сейчас в теме
Как определить отмену проведения в подписке "ПриЗаписи" РН?

При проведении документа (даже если он не был проведён) подписка срабатывает два раза:
1. удаление движений - Источник.Записывать = Ложь
2. создание движений - Источник.Записывать = Истина
в обоих случаях Источник.Отбор.Регистратор.Значение.Проведен=Истина

При отмене проведения (пометки на удаление) документа подписка срабатывает один раз:
удаление движений - Источник.Записывать = Ложь
Источник.Отбор.Регистратор.Значение.Проведен=Истина (непонятно почему "Истина")

Есть ли способ определить отмену проведения (пометку удаления) в подписке?

1С:Предприятие 8.3 (8.3.18.1289)
По теме из базы знаний
Найденные решения
3. Octopus 338 13.08.21 09:47 Сейчас в теме
В подписке на регистр накопления не выйдет, т.к. сначала записи удаляются, а потом то ли пишутся, то ли нет. В момент удаления прованговать нельзя. Делайте по классике - через подписку на регистратор или в модуле объекта, в ПередЗаписью сравнивайте Ссылка.ПометкаУдаления и ЭтотОбъект.ПометкаУдаления
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alxarz 32 13.08.21 08:35 Сейчас в теме
(1) проверить свойство пометка удаления у Источник.Отбор.Регистратор ?
3. Octopus 338 13.08.21 09:47 Сейчас в теме
В подписке на регистр накопления не выйдет, т.к. сначала записи удаляются, а потом то ли пишутся, то ли нет. В момент удаления прованговать нельзя. Делайте по классике - через подписку на регистратор или в модуле объекта, в ПередЗаписью сравнивайте Ссылка.ПометкаУдаления и ЭтотОбъект.ПометкаУдаления
5. Dima_ 150 17.08.21 05:58 Сейчас в теме
(4) В процедуре обработчика подписки на событие "ПриЗаписи" для РН только три параметра:
(Источник, Отказ, Замещение)
Параметра "РежимЗаписи" нет...

"Источник" не имеет параметра "ПометкаУдаления"

При любых действиях (проведение; отмена проведения; пометка на удаление) значения
"Источник.Отбор.Регистратор.Значение.Проведен=Истина"
"Источник.Отбор.Регистратор.Значение.ПометкаУдаления=Ложь"


(3) спасибо!
Прикрепленные файлы:
6. Octopus 338 20.08.21 09:45 Сейчас в теме
(5) Я говорил о подписке на сам документ-регистратор, а не регистр накопления
4. Rotkiv_Vik 1 13.08.21 21:55 Сейчас в теме
Этот код решит твою задачу
Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения ИЛИ Источник.ПометкаУдаления И НЕ Источник.ОбменДанными.Загрузка Тогда
	//Твой Код при отмене или удалении
КонецЕсли;
7. dotsu_dmitry 05.11.23 18:42 Сейчас в теме
В целом это легко реализовать через передачу

ЭтотОбъект.Движения."ИМЯРЕГИСТРА".ДополнительныеСвойства.Вставить("РежимЗаписи",РежимЗаписи);

в процедуре "ПередЗаписью" модуля объекта документа регистратора.

Далее уже на общем модуле по подписке на события данный параметр вы извлечете и обработаете у источника в дополнительных свойствах.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот