Имя: Пароль:
1C
1С v8
Программное добавление ТЧ в форму документа
, ,
0 unikon
 
21.04.20
19:00
Всем доброе время суток.

Вопрос следующий. Имеется расширение. В расширении заимствованный документ. В документ добавлена новая таб. часть. Так же добавил форму в расширение следующим образом. В основной конфе добавил произвольную форму, перенес ее в расширение, назвал "ФормаДокумента", что бы совпадала, а из основной конфы удалил эту форму (которую только что создал). Сделал так, что бы не тащить в расширение ничего лишнего и создавать все элементы программно. Так вот, не могу программно вывести на форму новую таб. часть, которая была создана в расширении. Перепробовал уже все. Платформа 8.3.16.

Может кто знает решение.
1 unikon
 
21.04.20
19:03
Пример как создаю таблицу:

ЭлементТаблица = Элементы.Добавить("ТабЧасть", Тип("ТаблицаФормы"));
ЭлементТаблица.Заголовок = "Таб. часть";
ЭлементТаблица.ПутьКДанным = "Объект.ТабЧасть";

ЭлементПоле = Элементы.Добавить("ТабЧасть", Тип("ПолеФормы"), ЭлементТаблица);
ЭлементПоле.Вид = ВидПоляФормы.ПолеВвода;
ЭлементПоле.ПутьКДанным = "Объект.ТабЧасть.Номенклатура";
2 hhhh
 
21.04.20
19:08
(1) а почему два элемента с одинаковым именем. Вроде нельзя так.
3 unikon
 
21.04.20
19:10
(2) Ошибся в примере)
4 unikon
 
21.04.20
19:12
Пробовал перед этим создать реквизиты формы:

ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Расш_Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"), "Объект.ТабЧасть", "Номенклатура"));
    
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);

Не помогло(
5 unikon
 
22.04.20
07:48
up
6 hhhh
 
22.04.20
09:06
(5) реквизиты у вас уже есть. Вы же сами написали, что табчасть уже добавлена.
7 Ненавижу 1С
 
гуру
22.04.20
09:13
>>а из основной конфы удалил эту форму

зачем вам тогда расширения?
8 alkorolev
 
22.04.20
09:28
форма то точно эта запускается? она установлена как "основная"?
9 hhhh
 
22.04.20
09:29
(5) еще вопрос: зачем программно создавать, когда можно спокойно непрограммно. У него же полностью своя форма.
10 unikon
 
22.04.20
09:38
(6) В расширении в документ я добавил новую табличную часть. Потом пытаюсь на форму сделать так, что бы на форме (в предприятии) эта табличная часть отображалась так же как и типовая "Товары".
(7) Я из основной конфы удалил форму, которую туда добавил сам, что бы перенести ее в расширение. Она пустая, на ней нет элементов никаких. В ней я и хочу вывести свою таб. часть из расширения, а потом форма расширения объединяется с формой из основной конфигурации и все должно работать.
(8) Форма в расширении получилась как будто бы ты перенес основную форму в расширение. Т.е. она установлена как "Основная" и она запускается. Пробовал программно добавлять реквизиты формы и выводить - все получилось, а вот с таб. частью не получается.
(9) Как минимум сейчас это "спортивный интерес".
11 unikon
 
22.04.20
11:23
Как всегда решение элементарное. Так как в расширении присутствуют свои роли, значит какой то из этих ролей нужно выдать доступ на эту таб. часть, а роль дать пользователю. Все взлетело.