|
Программное добавление реквизитов формы ( колонки табличной части) | ☑ | ||
---|---|---|---|---|
0
Анцеранана
25.02.21
✎
16:40
|
Уважаемые коллеги, программно пытаюсь добавить колонки табличной части вот по этой инструкции:
https://guesto.ru/1c-programmnoye-dobavleniye-i-udaleniye-rekvizitov-formy/ Распечатаю, чтобы всем было видно: #Область ДобавлениеРеквизитаТЧ // Массив для новых реквизитов ДобавляемыеРеквизиты = Новый Массив; // Опишем ревизиты формы Реквизит_Ячейка = Новый РеквизитФормы("Ячейка", Новый ОписаниеТипов("СправочникСсылка.ЯчейкиХранения"), "Объект.Комплектация", "Ячейка"); // Для наглядности заполним массив после описания реквизитов формы ДобавляемыеРеквизиты.Добавить(Реквизит_Ячейка); // Добавим новые реквизиты в форму ИзменитьРеквизиты(ДобавляемыеРеквизиты); НовыйЭлемент = Элементы.Добавить("КомплектацияЯчейка", Тип("ПолеФормы"), Элементы.Комплектация); НовыйЭлемент.ПутьКДанным = "Объект.Комплектация.Ячейка"; НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; #КонецОбласти Проверил, что этот код работает, если в обработке есть табличная часть. т.е. Объект.Комплектация... Но в моей обработке Таблица с Объектом не связана , просто висит на форме (менять это нельзя). Убрал для этого случая "Объект.Комплектация" - код отрабатывает - в процедуре ПриСозданииНаСервере, но колонки не добавляются. Добавлять интерактивно - не предлагать. |
|||
1
PCcomCat
25.02.21
✎
16:49
|
Так таблица, наверное, связана с реквизитом формы типа ТаблицаЗначений?
|
|||
2
Анцеранана
25.02.21
✎
17:06
|
(1) Могло бы быть и так и тоже бы не работало... Но нет, реквизит формы - "Динамический список" и тоже не работает (произвольный запрос менять не рекомендуется)
|
|||
3
PCcomCat
25.02.21
✎
17:08
|
(2) Можно поменять программно текст запроса в ПриСозданииНаСервере
|
|||
4
Анцеранана
25.02.21
✎
17:18
|
(3) Это в типовой бухгалтерии обработка "обмен с контрагентами" - форма "текущие дела по ЭДО" таблица "ПакетыЭД" туда рекомендуется вывести "СостояниеЭдо" и "ВидДокумента" - как на предыдущих закладках, где просто выведены эти реквизиты.
ОК буду пробовать. |
|||
5
Анцеранана
25.02.21
✎
17:33
|
(3) Завтра буду проверять но на вскидку не поможет. В тестовой обработке у меня есть реквизит Организация в запросе Динамического списка и алгоритм в (0) в ней не срабатывает, не выводится программно, только если я его в форму руками переношу.
|
|||
6
asady
25.02.21
✎
18:00
|
(0) если твоя таблица не реквизит объекта а "просто висит на форме", то с большой долей вероятности эта таблица уже является ревизитом формы и добавлять ее в реквизиты формы методом ИзменитьРеквизиты избыточно
для отражения на форме нужно добавить элементы формы с типом ТаблицаФормы и путь к данным "Таблица" (или как там она у тебя называется) |
|||
7
Анцеранана
26.02.21
✎
09:58
|
(6) Не особо понял, но ваш каммент мне помог! Поле добавилось, если оно:
а) есть в тексте запроса динамического списка б) если указать путь к данным "ИмяТаблицы.ИмяПоля" (например "ПакетыЭД.Организация"). Теперь попробую то что предложил в (3) PCcomCat, может взлетит. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |