8.3 расширение. Добавить программно реквизит на форму
Задача. В Заказ покупателя надо добавить галочку Отгрузка разрешена.
В случае ее установки откл все проверки при проведении.
Добавил новый реквизит документа булево в расширение.
Пробую добавить его как реквизит формы программно.
Но не отрабатывает. Почему?
В случае ее установки откл все проверки при проведении.
Добавил новый реквизит документа булево в расширение.
Пробую добавить его как реквизит формы программно.
НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы"));
НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
Но не отрабатывает. Почему?
По теме из базы знаний
- [Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)
- Программное создание расширения
- Расчет по страховым взносам с заполнением приложения 4 раздела 1 для ЗУП 3.1
- Подсветка недействительных пользователей в форме "Группа доступа"
- Программное создание элементов в форме при использовании расширения
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Теоретически вы его вставляте в форму саму, укажите родителя элемента, группу куда добавить хотите,
У нас написан целый модуль, который добавляет элементы на форму, по макету, все отлично работает, только реквизиты добавлены в основной конфе..а не в расширении...
Кстати Элемента просто не видно, или ошибку выдает ???
У нас написан целый модуль, который добавляет элементы на форму, по макету, все отлично работает, только реквизиты добавлены в основной конфе..а не в расширении...
Кстати Элемента просто не видно, или ошибку выдает ???
(13) не совсем так. В самом расширении на форме изменений не будет, но при работе все изменения будут отображены. Единственный ньюанс, может расположение элементов поменяться не так как хотите.
Помимо этого, в форме расширения будет сообщение, что форма поменялась и предложение обновить. Так что все изменения отслеживаются.
Помимо этого, в форме расширения будет сообщение, что форма поменялась и предложение обновить. Так что все изменения отслеживаются.
(15) вот тут можно прочитать про новшества.
https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii-14/
Если после заимствования в расширяемой форме появятся новые элементы, вы узнаете об этом в расширении. В верхней части редактора формы будет показан баннер, который предложит вам обновить форму.
(17)Ок, мне стало интересно и я взяла УТ 11, добавила в ней расширение и сделала все то, что у вас, без всяких переносов в группы.
получился вот такой код
и после запуска он мне создал желанный флажок и показал его в самом конце формы.
а потому:
1) у вас действительно есть что-то ещё,
2) хотелось бы посмотреть на ваш список расширений
3) есть ли другие расширения которые исправляют эту форму? Что именно они делают?
4) как у вас оформлен обработчик событий формы? что в нем ещё есть?
5) давайте определимся уже с вашей конфигурацией и платформой, а то вдруг чего. )
получился вот такой код
&НаСервере
Процедура Опл_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы"));
НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
// Элементы.Переместить(НовыйЭлемент,ЭтаФорма,Элементы.ГруппаОсновное);
КонецПроцедуры
и после запуска он мне создал желанный флажок и показал его в самом конце формы.
а потому:
1) у вас действительно есть что-то ещё,
2) хотелось бы посмотреть на ваш список расширений
3) есть ли другие расширения которые исправляют эту форму? Что именно они делают?
4) как у вас оформлен обработчик событий формы? что в нем ещё есть?
5) давайте определимся уже с вашей конфигурацией и платформой, а то вдруг чего. )
Прикрепленные файлы:
(19) кнопку перенесли в структуре формы, поле нет.
Так что показывает?
Так что показывает?
НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы"));
НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
Элементы.Переместить(НовыйЭлемент,ЭтаФорма,Элементы.ГруппаОсновное);
Галочки так нет.
&НаСервере
Процедура Опл_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы"));
НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
ЭтаФорма.Элементы.Переместить(НовыйЭлемент,ЭтаФорма.Элементы.ГруппаОсновное);
КонецПроцедуры
Показать
Столкнулся с этим же.... В расширение добавлен реквизит документа, при создании на сервере программно добавляю связанное поле формы. На сервере элемент есть, после возврата на клиент, поле формы пропадает.
Удалось победить?
Удалось победить?
Мне помогло программное добавление колонок на форму, платформа 1С:Предприятие 8.3 (8.3.19.1467)
Похожая ситуация была - добавлял табличную часть из расширения программно на расширяемую форму, а она хоть и добавлялась, но на форме не отображалась.
Как только добавил колонки - табличная часть стала отображаться...
Возможно мой опыт граблей кому-то это сократит час поисков и экспериментов)
Похожая ситуация была - добавлял табличную часть из расширения программно на расширяемую форму, а она хоть и добавлялась, но на форме не отображалась.
Как только добавил колонки - табличная часть стала отображаться...
Возможно мой опыт граблей кому-то это сократит час поисков и экспериментов)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот