Вход | Регистрация
 

ГрЁбанное расширение выносит мне мозг

ГрЁбанное расширение выносит мне мозг
Я
   aptomilov
 
07.10.20 - 13:43
Платформа 8,3,11,16,1148
Бп 3

Написал простенькое расширение в режиме Адаптация ( а именно в Форму Товары документа поступления товаров и услуг добавил несколько колонок и пересчет к ним)
и все бы ничего но после очередного обновления к чертям слетают эти несколько колонок и сверху горит желтым полоса  Обновить форму.
Мои действия
что бы заново не пилить колонки (а нахрена тогда эти расширения нужны) я просто беру рабочее расширение и загружаю заново и что вы думаете горит полоса и колонок нет
но код при этом весь на месте

И вот вопрос как загрузить расширение что бы колонки то обратно появились. и желательно с привязками к процедурам.
   aptomilov
 
1 - 07.10.20 - 14:07
в дереве колонки то остались 
но отвязались от данных и поэтому их нет на форме
   dmpl
 
2 - 07.10.20 - 14:12
Что происходит, если жмакнуть "Обновить форму"?
   RomanYS
 
3 - 07.10.20 - 14:12
Расширение содержит исходную форму, её нужно обновить внутри раширения.
   aptomilov
 
4 - 07.10.20 - 14:17
а поля нужные вдобавок еще и из дерева пропадают  
после нажатия на кнопку обновить и по сути надо заново все колонки делать
   PLUT
 
5 - 07.10.20 - 14:18
(0) может стоит заморочиться и в расширении программно добавить несколько колонок и пересчет к ним? тогда при инициализации формы "колонки будут появляться  с привязками к процедурам"
   aptomilov
 
6 - 07.10.20 - 14:21
(5) - да не я хочу разобраться вот именно с это проблемой  ибо у меня уже несколько баз с расширениями
   PLUT
 
7 - 07.10.20 - 14:22
(6) да нет наверное
   oslokot
 
8 - 07.10.20 - 14:25
известная проблема и известное решение - в расширении надо все создавать программно
   dmpl
 
9 - 07.10.20 - 14:26
(8) Тогда вопрос - чем расширение лучше модификации конфигурации? Во втором случае хотя бы нет головняка с типами реквизитов, которые вдруг перестали совпадать.
   oslokot
 
11 - 07.10.20 - 14:31
(9) а хез. Зато объекты остаются "на замке" и после обновления не следим за модификацией модулей, форм и прочее
Просто расширять надо с умом
   aptomilov
 
12 - 07.10.20 - 14:31
А по этому вопросу кто нибудь обращался в поддержку ?
   aptomilov
 
13 - 07.10.20 - 14:34
(11) - научи как правильно добавить колонки что бы они ни умирали
реквизиты колонок при этом лежат в основной конфе
   dmpl
 
14 - 07.10.20 - 14:36
(12) А что может ответить поддержка? Система сравнивает форму в расширении и оригинальную форму, после чего эти изменения пытается внести в текущую форму основной конфигурации. Если форма изменилась кардинально - естественно, программа не сможет корректно внести изменения.
   oslokot
 
15 - 07.10.20 - 14:37
(13) я же уже написал как - программно.
Создать элементы формы для имеющихся реквизитов + обработчики
   Timon1405
 
16 - 07.10.20 - 14:38
(13) ищете вызов из вашей формы модуля МодификацияКонфигурацииПереопределяемый, в нём пустые заглушки для модификации, выкидываете его в расширение пишете &Вместо, дальше (15)
   oslokot
 
17 - 07.10.20 - 14:40
(16) Кстати про МодификацияКонфигурацииПереопределяемый меня учили но я так и не постиг дзен, а обработчики как прикручивать (форму ведь в этом случае не расширяем)?
   aptomilov
 
18 - 07.10.20 - 14:45
(17) первый раз такие слова слышу
   Timon1405
 
19 - 07.10.20 - 14:47
(17) ДобавленныйЭлемент.УстановитьДействие("ПриИзменении", "СвоеРасширение_СвояДобавленнаяПроцедураПриИзмененииВРасширенииВФорме");
конечно, форму документа придется расширить этой процедурой
   oslokot
 
20 - 07.10.20 - 14:53
(19) Есть как раз фишка без расширения формы дока, если я не ошибаюсь
   aptomilov
 
21 - 07.10.20 - 14:55
(20)
а тут поподробнее
   PLUT
 
22 - 07.10.20 - 15:06
   yzimin
 
23 - 07.10.20 - 15:09
(21) лично я, если добавляю команду программно через МодификацияКонфигурацииПереопределяемый, то действие прописываю так

                    НоваяКоманда = Форма.Команды.Добавить("OZON_СобратьЗаказ_Программно");
                    НоваяКоманда.Действие = "Подключаемый_ВыполнитьПереопределяемуюКоманду";
                    НоваяКоманда.Заголовок = "Собрать заказ";

Далее в модуле МодификацияКонфигурацииКлиентПереопределяемый -> ВыполнитьПереопределяемуюКоманду
описываем нужные действия
   aptomilov
 
24 - 07.10.20 - 15:12
МодификацияКонфигурацииПереопределяемый не вижу такого общего модуля в конфе бп 3
   Fragster
 
25 - 07.10.20 - 15:14
реквизиты в УФ в расширениях всё-таки лучше программно создавать, в чем-нибудь типа ПриСозданииНаСервереПосле
   PLUT
 
26 - 07.10.20 - 15:15
(24) а в ERP 2.4 есть :)
   Timon1405
 
27 - 07.10.20 - 15:15
(23) Команда != обработчик действия элемента, о чем в (22) тоже написано:
Следующий шаг - разобраться с подключением событий при интерактивной работе на форме с этим реквизитом. В данном случае рассмотрим событие «ПриИзменении». Вот тут как раз случай, когда без модуля формы не обойтись, увы. Но я советую помещать только вызов процедуры, а саму обработку размещать в вашем общем модуле.
(24) ищите СобытияФорм.ПриСозданииНаСервере(, он выведет в МодификацияКонфигурацииПереопределяемый
   Garykom
 
28 - 07.10.20 - 15:31
(0) Не трогай формы в расширениях, только программно кодом
   PLUT
 
29 - 07.10.20 - 15:45
я бы еще добавил, что расширения еще сырые :) например не на всех релизах платформы 8.3 заклинания работают (например, аннотация &ИзменениеИКонтроль)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.