Элемент формы в расширении и обращение из модуля менеджера к нему

1. alfaservice 17 22.08.19 16:12 Сейчас в теме
Ребята всем привет!

Вот такой вопрос! Есть некий документ, в котором заполняются реквизиты и после документ выгружается в xml. Обработка выгрузки прописана в модуле менеджера. Возможно ли создать расширение формы, добавить свой элемент формы и обработать его в модуле менеджера в расширении? Т.е. мне нужно немного изменить саму выгрузку подменив то что не нужно на то что нужно.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. YanTsys 12 22.08.19 16:27 Сейчас в теме
"обработать его в модуле менеджера в расширении"

под словом "обработать" можно много чего понимать.

Можно через расширение перехватить процедуру формы ПриСозданииНаСервере
и добавить на форму всякие разные элементы...

Насколько я понимаю функции из менеджера никогда не знают какой у вас текущий документ открыт и тем более какие формы этот объект сейчас обрабатывают...

Вы можете сохранять значения из дополнительных элементов формы либо в самодельные реквизиты документа, либо куда нибудь в регистры связывая их с документом по ссылке либо еще куда...

Если документ выгружается по событию возникающему в форме то вы можете в менеджер при возникновении этого события передавать хоть сразу значения элементов хоть ссылку на форму а уже в менеджере их вытягивать...
3. alfaservice 17 22.08.19 17:21 Сейчас в теме
(2) Это понятно в менеджер передается ссылка документа, но при этом моего реквизита там нет изначально, я его добавил в расширении в запросе выборки его естественно нет, значит надо и запрос выборки в менеджере менять? т.е. нужно все процедуры и функции общим модулей модуля документа и пр. которые участвуют в формировании файла тащить в расширение и там их изменять? и такой геморой из-за того чтобы вставить свой реквизит?
4. YanTsys 12 22.08.19 18:13 Сейчас в теме
(3) Зачем тащить их в расширение? Можно добавить в функции формирующей файл дополнительный параметр, потом перехватить эту старую функцию из расширения, в своей функции которая имеет доступ к расширению выбрать все необходимые данные и поместив их в дополнительный параметр вызвать старую функцию...

Но вы уж определитесь, если вы хотите чтобы ваше расширение вообще не затрагивало базовый код и его можно было в одно движение наложить на любую чужую базу, то нужно перехватывать все базовые функции и всё что отличается писать в расширении.
Если же вы все равно хотите редактировать функции исходного документа, то зачем реквизит добавлять в расширение, добавьте реквизит в базовый документ ...
5. alfaservice 17 22.08.19 19:54 Сейчас в теме
(4) Именно! зачем мне трогать типовую конфигурацию? Если изменять типовую я б сюда не написал там вопросов нет. Собственно можно и без реквизита вовсе. я просто текстовую строку в структуре xml вместо (ВыборкаПоШапке.Организация) вписал и все. Но хочется именно с реквизитом.
9. YanTsys 12 23.08.19 16:37 Сейчас в теме
(5) Мы используем расширения еще и для того чтобы избежать проблем при обновлении, в этом случае те изменения которые не слетают при обновлении например реквизиты справочников и документов, добавляем прямо в базовые объекты, а те которые при обновлении слетают, например кнопки и поля на формах добавляем программно через расширения.
6. 2PRV 7 23.08.19 04:43 Сейчас в теме
Через расширение добавить реквизит в документ. Затем этот реквизит добавить на форму. Затем перехватываем метод модуля менеджера и обращаемся к новому реквизиту.
7. alfaservice 17 23.08.19 09:58 Сейчас в теме
(6)
Через расширение добавить реквизит в документ. Затем этот реквизит добавить на форму. Затем перехватываем метод модуля менеджера и обращаемся к новому реквизиту.


Интересно то что добавить то я добавил свой реквизит и форму добавил в расширение, а вот реквизит на форму не переносится физически, только программно удалось его туда посадить.
8. 2PRV 7 23.08.19 11:26 Сейчас в теме
(7) Весьма странно, реквизит должен перенестись на форму без проблем. Сам недавно так делал
Прикрепленные файлы:
Оставьте свое сообщение

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