занимаюсь совсем недавно, так что может вопрос и простой, но для меня сложный )
ситуация: нужно изменить одно из свойств товара, в часности Основной производитель
есть форма, в которой указывается изменяемое свойство и какое значение ему присваивать, подгрузка списка номенклатуры, у которой нужно изменить указанное свойство, осуществляется из экселевского файла
модуль формы:
Код
Перем ВыборФайла, Exel;
Процедура КнопкаВыполнитьНажатие(Элемент)
Если ВыборФайла.Выбрать() Тогда
Файл = Exel.Workbooks.Open(ВыборФайла.ПолноеИмяФайла);
Табл = Файл.WorkSheets(1);
ЗначенияСвойствОбъектов = РегистрыСведений.ЗначенияСвойствОбъектов;
НаборСвойств = ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
Для СчСтрок = 1 По КоличествоСтрок Цикл
КодТовара = Табл.Cells(СчСтрок, 1).Text;
Товар = Справочники.Номенклатура.НайтиПоНАИМЕНОВАНИЮ(КодТовара).Ссылка;
Если Товар.Пустая() Тогда
Сообщить("Не найден элемент справочника: Код - " + КодТовара + " Наименование - " + Табл.Cells(СчСтрок, 1).Text);
Продолжить;
КонецЕсли;
НовоеСвойство = НаборСвойств.Добавить();
НовоеСвойство.Объект = Товар;
НовоеСвойство.Свойство = Свойство;
НовоеСвойство.Значение = Значение;
КонецЦикла;
НаборСвойств.Записать();
КонецЕсли;
Файл.Close();
Exel.Quit();
КонецПроцедуры
Exel = Новый COMОбъект("Excel.Application",);
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ВыборФайла.МножественныйВыбор = Ложь;
Процедура КнопкаВыполнитьНажатие(Элемент)
Если ВыборФайла.Выбрать() Тогда
Файл = Exel.Workbooks.Open(ВыборФайла.ПолноеИмяФайла);
Табл = Файл.WorkSheets(1);
ЗначенияСвойствОбъектов = РегистрыСведений.ЗначенияСвойствОбъектов;
НаборСвойств = ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
Для СчСтрок = 1 По КоличествоСтрок Цикл
КодТовара = Табл.Cells(СчСтрок, 1).Text;
Товар = Справочники.Номенклатура.НайтиПоНАИМЕНОВАНИЮ(КодТовара).Ссылка;
Если Товар.Пустая() Тогда
Сообщить("Не найден элемент справочника: Код - " + КодТовара + " Наименование - " + Табл.Cells(СчСтрок, 1).Text);
Продолжить;
КонецЕсли;
НовоеСвойство = НаборСвойств.Добавить();
НовоеСвойство.Объект = Товар;
НовоеСвойство.Свойство = Свойство;
НовоеСвойство.Значение = Значение;
КонецЦикла;
НаборСвойств.Записать();
КонецЕсли;
Файл.Close();
Exel.Quit();
КонецПроцедуры
Exel = Новый COMОбъект("Excel.Application",);
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ВыборФайла.МножественныйВыбор = Ложь;
проблема в том, что фактически создается новый РегистрыСведений.ЗначенияСвойствОбъектов, затирая уже имеющийся, а мне же надо, чтобы он добавлял запись, если таковой не присутствует, либо изменял уже существующую, меняя в ней свойство...третий день сижу, зарывшись в пособия разработчика 1С )...поможите плз )