Есть БП 3.0.52.39.
Есть несколько документов начисления зарплаты, и они НЕпроведены. Изначально записей в регистр накопления "Учет доходов для исчисления НДФЛ" (СведенияОДоходахНДФЛ) нет.
Есть обработка, которая обрабатывает эти документы. Нигде в обработке проведения этих документов нет. Но после работы обработки в регистре накопления появляются записи. И определить регистратор записей невозможно - пишет "Объект не найден".
Хочется знать как можно определить место, когда эти записи появляются.
---
записи в регистр попадают (скорее всего) с этой точки: "РасчетЗарплатыБазовый.ЗаполнитьНДФЛиВзносы(ОбъектДок, Истина, Истина);"
Там идет удаление записей и новое формирование.
---
Есть обработка, которая обрабатывает эти документы. Нигде в обработке проведения этих документов нет.
что имелось ввиду? У обработки нет обработчика ОбработкаПроведения.
---
Нет ни "ОбработкиПроведения", ни "Записать(РежимЗаписиДокумента.Проведение)".
---
А у вас зарплата в БП считается, или в ЗУП?
---
Зарплата считается в БП.
---
И определить регистратор записей невозможно - пишет "Объект не найден"
А сами документы становятся проведенными? Похоже что нет.
А в обработке просто делается прямая запись в регистр.
---
Если бы делалась прямая запись, то хотя бы имя регистра где-то фигурировало в обработке. А его нет.
---
И если регистр подчинен регистратору, то без регистратора можно сделать запись регистра ?
---
можно сделать без записанного документа.
Вот как пример:

ДокПоступления = Документы.ПоступлениеТоваровУслуг.ПолучитьСсылку();
НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ДокПоступления.Ссылка);
ЗаписьВНабор = НаборЗаписей.Добавить();
ЗаписьВНабор.Период = ТекущаяДата();
ЗаписьВНабор.Количество = 10000;
ЗаписьВНабор.ВидДвижения = ВидДвиженияНакопления.Приход;
НаборЗаписей.Записать();
---
Но чего-нибудь подобного в обработке нет.
История была следующая. Сделан перенос данных из 7.7 в БП 3.0. Начисление зарплаты перенеслось криво. Для правки сделал обработку. Обработка работала хорошо, но захотелось вставить индикатор для отслеживания работы обработки. Так вот эта обработка с индикатором стала писать "левые" записи в регистр.
---
не видя обработку, можно только гадать.
---
Вот эти обработки
---
записи в регистр попадают (скорее всего) с этой точки: "РасчетЗарплатыБазовый.ЗаполнитьНДФЛиВзносы(ОбъектДок, Истина, Истина);"
Там идет удаление записей и новое формирование.
---
"РасчетЗарплатыБазовый.ЗаполнитьНДФЛиВзносы(ОбъектДок, Истина, Истина);" Но это есть в обеих обработках.
Надо внимательнее рассмотреть этот кусок. Я подумал, что можно было бы в отладчике вычислять количество записей в регистре. Но как для этого записать выражение для отладчика ?
---
Значит, в этой обработке и происходит запись. Проще всего посмотреть отладчиком.
---
Отладчиком смотрел, но ничего не нашел :(
---
Поискать по названию регистра, например.
---
И название регистра искал. И не нашел. Но если документ не проводится, то и в регистр ничего писаться не должно. Я прав ?
---
Но если документ не проводится, то и в регистр ничего писаться не должно. Я прав ?
Нет.
---
А как удалять такую запись из регистра ? Писать специальную обработку ?
---
подписка на проведение документа?
---
А что там искать? Конфигурация типовая, с поддержки не снята.