Добрый день!

Задача следующая: необходимо добавить реквизит на форму документа. Конфа не снята с поддержки.

Решение:

1. Вынес объект документа в расширение.

2. Добавил новый реквизит в расширении

3. В расширении программно создал реквизит формы и разместил его на форме через общий модуль "МодификацияКонфигурацииПереопределяемый". Добавил обработчик события "ПриИзменении".

Вопрос:

Можно ли как то выловить процедуру "ПриИзменении", не вынося форму документа в расширение?

Если да, то каким способом?

Если нет, то повлияет ли измененная форма в расширении, на дальнейшие обновления с поставки(т.е пользователь будет все так же видеть измененную форму и обновления придется накатывать самому или ту которая пришла с обновлением)?
---
(16)
В заказе есть процедура Подключаемый_ВыполнитьПереопределяемуюКоманду, переназначил «ПриИзменении» на него. Из этой процедуры в итоге выходим на общ.модуль «МодификацияКонфигурацииКлиентПереопределяемый.ВыполнитьПереопределяемуюКоманду». Вынес ее в расширение, в итоге при изменении нового реквизита , 1С мне сказал «УРА». Тут есть и форма в параметрах, а значит и объект и т.д. и т.п.
Вопрос решен
---
режим совместимости какой?

Если форма сильно изменится, то ее просто нужно будет отравить в расширение по новой!
---
Режим совместимости не стоит.
Версия платформы 8.3.13.1198
Конфа 1С:ERP Управление предприятием 2 (2.4.5.54)
Документ ЗаявкаНаРасходованиеДенежныхСредств

Каждый раз после обновления отправлять в расширение не Айс((

У некоторых объектов есть обращение к общ.модулю ОбщегоНазначенияУТ.УстановитьПодпискуНаСобытияИзмененияЭлементовФормы , которая переназначает "ПриИзменении" на процедуру Подключаемый_ПриИзменении_УстановитьДоступностьЭлементовПоСт­атусуСервер.
Но у ЗаявкаНаРасходованиеДенежныхСредств нет обращения к общему модулю и нет на форме переназначаемой процедуры.
Может в ЕРП есть еще какой нибудь механизм для этих целей? Менять конфу и выводить форму в расширение не оч хочется.
---
зачем тогда программно создавать? Создай все на форме расширения и вопросов нет!

Каждый раз после обновления отправлять в расширение не Айс((
Не каждый раз, а когда форма изменится!

Если доработка паленая, то посмотри на ИС метод разработки расширения устойчивый к изменениям формы!
---
Создай все на форме расширения и вопросов нет!
Выводить форму в расширение нельзя именно из-за Не каждый раз, а когда форма изменится!
не хочу каждый раз следить за объектом после обновления на предмет: изменилась ли форма или нет.
Разве не для этого сделали возможность программного создания реквизитов, через общий модуль "МодификацияКонфигурацииПереопределяемый"?
Насчет посмотри на ИС метод разработки расширения устойчивый к изменениям формы! спасибо, ча гляну.
п.с. ИС это же ИТС?
---
инфо старт))
---
Менять конфу и выводить форму в расширение не оч хочется. Ну конфу вам менять точно не придется, необходимо будет вынести форму в расширение и в ней добавить нужную процедуру. Так как у вас реквизиты выводятся на форму программно, то потом при обновлении конфигурации можно будет просто нажать "Обновить расширение формы", при чем даже не проверяя, изменилось ли что-нибудь в форме, так сказать, чтоб наверняка. Пожалуй, это будет единственной проблемой при обновлении, но это в случае, если другого способа не найдете.
---
Вам совершенно не надо обновлять форму в расширении каждый раз при обновлении, платформа в этом вопросе достаточно "умна". При расширении формы в нее копируется иходная форма какой она была в конфе на момент расширения, а также создается ее полная копия+ваши изменения. При загрузке расширенной формы в режиме предприятия платформа осуществляет трехстороннее слияние 1) исходной формы из расширения, 2) изменненой формы из расширения, 3) измененной формы из конфигурации и если изменения в конфе и изменения в расширении не противоречат друг другу, то форма корректно отобразится с обоими изменениями без вашего участия.
---
Весьма занимательно, на ИТС написано, что "Если изменение есть и в расширяемой форме и в расширяющих формах ‑ компонента берется из расширяющей формы.", однако у себя проверила и получился другой результат, как вы и описали, изменения были взяты из основной конфы, а изменения расширения проигнорированы, т.е. получается автору темы можно спокойно добавлять форму в расширение и не беспокоится при обновлении об изменениях, собственно как и мне с моими расширениями)) Думаю обновление формы в расширении понадобиться только, когда будут кардинальные изменения в ней.
---
Насколько я успел понять, вот эта фраза с ИТСЕсли изменение есть и в расширяемой форме и в расширяющих формах ‑ компонента берется из расширяющей формы. относится именно к случаям когда изменен один и тот же элемент, т.е. возникает конфликт слияния.
Примеры:
Была на форме ГруппаШапка с синонимом Шапка, вы в расширении поменяли синоним на Главное, а обновление изменило синоним на Основное - будет ваш синоним:
Была на форме ГруппаШапка с синонимом Шапка, вы в расширении добавили в нее реквизит, а обновление изменило синоним на Основное - будет синоним из обновления, но ваш реквизит тоже останется:
---
Была на форме ГруппаШапка с синонимом Шапка, вы в расширении поменяли синоним на Главное, а обновление изменило синоним на Основное - будет ваш синоним: Вот я как раз такой момент и проверяла, правда задавала видимость элемента, так вот брались изменения из основной конфигурации, а не из расширения. А если менять синоним, то изменения берутся из расширения, вот такая мистика)
---
Не понял, как вы меняли видимость? Расскажите сценарий.
По идее видимость имеет всего два состояния - истина и ложь, то есть не может быть такого что у вас в исходной форме одно состояние, в расширенной второе, а в обновленной третье.
---
Имеется к примеру элемент на форме с видимостью Истина, в расширении тоже видимость Истина, обновление меняет видимость на Ложь и в итоге на форме мы не увидим этот элемент, т.е. изменения будут взяты из конфигурации, а не из расширения.
---
Пожалуй, все же не так это происходит, видимо объединение происходит по правилу, если где то элемент недоступен, будь то видимость, доступность или указание "только просмотр", то в итоге элемент будет недоступен.
---
Имеется к примеру элемент на форме с видимостью Истина, в расширении тоже видимость Истина, обновление меняет видимость на Ложь и в итоге на форме мы не увидим этот элементВсе правильно. В этом случае считается что расширение не меняло это свойство, а обновление меняло. И берется оттуда где изменено. Почитайте про трехстороннее сравнение/слияние
---
Дайте пожалуйста ссылочку на описание трехстороннего сравнения/слияния.
---
(16)
В заказе есть процедура Подключаемый_ВыполнитьПереопределяемуюКоманду, переназначил «ПриИзменении» на него. Из этой процедуры в итоге выходим на общ.модуль «МодификацияКонфигурацииКлиентПереопределяемый.ВыполнитьПереопределяемуюКоманду». Вынес ее в расширение, в итоге при изменении нового реквизита , 1С мне сказал «УРА». Тут есть и форма в параметрах, а значит и объект и т.д. и т.п.
Вопрос решен