Программно записать значение свойства справочника номенклатура

1. JuliyaVik 30 22.03.12 11:46 Сейчас в теме
Подскажите пожалуйста, как программно записать значение свойства справочника номенклатура?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. NadinBel 22.03.12 11:52 Сейчас в теме
Например:

Эл=Справочники.Номенклатура.НайтиПоКоду("НомерКода").ПолучитьОбъект();
Эл.Свойство=ВашеЗначение;
Эл.Записать();
+
3. Поручик 4674 22.03.12 11:56 Сейчас в теме
(2) Это вы записываете реквизит справочника, свойство это другое понятие.

(1) Так всё-таки свойство или реквизит справочника. Это две разницы в терминах 1С.
+
4. Cerberdm 42 22.03.12 12:08 Сейчас в теме
			СтруктураСвойства = Новый Структура;
			СтруктураСвойства.Вставить("Свойство",ИмяСвойства);
			СтруктураСвойства.Вставить("Значение",ЗначениеСвойства);
			ЗаписатьЗначенияСвойствА(Элем,СтруктураСвойства);


Функция ЗаписатьЗначенияСвойствА(Объект,СтруктураСвойства)	
	НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
	Если ЗначениеЗаполнено(СтруктураСвойства.Значение) Тогда
		Запись = НаборЗаписейЗначенияСвойств.Добавить();
		Запись.Объект   = Объект.Ссылка;
		Свойство=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(СтруктураСвойства.Свойство);
		Запись.Свойство = Свойство.Ссылка;
		Запись.Значение = СтруктураСвойства.Значение;
	КонецЕсли;
	
	НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(Объект.Ссылка);
	НаборЗаписейЗначенияСвойств.Отбор.Свойство.Установить(Свойство); //.Ссылка
	Попытка
		НаборЗаписейЗначенияСвойств.Записать();
	Исключение
			Предупреждение("Не удалось записать значения свойств:" + Символы.ПС + ОписаниеОшибки());
		Возврат Ложь;
	КонецПопытки;
	Возврат Истина;	
КонецФункции
Показать
+
5. Cerberdm 42 22.03.12 12:10 Сейчас в теме
в БП 2.0 так делаю.
+
6. Поручик 4674 22.03.12 12:39 Сейчас в теме
      Запись.Свойство = Свойство.Ссылка;

А это для на зачем? НайтиПоНаименованию() и без того возвращает ссылочный тип.
arakelyan; Cerberdm; +2
7. JuliyaVik 30 23.03.12 09:52 Сейчас в теме
все сделала)

ВидСвойства = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ИмяСвойства);
Запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Запись.Прочитать();
Запись.Объект = Номенклатура;
Запись.Свойство = ВидСвойства;
Запись.Значение = ExcelЛист.Cells(Row, сч).Value;
Запись.Записать();
shalupov61; RomanKatPro; BoryaMbi; peace1984; Enziger; svilsa; ekomova; ankr; artik1994; pkp75; dikd; Daniayr; 1Cynep4eJIoBek; Korney_G; happyden; Tatiana_IV; Cerberdm; +17
8. Гость 28.05.18 00:15 Сейчас в теме
Здравствуйте!
Имеется внешняя обработка, которая программно записывает Назначение в свойства Тип значений: Строка и само свойство номенклатуры.
Скрин 01
А нужно чтоб обработка записывала Значение в свойство Тип значений: Значения свойств объектов и само свойства номенклатуры.
Скрин 02
Прошу подсказать как исправить код или сам код
С уважением

Сам код
Процедура ПутьКФайлуНачалоВыбора(Элемент, СтандартнаяОбработка)
	
	ДВФ = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
	ДВФ.Фильтр = "*.xls";
	
	Если ДВФ.Выбрать() Тогда
		
		ПутьКФайлу = ДВФ.ПолноеИмяФайла;
		
	КонецЕсли; 
	 
КонецПроцедуры

Функция НайтиСоздатьСвойство(Наименование)
	
	Запрос = Новый Запрос();
	Запрос.УстановитьПараметр("Наименование", Лев(Наименование, 50));
	Запрос.УстановитьПараметр("НазначениеСвойства", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	СвойстваОбъектов.Ссылка
	|ИЗ
	|	ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
	|ГДЕ
	|	СвойстваОбъектов.НазначениеСвойства = &НазначениеСвойства
	|	И СвойстваОбъектов.Наименование = &Наименование";
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Следующий() Тогда
		
		обЭлемент = Выборка.Ссылка.ПолучитьОбъект();
		обЭлемент.ТипЗначения = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(50));
		обЭлемент.Записать();
		Возврат обЭлемент.Ссылка;
		
	Иначе
		
		обЭлемент = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
		обЭлемент.Наименование = Наименование;
		обЭлемент.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
		обЭлемент.ТипЗначения = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(50));
		обЭлемент.Записать();
		
		Возврат обЭлемент.Ссылка;
		
	КонецЕсли; 
	
КонецФункции 

Функция НайтиСоздатьНоменклатуру333(Наименование, Артикул)
Показать

(7)
(7)
Прикрепленные файлы:
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот