0
megabax
24.04.17
✎
08:51
|
Добрый день. Я пытаюсь программно добить реквизит в динамический список, вот так:
ТипыРеквизита = Новый Массив;
ТипыРеквизита.Добавить(Тип("Строка"));
КС=Новый КвалификаторыСтроки(32);
ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита,,,,КС);
НовыйРеквизит = Новый РеквизитФормы(
"ПРОФИТ_КодОбъекта", // имя
ОписаниеТиповДляРеквизита, // тип
"Список", // путь
"Код объекта", // заголовок
Истина); // сохраняемые данные
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// Добавить элемент формы и связать его с реквизитом.
НовыйЭлемент = Форма.Элементы.Вставить("ПРОФИТ_КолонкаКодОбъекта", Тип("ПолеФормы"), Форма.Элементы.Список, Форма.Элементы.Код);
НовыйЭлемент.ПутьКДанным = "Список.ПРОФИТ_КодОбъекта";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
Но при исполнении данного кода выдает сообщение:
"ОбщийМодуль.ПРОФИТ_РаботаСФормамиСервер.Модуль(73)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
по причине:
Недопустимый путь к реквизиту. Путь: "Список""
Подскажите пожалуйста, как отглючить эту проблему?
|
|
2
megabax
24.04.17
✎
09:00
|
(1) Никак, такое требование заказчика, чтобы потом было удобно обновлять.
Но, собственно, я решил проблему, так как это форма списка справочника, то вот такой код
ТипыРеквизита = Новый Массив;
ТипыРеквизита.Добавить(Тип("Строка"));
КС=Новый КвалификаторыСтроки(32);
ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита,,,,КС);
НовыйРеквизит = Новый РеквизитФормы(
"ПРОФИТ_КодОбъекта", // имя
ОписаниеТиповДляРеквизита, // тип
"Список", // путь
"Код объекта", // заголовок
Истина); // сохраняемые данные
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
Не нужен, надо только
// Добавить элемент формы и связать его с реквизитом.
НовыйЭлемент = Форма.Элементы.Вставить("ПРОФИТ_КолонкаКодОбъекта", Тип("ПолеФормы"), Форма.Элементы.Список, Форма.Элементы.Код);
НовыйЭлемент.ПутьКДанным = "Список.ПРОФИТ_КодОбъекта";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
|
|