|
Программное заполнение дополнительных реквизитов справочника
| ☑ |
0
Qwerty18
15.04.20
✎
00:07
|
Добрый вечер. Не получается присвоить значение доп.реквизиту элемента справочника.
На форме элемента справочника есть (нетиповой) реквизит типа булево "ТолькоПКО", нужно чтобы значение данного реквизита клонировалось в доп.реквизит на форме того же самого элемента справочника но уже в доп. реквизит с идентичным же типом и названием. (цель - убрать все нетиповые доработки).
Пытался присвоить в цикле - не получается
&НаСервере
Процедура ВыполнитьОперациюНаСервере()
Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
СсылкаНаЭлемент = Выборка.Ссылка;
ИмяЭлемента = Выборка.Наименование;
Если СсылкаНаЭлемент.ТолькоПКО = Истина Тогда
Значение = ПолучитьЗначениеДопРеквизита(СсылкаНаЭлемент,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ТолькоПКО"));
КонецЕсли
КонецЦикла;
КонецПроцедуры
|
|
1
zladenuw
15.04.20
✎
01:18
|
а может не на клиенте надо пробовать ? а ? для приличия.
|
|
2
zladenuw
15.04.20
✎
01:19
|
(1) сорян...
|
|
3
zladenuw
15.04.20
✎
01:21
|
реабилитация.
|
|
4
zladenuw
15.04.20
✎
01:21
|
что такое Значение. и куда его пишем или что с ним делаем?
|
|
5
Qwerty18
15.04.20
✎
20:06
|
Разобрался. Вот решение:
&НаСервере
Процедура ВыполнитьОперациюНаСервере()
Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
СсылкаНаЭлемент = Выборка.Ссылка;
ИмяЭлемента = Выборка.Наименование;
Если СсылкаНаЭлемент.ТолькоПКО = Истина Тогда
// Сообщить(ИмяЭлемента);
ТЗ=Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения"));
ТЗ.Колонки.Добавить("Значение");
НовСтр=ТЗ.Добавить();
НовСтр.Свойство=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ТолькоПКО");
НовСтр.Значение=Истина;
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(СсылкаНаЭлемент.Ссылка,ТЗ);
КонецЕсли
КонецЦикла;
КонецПроцедуры
|
|