привет. есть такая задача. при записи элемента справочника нужно добавить записи в независимую периодическую регистру. и при удалении очистить записи. написал такой код. хочу спросить, правильно ли сделал или есть другой какое то более оптимальный вариант?
Процедура ПриЗаписи(Отказ)
Если Ссылка.ПометкаУдаления Тогда
Для Каждого стр Из Список Цикл
НаборЗаписей = РегистрыСведений.СурвГрафикиРаботы.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ГрафикРаботы.Установить(Ссылка);
НаборЗаписей.Отбор.Дата.Установить(стр.Дата);
НаборЗаписей.Записать();
КонецЦикла;
Иначе
Для Каждого стр Из Список Цикл
НаборЗаписей = РегистрыСведений.СурвГрафикиРаботы.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ГрафикРаботы.Установить(Ссылка);
НаборЗаписей.Отбор.Дата.Установить(стр.Дата);
НовЗапись = НаборЗаписей.Добавить();
НовЗапись.Период = НачалоМесяца(Период);
НовЗапись.Дата = стр.Дата;
НовЗапись.ГрафикРаботы = Ссылка;
НовЗапись.ВремяВхода = стр.ВремяВхода;
НовЗапись.ВремяВыхода = стр.ВремяВыхода;
НовЗапись.СтавкаЗарплаты = стр.СтавкаЗарплаты;
НовЗапись.ТипДняПоРаботе = стр.ТипДняПоРаботе;
НаборЗаписей.Записать();
КонецЦикла;
КонецЕсли;
не касаясь кода, с записью набора записей в цикле .. вообще с независимы регистрами сведений надо работать только понимая где ты с ним закончишь работать и все ле будет хорошо
т.е. минимальная ошибка в использовании независимого регистра или возвращение к нему в будущем с другими задачами может все очень усложнить.
Ну и да, все что существует само по себе может в какой то момент отдельно быть отредактировано и это вызовет ошибки .. но опять таки если кто то куда то полезет, удалит и т.п.
(5) Тем более. Регистр тоже можно заполнять автоматически. Зачем дублировать одинаковые данные в двух местах. Рано или поздно они разойдутся и начнутся проблемы.