Как вызвать функцию формы "Обработки" из "Общего модуля" ? #740633


#0 by bukashchik
В Обработке реализована некая функция. Как мне вызвать ее из Общего модуля?
#1 by DrShad
перенести тело функции в общий модуль, а еще лучше в модуль менеджера
#2 by ДенисЧ
перенеси её в модуль, сделай экспортной, создай объект обработки и зови этот метод
#3 by asady
в модуле формы?
#4 by bukashchik
Проблема в том, что мне нужно, чтобы эта функция находилась именно в обработке, нельзя ее переносить ) И надо ее вызвать из общего модуля. Звучит как извращение, знаю...
#5 by bukashchik
Да, эта ф-ция реализована в модуле формы.
#6 by DrShad
тогда тебе к БГ
#7 by bukashchik
БГ это что?
#8 by DrShad
Бори?с Гео?ргиевич Нурали?ев
#9 by bukashchik
Неужели никак нельзя это сделать...?
#10 by DrShad
я то не против, но система не позволяет таких извращений
#11 by hhhh
трудность-то в чем?
#12 by bukashchik
Тогда подскажите пожалуйста как обойти это и решить мою проблему другим способом. Есть функция, в кот. происходят следующие обращения: ИЛИ mForm=Документы["имяДокумента"].ПолучитьФорму("ФормаЭлемента");              ... получаем точно так же описание элементов формы. Вызвать таким образом функцию "ПолучитьФорму" и получить описание форм для разных объектов конфигурации не удалось ни из объектов Справочник, Документ  и т.д., ни из Общего Модуля. А вот из Обработки удалось. В итоге, эти данные нужны в Общем модуле. Как бы их туда вытащить?
#13 by hhhh
какие данные?
#14 by Rovan
из модуля объекта нельзя форму получать открывать, т.к. он находится на сервере Это можно только из самих форм либо из общего модуля с признаком "клиент"
#15 by hhhh
он хочет не из модуля объекта
#16 by D_E_S_131
А что потом собираешься делать со всеми этими "описаниями элементов формы"?
#17 by bukashchik
Хочется описание форм получить по веб-сервису. (он может для этого дергать какую-то ф-цию общего модуля) Определяю у общего модуля признак "клиент" - теперь веб-сервис не видит этот модуль, ругается "переменная не определена". Подскажите пож, как быть?
#18 by Cyberhawk
Все просто - из общего модуля создавай объект обработки, получай ее форму с передачей параметра (и, заодно, адреса во временном хранилище, куда поместить ответ) и, возможно, открывай форму. В ПриОткрытии формы (или в ПриСозданииНаСервере, или еще где - проверь сам, что вызывается при получении формы) обработки добавь ветку "Если" - если был передан твой параметр (адрес хранилища), то вызывай свою функцию и помещай результат в хранилище по переданному адресу, а от открытия формы отказывайся.
#19 by Cyberhawk
Описанное в еще называют "миной замедленного действия", ибо чревато
#20 by bukashchik
Спасибо большое за ответ. Пытаюсь сдедать как Вы говорите: А в "ПриОткрытии" записываю то что мне нужно в файл. Method находится в общем модуле и я дергаю его из веб-сервиса. Ругается на "ПолучитьФорму": "Интерактивные операции недоступны". В свойствах модуля у меня стоят галочки на: Клиент(управляемое прилож.), Клиент(обычное прилож.),сервер,внешнее соединение. Короче, везде...
#21 by Cyberhawk
obr.ПолучитьФорму и "получай ее форму с передачей параметра" не идентичны
#22 by bukashchik
Делаю так: mParams-структура с моими параметрами Ругается: "Процедура или функция с указанным именем не определена (ПолучитьФорму)"
#23 by ДенисЧ
на сервере нету форм...
#24 by bukashchik
Сами формы то мне и не нужны... Нужно только вытащить их описание. Можете что-то подсказать?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С