Элемент формы в расширении и обращение из модуля менеджера к нему
Ребята всем привет!
Вот такой вопрос! Есть некий документ, в котором заполняются реквизиты и после документ выгружается в xml. Обработка выгрузки прописана в модуле менеджера. Возможно ли создать расширение формы, добавить свой элемент формы и обработать его в модуле менеджера в расширении? Т.е. мне нужно немного изменить саму выгрузку подменив то что не нужно на то что нужно.
Вот такой вопрос! Есть некий документ, в котором заполняются реквизиты и после документ выгружается в xml. Обработка выгрузки прописана в модуле менеджера. Возможно ли создать расширение формы, добавить свой элемент формы и обработать его в модуле менеджера в расширении? Т.е. мне нужно немного изменить саму выгрузку подменив то что не нужно на то что нужно.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
"обработать его в модуле менеджера в расширении"
под словом "обработать" можно много чего понимать.
Можно через расширение перехватить процедуру формы ПриСозданииНаСервере
и добавить на форму всякие разные элементы...
Насколько я понимаю функции из менеджера никогда не знают какой у вас текущий документ открыт и тем более какие формы этот объект сейчас обрабатывают...
Вы можете сохранять значения из дополнительных элементов формы либо в самодельные реквизиты документа, либо куда нибудь в регистры связывая их с документом по ссылке либо еще куда...
Если документ выгружается по событию возникающему в форме то вы можете в менеджер при возникновении этого события передавать хоть сразу значения элементов хоть ссылку на форму а уже в менеджере их вытягивать...
под словом "обработать" можно много чего понимать.
Можно через расширение перехватить процедуру формы ПриСозданииНаСервере
и добавить на форму всякие разные элементы...
Насколько я понимаю функции из менеджера никогда не знают какой у вас текущий документ открыт и тем более какие формы этот объект сейчас обрабатывают...
Вы можете сохранять значения из дополнительных элементов формы либо в самодельные реквизиты документа, либо куда нибудь в регистры связывая их с документом по ссылке либо еще куда...
Если документ выгружается по событию возникающему в форме то вы можете в менеджер при возникновении этого события передавать хоть сразу значения элементов хоть ссылку на форму а уже в менеджере их вытягивать...
(2) Это понятно в менеджер передается ссылка документа, но при этом моего реквизита там нет изначально, я его добавил в расширении в запросе выборки его естественно нет, значит надо и запрос выборки в менеджере менять? т.е. нужно все процедуры и функции общим модулей модуля документа и пр. которые участвуют в формировании файла тащить в расширение и там их изменять? и такой геморой из-за того чтобы вставить свой реквизит?
(3) Зачем тащить их в расширение? Можно добавить в функции формирующей файл дополнительный параметр, потом перехватить эту старую функцию из расширения, в своей функции которая имеет доступ к расширению выбрать все необходимые данные и поместив их в дополнительный параметр вызвать старую функцию...
Но вы уж определитесь, если вы хотите чтобы ваше расширение вообще не затрагивало базовый код и его можно было в одно движение наложить на любую чужую базу, то нужно перехватывать все базовые функции и всё что отличается писать в расширении.
Если же вы все равно хотите редактировать функции исходного документа, то зачем реквизит добавлять в расширение, добавьте реквизит в базовый документ ...
Но вы уж определитесь, если вы хотите чтобы ваше расширение вообще не затрагивало базовый код и его можно было в одно движение наложить на любую чужую базу, то нужно перехватывать все базовые функции и всё что отличается писать в расширении.
Если же вы все равно хотите редактировать функции исходного документа, то зачем реквизит добавлять в расширение, добавьте реквизит в базовый документ ...
(4) Именно! зачем мне трогать типовую конфигурацию? Если изменять типовую я б сюда не написал там вопросов нет. Собственно можно и без реквизита вовсе. я просто текстовую строку в структуре xml вместо (ВыборкаПоШапке.Организация) вписал и все. Но хочется именно с реквизитом.
(5) Мы используем расширения еще и для того чтобы избежать проблем при обновлении, в этом случае те изменения которые не слетают при обновлении например реквизиты справочников и документов, добавляем прямо в базовые объекты, а те которые при обновлении слетают, например кнопки и поля на формах добавляем программно через расширения.
(6)
Интересно то что добавить то я добавил свой реквизит и форму добавил в расширение, а вот реквизит на форму не переносится физически, только программно удалось его туда посадить.
Через расширение добавить реквизит в документ. Затем этот реквизит добавить на форму. Затем перехватываем метод модуля менеджера и обращаемся к новому реквизиту.
Интересно то что добавить то я добавил свой реквизит и форму добавил в расширение, а вот реквизит на форму не переносится физически, только программно удалось его туда посадить.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот