|
|
УТ 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) Получилось! Спасибо за процедуру. Всем спасибо за помощь!
Результат:
ТабЗнач = Новый ТаблицаЗначений;
ТабЗнач.Колонки.Добавить("Свойство");
ТабЗнач.Колонки.Добавить("Значение");
Для Каждого Строка Из Товары Цикл
Если ЗначениеЗаполнено(Строка.Номенклатура) Тогда
НоваяСтрока = ТабЗнач.Добавить();
НоваяСтрока.Свойство = МинОстаток;
НоваяСтрока.Значение = Строка.МинОстаток;
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Строка.Номенклатура.Ссылка, ТабЗнач);
ТабЗнач.Очистить();
НоваяСтрока = ТабЗнач.Добавить();
НоваяСтрока.Свойство = МаксОстаток;
НоваяСтрока.Значение = Строка.МаксОстаток;
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Строка.Номенклатура.Ссылка, ТабЗнач);
ТабЗнач.Очистить();
КонецЕсли;
КонецЦикла;
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший