Имя: Пароль:
1C
1С v8
УТ 11 Как записать дополнительный реквизит в номенклатуру
,
0 Mr_Mihail
 
28.12.12
10:43
Подскажите как правильно записать свойство в номенклатуру (пример кода).
Есть номенклатура, у неё добавлен доп. реквизит типа число. нужно программно заполнить значение.
предыдущие ветки смотрел - решения не подходят, регистра сведений ЗначенияСвойствОбъектов больше нет.
1 Avalone2010
 
28.12.12
10:48
Смотри в табличную часть номенклатуры.
2 Mr_Mihail
 
28.12.12
11:00
(1)
Запись = Справочники.Номенклатура.НайтиПоНаименованию(Строка.Номенклатура.Наименование);
Запись = Запись.ПолучитьОбъект();
СтрокаДоп = Запись.ДополнительныеРеквизиты.Добавить();
СтрокаДоп.Свойство = МинОстаток;
СтрокаДоп.Значение = Строка.МинОстаток;

Пробую так. Что то записывает, но свойство не меняется.
3 Mr_Mihail
 
28.12.12
11:01
МинОстаток - это свойство которое я выбираю с формы.
Строка.МинОстаток - это нужное мне число.
4 viramen
 
28.12.12
11:04
Если значение свойства уже есть в ТЧ - надо его заменить, если нет - добавить
5 viramen
 
28.12.12
11:08
И посмотрите в сторону товарных ограничений там есть минимальный и максимальный остаток.
6 Klesk
 
28.12.12
11:11
// Записывает дополнительные реквизиты и сведения владельцу свойств.
// Изменения происходят в транзакции.
//
// Параметры:
//  ВладелецСвойств         - Ссылка или Объект владельца свойств.
//  ТаблицаСвойствИЗначений - ТаблицаЗначений - с колонками:
//                              Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.
//                              Значение - любое значение, допустимое для свойства.
//
Процедура ЗаписатьСвойстваУОбъекта(ВладелецСвойств, ТаблицаСвойствИЗначений) Экспорт
7 Klesk
 
28.12.12
11:12
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ТекНом.Ссылка, ТЗ)
8 Mr_Mihail
 
28.12.12
11:12
(5) этот мин макс пока не походит. потом его возможно будут использовать
9 Жан Пердежон
 
28.12.12
11:15
(0) в УТ 11 разделили доп.свойства на доп.реквизиты и доп.сведения.
доп.реквизиты хранятся в тч "ДополнительныеРеквизиты" объекта
доп.сведения - в рс "ДополнительныеСведения"
10 Mr_Mihail
 
28.12.12
11:40
(7) Получилось! Спасибо за процедуру. Всем спасибо за помощь!

Результат:

ТабЗнач = Новый ТаблицаЗначений;
           
ТабЗнач.Колонки.Добавить("Свойство");
ТабЗнач.Колонки.Добавить("Значение");

Для Каждого Строка Из Товары Цикл

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