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