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