1С:Предприятие 8
Система программ

Как добавить записи в независимый регистр сведений?

20.06.2012

Для добавления отдельной записи в регистр сведений, не подчиненный регистратору, можно использовать объект РегистрСведенийМенеджерЗаписи.<имя>.

Например, для того, чтобы в независимый регистр сведений ЗначенияСвойствОбъектов с измерениями ОбъектСвойство и ресурсом Значение добавить одну запись, содержащую значение некоторого свойства выбранной номенклатуры, можно использовать следующий код:

МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); 
МенеджерЗаписи.Объект   = ПолеВводаНоменклатура; 
МенеджерЗаписи.Свойство = ПолеВводаСвойствоНоменклатуры; 
МенеджерЗаписи.Значение = ПолеВводаЗначениеСвойства; 
МенеджерЗаписи.Записать(); 

В результате выполнения этого кода новая запись будет добавлена в регистр, или, если регистр уже содержит запись с выбранными значениями измерений Объект и Свойство, - существующая запись будет заменена новой.

Если требуется добавить несколько записей в регистр сведений, можно использовать объектРегистрСведенийНаборЗаписей.<имя>.

Например, для того, чтобы в тот же самый регистр сведений ЗначенияСвойствОбъектов добавить несколько записей о значениях различных свойств выбранной номенклатуры, можно использовать следующий код (предполагается, что свойства и соответствующие им значения находятся в таблице значений ТаблицаСвойств, сформированной заранее):

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

В результате выполнения этого кода новые записи будут добавлены в регистр, или, если регистр уже содержит записи с указанным значением измерения Объект (по которому установлен отбор в наборе записей), - существующие записи будут заменены новыми.