Имеем предварительно заполненную Таблицу значений (ТаблицаДокумента). В таблице Колонка с индексом 0 - Артикул Номенклатуры. Остальные колонки - Дополнительные реквизиты справочника Вид Номенклатуры.
Необходимо по Артикулу найти Элемент справочника Номенклатура и заполнить все имеющиеся Дополнительные реквизиты. Доп Рекизиты для Номенклатуры определенны в спр. Вид номенклатуры.
Для записи воспользуемся предопределенной процедурой в конфигурации УТ, УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Элемент, Таблица). При вызове данной процедуры необходимо передать в нее параметры: Элемент.Ссылка а так же Наименование Доп Реквизита и собственно значение которое необходимо записать. Наименование Доп Реквизита имеет вид: "НаименованиеРеквизита (НаименованиеЭлементаВидаНоменлатуры)".
Процедура ЗаписатьНоменклатуру(ТаблицаДокумента) //Создаем таблицу для передачи параметров в процедуру записи Таблица = Новый ТаблицаЗначений; Таблица.Колонки.Добавить("Свойство"); Таблица.Колонки.Добавить("Значение"); Таблица.Очистить(); //Обрабатываем таблицу значений файла данных Для Каждого Стр ИЗ ТаблицаДокумента Цикл Элемент = ""; Артикул = Стр.Артикул; Если Не СокрЛП(Артикул) = "" Тогда Элемент = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул); Иначе Продолжить; КонецЕсли; //Обходим колонки таблицы (Дополнительные реквизиты 1С ВидНоменклатуры) Для Колонка = 1 По ТаблицаДокумента.Колонки.Количество()-1 Цикл Реквизит = ТаблицаДокумента.Колонки[Колонка].Имя; ПланыВидов = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("" + Реквизит + " (" + Элемент.ВидНоменклатуры + ")"); Если Не СокрЛП(ПланыВидов) = "" Тогда Строка = Таблица.Добавить(); Строка.Свойство = ПланыВидов; Строка.Значение = Стр[Колонка]; //Записываем Номенклатура, Доп_Реквизит(Имя) Доп_Реквизит(Значение) УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Элемент, Таблица); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры