Добрый день, нужно в регистре менять дату на начало месяца.
написал запрос, а обойти строки не получается. Помогите написать цикл, буду очень благодарен
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДатыЗапретаИзменения.Пользователь КАК Пользователь,
| ДатыЗапретаИзменения.ДатаЗапрета КАК ДатаЗапрета
|ИЗ
| РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения";
ТЗ = Запрос.Выполнить().Выгрузить();
ДЛя Каждого Стр Из ТЗ.Колонки цикл
ОбъектБД = Стр.Ссылка.ПолучитьОбъект();
ОбъектБД.ДатаЗапрета = ДатаЗапретаНовая;
ОбъектБД.Записать();
ОбъектБД.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
(0) есть как минимум 2 варианта
1) Через Набор:
Набор=РегистрСведений.ДатыЗапретаИзменения.СоздатьНабор();
Устанавливаете отбор какой нужен, читаете строки и правите как надо. После записываете набор. Можно загрузить готовую таблицу в набор.
2) Через менеджер записи:
Менеджер=РегистрСведений.ДатыЗапретаИзменения.СоздатьМенеджерЗаписи();
Заполняете все поля менеджера и записываете - если такая строчка с такой же связкой измерений была, то просто перезапишутся ресурсы, иначе запишется новая строка в регистр.
Пока Выборка.Следующий() Цикл
НаборЗаписей = РегистрыСведений.ДатыЗапретаИзменения.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Объект.ДатаЗапрета;
НаборЗаписей.Прочитать();
Для каждого Запись Из НаборЗаписей Цикл
Запись.ДатаЗапрета = ДатаЗапретаНовая;
КонецЦикла;
НаборЗаписей.Записать();
КонецЦикла;
что-то типа этого?
НаборЗаписей = РегистрыСведений.ДатыЗапретаИзменения.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Запись.ДатаЗапрета = ДатаЗапретаНовая;
КонецЦикла;
НаборЗаписей.Записать();