Имя: Пароль:
1C
1С v8
помогите создать доп Реквизит програмно ут 11
0 rchervak
 
16.08.13
11:58
Ут 11 - запущена в обычном режиме.

Пытаюсь добавить доп реквизит в Новую номенклатуру, которую создаю програмно.


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

НоваяСтрока = ТабЗнач.Добавить();
НоваяСтрока.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Размер");
НоваяСтрока.Значение = и1.Размер;


// Записывает дополнительные реквизиты и сведения владельцу свойств.
// Изменения происходят в транзакции.
//
// Параметры:
//  ВладелецСвойств         - Ссылка или Объект владельца свойств.
//  ТаблицаСвойствИЗначений - ТаблицаЗначений - с колонками:
//                              Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения.
//                              Значение - любое значение, допустимое для свойства.
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(НоваяНоменклатура.ссылка, ТабЗнач);  

Вроде бы все правильно сделал. Но в итоге - номенклатура без Реквизитов.

куда копать?
1 Mitriy
 
16.08.13
12:00
новую номенклатуру записывать пробовал?
2 rchervak
 
16.08.13
12:01
При создании записал.

УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(НоваяНоменклатура.ссылка, ТабЗнач);  разве ее не перезаписывает?
3 zbv
 
16.08.13
12:03
(2) посмотри отладчиком, что у тебя тут:
НоваяНоменклатура.ссылка
4 rchervak
 
16.08.13
12:05
(3) Номенклатура - тип СправочникСсылка.Номенклатура
5 rchervak
 
16.08.13
12:08
Создание номенклатуры:

    Для Каждого и1 из КПБ Цикл
        
    НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();    
    
    НоваяНоменклатура.Артикул          = и1.артикул;
    
    НоваяНоменклатура.ВидНоменклатуры  = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(и1.ВидНоменклатуры);
    
    НоваяНоменклатура.ЕдиницаИзмерения  = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(и1.ЕдиницаИзмерения);
    
    НоваяНоменклатура.Наименование        = и1.НаименованиеПолное;
    НоваяНоменклатура.НаименованиеПолное  = и1.Наименование;
    НоваяНоменклатура.Описание           = и1.Описание;
    
    НоваяНоменклатура.Производитель     =  Справочники.Производители.НайтиПоНаименованию(и1.ТорговаяМарка) ;

    
    НоваяНоменклатура.ВариантОформленияПродажи        =Перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг;
    НоваяНоменклатура.СтавкаНДС                     =Перечисления.СтавкиНДС.БезНДС;
    НоваяНоменклатура.ТипНоменклатуры               =Перечисления.ТипыНоменклатуры.Товар;

    НоваяНоменклатура.Записать();    

......

// потом Добавление доп свойст.

Конеццыкла
6 Defender aka LINN
 
16.08.13
12:10
А какая религия мешает просто в табличную часть строку добавить?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн