|
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) а, понял
СпрНаб = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьЭлемент();
//создаем набор
СпрНаб.Записать();
ЛСпрСсылка = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Пеналы");
лСпр=лСпрСсылка.ПолучитьОбъект();
ЛСпр.НаборСвойств = СпрНаб.Ссылка;
лСпр.Записать();
|
|