Вход | Регистрация

1С:Предприятие ::

Метки: 

11.3 программное создание доп реквизитов.

Я
   leoshko84
 
25.10.17 - 09:16
Необходимо создать программно доп реквизиты. Общие к номенклатуре создаем так:
КЧ = Новый КвалификаторыЧисла(12,2);
Массив = Новый Массив;
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ТЧ=Новый ОписаниеТипов(Массив,КЧ);
лОб=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
лОб.Наименование="проба";
лОб.Заголовок="проба";
лОб.НаборСвойств =  Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие;
лОб.ТипЗначения = ТЧ;
лОб.Записать();

лСпр=Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие.ПолучитьОбъект();
стр=лСпр.ДополнительныеРеквизиты.Добавить();
стр.Свойство=лОб.Ссылка;
лСпр.Записать();

Необходимо создать к элементу спр. ВидыНоменклатуры. 
в спр. ВидыНоменклатуры элемент "Пеналы". Вот к нему надо создать доп реквизиты

Делаю так:

КЧ = Новый КвалификаторыЧисла(12,2);
Массив = Новый Массив;
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ТЧ=Новый ОписаниеТипов(Массив,КЧ);
лОб=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
лОб.Наименование="проба2";
лОб.Заголовок="проба2";
лОб.НаборСвойств =  Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_ВидыНоменклатуры;
лОб.ТипЗначения = ТЧ;
лОб.Записать();
лСпр=Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_ВидыНоменклатуры.ПолучитьОбъект();
стр=лСпр.ДополнительныеРеквизиты.Добавить();
стр.Свойство=лОб.Ссылка;
лСпр.Записать();

Как создать к элементу?
 
 
   h-sp
 
1 - 25.10.17 - 09:27
ЛСпрСсылка = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Пеналы");
лСпр=лСпрСсылка.ПолучитьОбъект();
стр=лСпр.ДополнительныеРеквизиты.Добавить();
стр.Свойство=лОб.Ссылка;
лСпр.Записать();
   leoshko84
 
2 - 25.10.17 - 09:40
поле объекта ДополнительныеРеквизиты -не обнаружено
   leoshko84
 
3 - 25.10.17 - 09:44
Этот элемент спр. ВидыНоменклатуры  еще предстоит записать в Справочники.НаборыДополнительныхРеквизитовИСведений
   breezee
 
4 - 25.10.17 - 09:56
(0) Массив = Новый Массив;
Массив.Очистить();
Подскажи, зачем эта чудная конструкция?
   leoshko84
 
5 - 25.10.17 - 10:02
Сижу вдупляю. А действительно. :-)
   Сияющий в темноте
 
6 - 25.10.17 - 10:12
зачем чистить пустой массив?
в некоторых языках массив создаётся непустой
но в данном случае,это лишнее
   leoshko84
 
7 - 25.10.17 - 10:15
Согласен, коллеги. Мне нужен был тип булево. С этим разобрался. Вот для вида номенклатуры записать доп реквизит-вот вопрос...
   h-sp
 
8 - 25.10.17 - 10:20
(7) а, понял

СпрНаб = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьЭлемент();

//создаем набор


СпрНаб.Записать();

ЛСпрСсылка = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Пеналы");
лСпр=лСпрСсылка.ПолучитьОбъект();
ЛСпр.НаборСвойств = СпрНаб.Ссылка;
лСпр.Записать();


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует