8.3 расширение. Добавить программно реквизит на форму

1. fedor40 705 26.08.19 13:56 Сейчас в теме
Задача. В Заказ покупателя надо добавить галочку Отгрузка разрешена.
В случае ее установки откл все проверки при проведении.

Добавил новый реквизит документа булево в расширение.
Пробую добавить его как реквизит формы программно.

НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы"));
НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;	

Но не отрабатывает. Почему?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 26.08.19 14:02 Сейчас в теме
Объект "откройте" в расширении, там над объектом в форме расширения команда "Добавить в расширение"

(1) может проще его добавить на форму в конфигурации и управлять доступностью программно
5. fedor40 705 26.08.19 14:37 Сейчас в теме
Вот програмно добавляю кнопку и она добавляется.
А реквизит булево не добавляется.
Прикрепленные файлы:
7. bmk74 234 26.08.19 15:36 Сейчас в теме
(5) А зачем 2 раза его добавляете, у вас сверху уже есть кусок кода с добавлением элемента этого и внизу еще ?
9. fedor40 705 26.08.19 22:08 Сейчас в теме
Получается добавить только кнопку. Галочка не появляется.
6. bmk74 234 26.08.19 15:27 Сейчас в теме
(1) Теоретически вы его вставляте в форму саму, укажите родителя элемента, группу куда добавить хотите,
У нас написан целый модуль, который добавляет элементы на форму, по макету, все отлично работает, только реквизиты добавлены в основной конфе..а не в расширении...
Кстати Элемента просто не видно, или ошибку выдает ???
8. fedor40 705 26.08.19 22:08 Сейчас в теме
Элемента не видно. Кнопку создает, а галочку нет.
12. spacecraft 27.08.19 20:56 Сейчас в теме
(1) может просто не помещается на экране. Добавляется в самый низ формы. И нужно форму сдвинуть.
3. t.v.s. 111 26.08.19 14:13 Сейчас в теме
А что мешает добавить его на форму в расширении?
4. FetisovAN 26.08.19 14:23 Сейчас в теме
(3) необходимость потом следить за обновлением формы, я полагаю ...
elga2012; +1 Ответить
10. Sergitax 27.08.19 19:57 Сейчас в теме
(4) В последних версиях платформу такая необходимость уже отсутствует.
13. FetisovAN 28.08.19 09:01 Сейчас в теме
(10) Последняя платформа при изменении формы в типовой конфигурации изменит форму в расширении с сохранением ваших изменений формы в расширении ?
14. spacecraft 28.08.19 09:15 Сейчас в теме
(13) не совсем так. В самом расширении на форме изменений не будет, но при работе все изменения будут отображены. Единственный ньюанс, может расположение элементов поменяться не так как хотите.
Помимо этого, в форме расширения будет сообщение, что форма поменялась и предложение обновить. Так что все изменения отслеживаются.
15. FetisovAN 28.08.19 09:34 Сейчас в теме
(14) хмм ... не очень понятно как это происходит, но надо будет попробовать
16. spacecraft 28.08.19 09:38 Сейчас в теме
(15) вот тут можно прочитать про новшества.
https://wonderland.v8.1c.ru/blog/razvitie-mekhanizma-rasshireniy-konfiguratsii-14/
Если после заимствования в расширяемой форме появятся новые элементы, вы узнаете об этом в расширении. В верхней части редактора формы будет показан баннер, который предложит вам обновить форму.
FetisovAN; +1 Ответить
18. fedor40 705 28.08.19 10:21 Сейчас в теме
Ниже прикрепил 2 скриншота.
Кнопка появляется, а галочка нет.
11. Mogilnikova 98 27.08.19 20:14 Сейчас в теме
Автор, как у вас дела? видимость пробовали указать элементу?
17. fedor40 705 28.08.19 10:14 Сейчас в теме
И видимость и доступность Истина.
А в форме только кнопка появляется.
Прикрепленные файлы:
22. Mogilnikova 98 28.08.19 13:01 Сейчас в теме
(17)Ок, мне стало интересно и я взяла УТ 11, добавила в ней расширение и сделала все то, что у вас, без всяких переносов в группы.

получился вот такой код
&НаСервере
Процедура Опл_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы")); 
    НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку"; 
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
   // Элементы.Переместить(НовыйЭлемент,ЭтаФорма,Элементы.ГруппаОсновное);
КонецПроцедуры


и после запуска он мне создал желанный флажок и показал его в самом конце формы.

а потому:
1) у вас действительно есть что-то ещё,
2) хотелось бы посмотреть на ваш список расширений
3) есть ли другие расширения которые исправляют эту форму? Что именно они делают?
4) как у вас оформлен обработчик событий формы? что в нем ещё есть?
5) давайте определимся уже с вашей конфигурацией и платформой, а то вдруг чего. )
Прикрепленные файлы:
23. fedor40 705 28.08.19 14:05 Сейчас в теме
Управление торговлей, редакция 11 (11.4.9.70)
1С:Предприятие 8.3 (8.3.15.1489)
В модуле формы документа Заказ клиента это одна процедура.
В других расширениях ее нет. Они расширяют соглашения и баксчета.
24. fedor40 705 28.08.19 14:12 Сейчас в теме
После этой процедуры отрабатывают:
&НаСервере
Процедура ПередЗагрузкойДанныхИзНастроекНаСервере(Настройки)
&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)


И в них этот Элемент есть.

Потом отрабатывает
&НаКлиенте
Процедура ПриОткрытии(Отказ)

И его тут нет.
26. spacecraft 28.08.19 15:04 Сейчас в теме
(24) права на этот реквизит настроили?
27. fedor40 705 28.08.19 17:30 Сейчас в теме
(26)
права на этот реквизит настроили?


Не настраивал. А как ?
У меня пока нет пользователей.
28. spacecraft 28.08.19 18:18 Сейчас в теме
(27) в расширение добавлены/импортированы роли?
Прикрепленные файлы:
29. fedor40 705 28.08.19 19:28 Сейчас в теме
(28) Сделал, но ничего не появилось.
25. fedor40 705 28.08.19 14:14 Сейчас в теме
(22)
Опл_РазрешитьОтгрузку


А реквизит объекта Опл_РазрешитьОтгрузку для Заказа клиента сделали в расширении ?
30. fedor40 705 29.08.19 11:07 Сейчас в теме
(22) А вы добавили реквизит в расширение?
19. fedor40 705 28.08.19 11:06 Сейчас в теме
Потом какая-то процедура удаляет этот элемент.
ПриОткрытии его нет. А кнопка3 остается.
20. spacecraft 28.08.19 11:53 Сейчас в теме
(19) кнопку перенесли в структуре формы, поле нет.
Так что показывает?
	НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы")); 
	НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку"; 
	НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
	Элементы.Переместить(НовыйЭлемент,ЭтаФорма,Элементы.ГруппаОсновное);
21. fedor40 705 28.08.19 12:58 Сейчас в теме
Галочки так нет.

&НаСервере
Процедура Опл_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    
НовыйЭлемент = Элементы.Добавить("ФлагФормы",Тип("ПолеФормы"));
    НовыйЭлемент.ПутьКДанным = "Объект.Опл_РазрешитьОтгрузку";
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;	
	ЭтаФорма.Элементы.Переместить(НовыйЭлемент,ЭтаФорма.Элементы.ГруппаОсновное);

КонецПроцедуры
Показать
31. mifka186 8 29.08.19 16:28 Сейчас в теме
Статья была по программному добавлению реквизитов в расширении. Попробуй посмотри, может поможет. Статья
32. dmitrichenko.ivan 6 30.08.19 12:02 Сейчас в теме
Попробуйте удалить форму из расширения и добавить заново. У меня с кнопкой глюк такой был
33. strek_ivan 79 30.08.19 16:01 Сейчас в теме
Для начала убедитесь, что код из расширения работает - выведите тестовое сообщение.
34. DC 149 08.02.20 14:07 Сейчас в теме
Столкнулся с этим же.... В расширение добавлен реквизит документа, при создании на сервере программно добавляю связанное поле формы. На сервере элемент есть, после возврата на клиент, поле формы пропадает.

Удалось победить?
35. Xershi 1490 16.03.21 14:55 Сейчас в теме
(34) столкнулся с похожей проблемой.
1С:Предприятие 8.3 (8.3.18.1289)
Режим совместимости 8.3.12.
В нем все роли были в куче, но платформа уже делит.
Как итог роль есть, права нет.
36. Xershi 1490 16.03.21 15:05 Сейчас в теме
(35) похоже нашел в чем проблема в роли не стояла галочка независимые прав у подчиненных объектов. А на сам объект прав не было.
37. Xershi 1490 16.03.21 16:18 Сейчас в теме
(36) плюс при назначении группы доступа пользователю не назначается роль. Нужно сделать через конфигуратор.
38. Xershi 1490 17.03.21 12:16 Сейчас в теме
39. kitaevay 37 21.04.22 13:17 Сейчас в теме
Мне помогло программное добавление колонок на форму, платформа 1С:Предприятие 8.3 (8.3.19.1467)

Похожая ситуация была - добавлял табличную часть из расширения программно на расширяемую форму, а она хоть и добавлялась, но на форме не отображалась.

Как только добавил колонки - табличная часть стала отображаться...

Возможно мой опыт граблей кому-то это сократит час поисков и экспериментов)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот