Получение формы документа из модуля объекта внешней обработки

1. user1226970 11.03.21 10:05 Сейчас в теме
Всем Привет!Есть ВПФ ,в МО есть процедура,в которой в цикле для каждой док из СпискаДок делается перерасчет,для этого получают объект и форму этого дока.Не могу понять,почему при получении формы документы выходит Неопределено.Пишу
Для каждого док из СписокДок цикл
	
		
		РассчитываемыйДокумент =  док.ссылка;
		ОбъектФ = РассчитываемыйДокумент.ПолучитьОбъект();
		ПараметрыФормы = Новый Структура;
		ПараметрыФормы.Вставить("Ключ", РассчитываемыйДокумент);
		
		ФормаДокумента = ПолучитьФорму("Документ.НачислениеЗарплаты.Форма.ФормаДокумента",ПараметрыФормы);
......
КонецЦикла;
Показать




Подскажите что не так?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 11.03.21 10:07 Сейчас в теме
Почитайте внимательно о доступности метода ПолучитьФорму()
3. andy_zhav 197 11.03.21 10:11 Сейчас в теме
(1) Для каких целей пытаетесь получить форму в модуле объекта?
4. user1226970 11.03.21 10:22 Сейчас в теме
(3)Для сформирования определенной структуры к расчету и дальнейшего пересчета с помощью подключаемой команды на форме дока
5. andy_zhav 197 11.03.21 10:24 Сейчас в теме
(4) такое можно сделать только с обычными формами в толстом клиенте. В управляемых формах так не получится сделать.
6. user1226970 11.03.21 10:27 Сейчас в теме
(5) Тогда можно вопрос не по теме?) Можно ли в ОМ прописать процедуру,которая будет запускать команду ВПФ,находящуюся в МФ,а не в МО?
7. andy_zhav 197 11.03.21 11:27 Сейчас в теме
(6) Правильнее и проще, мне кажется, сделать наоборот: прописать экспортную функцию в модуле объекта, вызывать ее при необходимости из модуля формы и из модуля объекта.
8. user1226970 11.03.21 11:34 Сейчас в теме
(7)наверное не точно указала для чего это.Я хочу сделать регламентное задание,которое будет запускать эту обработку(ее команду).Команда находится в МФ,так как мне нужно получать Формы документов из цикла и пересчитывать их.Так вот- обработчик РегЗадания находится в общем модуле,пишу процедуру вызова команды,из МО процедура команды вызывается,из МФ не получается.Вот и вопрос-вообще так можно?
10. spacecraft 11.03.21 11:47 Сейчас в теме
(8)
так как мне нужно получать Формы документов из цикла и пересчитывать их.

забудьте это. Только время потеряете. В регламентном задании это не будет никак работать. Переосмыслите задачу.
9. andy_zhav 197 11.03.21 11:41 Сейчас в теме
(8) если конфигурация полностью типовая - ковыряйте код обработчика команды, смотрите какая операция там выполняется. Скорее всего там есть какая-то функция или процедура из общего модуля, которую вызывает обработчик команды. Ну или из модуля объекта или менеджера документа. Разбирайтесь с параметрами, которые передаются в эту процедуру/функцию и эмулируйте нажатие кнопки, вызывая эту процедуру с нужными параметрами
11. user1226970 11.03.21 11:48 Сейчас в теме
(9)посмотрела уже,везде идет заполнение с использованием данных формы(теперь думаю как мне запустить эту обработку по расписанию другими способами
12. andy_zhav 197 11.03.21 11:50 Сейчас в теме
(11) Тогда копируйте ключевые процедуры из модуля формы себе в модуль объекта обработки и адаптируйте их для своих задач
13. user1226970 11.03.21 11:52 Сейчас в теме
(12)Спасибо)но ключевые процедуры тоже предполагают наличие данных формы
14. andy_zhav 197 11.03.21 11:56 Сейчас в теме
(13) Я так думаю данные формы в некоторых случаях может успешно заменить ссылка на документ.
15. cushe 5 11.03.21 23:55 Сейчас в теме
Давайте определимся я говорю о УФ
Я думаю вам нужно начать большой рефакторинг.
Работа с регламентом подразумевает использование контекста Сервера
Работы с формами подразумевает использование контекста Клиента, вам не удастся работать с формами из регламента тк контекста Клиента там в принципе не будет.
Посему следует перенести всю логику двойного назначения (ту что планируете использовать в форме и регламенте) в отдельный модуль или менеджер документа, организовать передачу данных формы на для вызова процедур на сервере через структуры структур мы как правило используем такое подход.
Как альтернативу можно использовать отдельно запущенный экземпляр клиента, на котором запущена некая обработка, которая через обработчик ожидания будет открывать вашу форму по расписанию.
16. SlavaKron 12.03.21 08:52 Сейчас в теме
В качестве вредного совета, используйте Automation сервер (V83.Application) для получения "формы" на сервере.
Оставьте свое сообщение

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