Набор записей не всегда записывается (рег. Накопления)

1. Fe9_min 50 21.09.20 21:30 Сейчас в теме
День добрый!
Платформа 8.3.16.1063.
Конфигурации: БП Проф 3.0.79.21 и УХ (управление холдингом) 3.0.11.1.

Есть самописный регистр накопления ФК_Замена, остаточный.
Есть подписка на событие в результате которой получаются записи регистра ФК_Замена:
Источник: РегистрБухгалтерииНаборЗаписей.Хозрасчетный
Событие: ПриЗаписи

По подписке запросом получаю правильные данные, далее помещаю из в набор записей. Код ниже.
...
Выгрузка	= РезультатЗапроса.Выгрузить();
	
НаборЗаписейНакопл = РегистрыНакопления.ФК_Замена.СоздатьНаборЗаписей();
НаборЗаписейНакопл.Отбор.Регистратор.Установить(Регистратор);
НаборЗаписейНакопл.Прочитать();
НаборЗаписейНакопл.Очистить(); // всё что мог - написал
НаборЗаписейНакопл.Загрузить(Выгрузка);
		
НаборЗаписейНакопл.Записать();
Показать

Представленный код работает правильно и заполняет набор как надо, при записи набора ошибки нет, но по итогу, после завершения проведения документа, получается по разному:
В базе БП код работает корректно всегда. В базе УХ картина такая:

1. При первом проведение документа (например, Поступление на РС) в регистр накопления попадает запись;
2. При следующем перепроведение записи в регистре накопления нет;
3. При следующем перепроведение запись в регистре накопления появляется;
4. При следующем перепроведение записи в регистре накопления нет;
5. При следующем перепроведение запись в регистре накопления появляется;
... и так далее.

Вопрос: Из-за чего могут быть такие горки? Прошу не спрашивать, для чего нужен этот код в таком месте. Он есть и обязан работать. Интересует, почему запись то записывается, то не записывается. Может быть какие-то настройки, константы? Права полнейшие.
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
5. Fe9_min 50 22.09.20 10:10 Сейчас в теме +0.5 $m
(4)
что у документов разные свойства "Удаления движений"

Одинаковые свойства. По подпискам отладкой и через замер производительности ходил - ничего наводящего на полноценный ответ.

Однако про "Удаления движений". Помогло вот что:
В конце обработки проведения всех документов, которые являются регистратором моего регистра накопления, если обращение к общему модулю ПроведениеСервер.УстановитьЗаписьОчищаемыхНаборовЗаписей(Объект).
Там есть следующий код:
Для Каждого ПроверяемыйРегистр Из РегистрыТребующиеОчистки.ПроверяемыеРегистры Цикл
	Объект.Движения[ПроверяемыйРегистр.ИмяРегистра].Записывать = Истина;
КонецЦикла;

При перепроведение и в БП, и в УХ мой регистр получает булево Записывать = Истина, однако в БП запись есть (повторяется после удаления), а в УХ удаляется с концами. Временное решение сейчас написал:
Для Каждого ПроверяемыйРегистр Из РегистрыТребующиеОчистки.ПроверяемыеРегистры Цикл
	//
	Если НЕ ПроверяемыйРегистр.ИмяРегистра = "ФК_Замена" Тогда
	//
		Объект.Движения[ПроверяемыйРегистр.ИмяРегистра].Записывать = Истина;
	//
	КонецЕсли;
	//
КонецЦикла;
Показать


таким образом, при повторных перепроведениях записывается всё ок, при отмене проведения запись удаляется, в общем - всё чики бамбони.
Но не ясно до конца такая разница БП и УХ, с учётом, что на скринах видно, что свойства документов одинаковы. Есть какие-то настройки, о которых мне не известно.
Прикрепленные файлы:
MikhailDr; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 21.09.20 21:44 Сейчас в теме
ну например результат запроса зависит от записанного в регистр. Когда в регистре что-то есть, запрос возвращает пустой набор данных и наоборот.
Вообще тут бы отладчиком воспользоваться, было бы понятнее. Гадать можно не перегадать.
6. Fe9_min 50 22.09.20 10:12 Сейчас в теме
(2) Отладка полноценного ответа не дала, только топорное решение. Ответ ниже (4)
3. FatPanzer 21.09.20 22:02 Сейчас в теме
А в УХ случайно не отложенная запись проводок в хозрасчетный регистр?
И надо бы посмотреть все подписки - может есть подписка, где источником являются все регистры...
7. Fe9_min 50 22.09.20 10:13 Сейчас в теме
(3) Отложенного проведения нет, настройки аналогичны в БП и в УХ. По подпискам отладкой и через замер производительности ходил - ничего наводящего на полноценный ответ, только временное решение (код ниже).
4. BackinSoda 21.09.20 22:40 Сейчас в теме
Такое под отладчиком решается.. Хотя бы текст процедуры обработка проведения сюда в виде спойлера.
Может в модуле набора записи этого РН есть условие, может есть подписка.
Чувствую, ошибка по типу "используется ссылка на док, вместо объекта"

или вместо нужного "момента времени" передается дата документа
а различия в поведении разных конфигураций могут быть потому, что у документов разные свойства "Удаления движений"
5. Fe9_min 50 22.09.20 10:10 Сейчас в теме +0.5 $m
(4)
что у документов разные свойства "Удаления движений"

Одинаковые свойства. По подпискам отладкой и через замер производительности ходил - ничего наводящего на полноценный ответ.

Однако про "Удаления движений". Помогло вот что:
В конце обработки проведения всех документов, которые являются регистратором моего регистра накопления, если обращение к общему модулю ПроведениеСервер.УстановитьЗаписьОчищаемыхНаборовЗаписей(Объект).
Там есть следующий код:
Для Каждого ПроверяемыйРегистр Из РегистрыТребующиеОчистки.ПроверяемыеРегистры Цикл
	Объект.Движения[ПроверяемыйРегистр.ИмяРегистра].Записывать = Истина;
КонецЦикла;

При перепроведение и в БП, и в УХ мой регистр получает булево Записывать = Истина, однако в БП запись есть (повторяется после удаления), а в УХ удаляется с концами. Временное решение сейчас написал:
Для Каждого ПроверяемыйРегистр Из РегистрыТребующиеОчистки.ПроверяемыеРегистры Цикл
	//
	Если НЕ ПроверяемыйРегистр.ИмяРегистра = "ФК_Замена" Тогда
	//
		Объект.Движения[ПроверяемыйРегистр.ИмяРегистра].Записывать = Истина;
	//
	КонецЕсли;
	//
КонецЦикла;
Показать


таким образом, при повторных перепроведениях записывается всё ок, при отмене проведения запись удаляется, в общем - всё чики бамбони.
Но не ясно до конца такая разница БП и УХ, с учётом, что на скринах видно, что свойства документов одинаковы. Есть какие-то настройки, о которых мне не известно.
Прикрепленные файлы:
MikhailDr; +1 Ответить
Оставьте свое сообщение

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