Есть непериодический регистр сведений 5 измерений, 4 ресурса, 1 реквизит.
Две задачи:
— Отобрать записи по 1 измерению и обнулить 2 ресурса.
— Найти запись по значениям 4 измерений. Если найдена — перезаписать. Если нет — создать новую запись.
Сделаем через Набор > ТаблицаЗначений
1 2 3 4 |
Набор = РегистрыСведений.Рег.СоздатьНаборЗаписей(); Набор.Отбор.Измерение0.Установить(ТекИзмерение0); Набор.Прочитать(); ТЗ = Набор.Выгрузить(); |
Дальше работаем с Таблицей Значений. Обнуляем 2 ресурса:
1 |
ТЗ.ЗаполнитьЗначения("", "Ресурс0, Ресурс1"); |
Поиск, перезапись, добавление записей в непериодический регистр сведений в 1С
1 2 3 4 5 6 7 8 9 10 11 |
Отбор = Новый Структура(); Отбор.Вставить("Измерение0", ТекИзмерение0); Отбор.Вставить("Измерение1", ТекИзмерение1); Отбор.Вставить("Измерение2", ТекИзмерение2); Отбор.Вставить("Измерение3", ТекИзмерение3); Строки = ТЗ.НайтиСтроки(Отбор); Если Строки.Количество() > 0 Тогда // перезапись строки ТЗ Иначе // добавление строки в ТЗ КонецЕсли; |
Теперь необходимо записать изменения в регистр сведений:
1 2 |
Набор.Загрузить(ТЗ); Набор.Записать(); |