Регламентное задание, расписание, вызов клиентского метода

1. truba 12.07.18 16:38 Сейчас в теме
Уважаемые Коллеги, подскажите такой вопрос:
Есть в УТ11 регламентное задание - запуск дополнительной внешней обработки - вызов серверного метода.

Нюанс в том что весь код, а его достаточно много, реализован в этой обработке на клиенте.
Поэтому есть необходимость выполнить клиенский метод из серверного метода.

Возможно ли это с помощью конструкции наподобие:

Процедура ВыполнитьКоманду(Идентификатор) Экспорт
    Если Идентификатор = "МояКоманда" Тогда
        МояФорма = ПолучитьФорму("Форма");
        МояФорма.ВыполнитьМойМетод();
    КонецЕсли;
КонецПроцедуры


на форме обработки:
Процедура ВыполнитьМойМетод() Экспорт
...
КонецПроцедуры


Пока эксперименты показывают что невозможно. Может есть другие способы запустить клиентский метод в регламентных заданиях?
По теме из базы знаний
Найденные решения
19. spacecraft 13.07.18 11:15 Сейчас в теме
(17) да. При запуске 8.3.10 точно такая ересь.
для 8.3.11 и 8.3.12 уже исправлено. Только Толстый клиент.
для 8.3.9 тоже правильно, только Толстый клиент.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SagittariusA 12.07.18 17:35 Сейчас в теме
(1)
МояФорма = ПолучитьФорму("Форма");

Метод клиентский, поэтому и не работает.

Новоиспеченный функционал по серверу взаимодействия вам в помощь)))
5. truba 13.07.18 07:54 Сейчас в теме
(2) Это смотря метод какого контекста. К примеру у внешней обработки метод
ВнешняяОбработка (ExternalDataProcessor)
ПолучитьФорму (GetForm)
Доступность:

Сервер, толстый клиент, внешнее соединение.

Т.е. что то вроде МояОбработка.ПолучитьФорму();

Или я не догоняю что пишет СП или он недоговаривает
9. spacecraft 13.07.18 08:11 Сейчас в теме
(5) это в каком СП такое?
Это для ВнешняяОбработка доступность такая.
Для ПолучитьФорму() - доступность только Толстый клиент.
10. truba 13.07.18 08:27 Сейчас в теме
(9) 8,3,10,2667

Возвращаемое значение:

Тип: Форма; УправляемаяФорма; Неопределено.
Неопределено - если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы.
Описание:

Получает форму внешней обработки.

Доступность:

Сервер, толстый клиент, внешнее соединение.

Вот эта словесная конструкция манит своей возможностью заполучить клиентский контекст на сервере)
13. spacecraft 13.07.18 08:33 Сейчас в теме
(10) прикольно если так. Точно ошибка. Можно скриншот?
Доступность только Толстый клиент.
17. truba 13.07.18 11:01 Сейчас в теме
(13) не знаю насколько 1С может возбудиться от таких принтскринов)
Копия текста из СП
Предприятие 8.3.10.2667 32 бита. Вполне подозреваю что это может быть ошибкой синтаксис-помощника ну или полученная форма будет представлять из себя только серверную часть, которая скомпилирована для сервера, т.е. будут отсутствовать клиентские методы...
18. spacecraft 13.07.18 11:09 Сейчас в теме
(17) прикольно. явно ошибка.
Все тоже самое, только:
Доступность:

Толстый клиент.

8.3.12.1440
19. spacecraft 13.07.18 11:15 Сейчас в теме
(17) да. При запуске 8.3.10 точно такая ересь.
для 8.3.11 и 8.3.12 уже исправлено. Только Толстый клиент.
для 8.3.9 тоже правильно, только Толстый клиент.
20. truba 13.07.18 11:47 Сейчас в теме
(19) Спасибо! значит без клиента никак
16. SagittariusA 13.07.18 09:48 Сейчас в теме
(5)
Нашел тоже в СП.
Тогда сначала нужно саму обработку получить, потом пробовать от нее форму взять.
Если получится - напишите )
Самому интересно стало...
3. spacecraft 12.07.18 17:38 Сейчас в теме
(1) в регламентных заданиях, в общем случае, клиента совсем нет. Какой клиентский вызов?
6. truba 13.07.18 07:58 Сейчас в теме
(3) Отвечу уклончиво)) не я писал реализацию регламентных заданий, поэтому не могу исключить создание эмулятора клиента для какого либо запущенного процесса на сервере. Хотя и звучит странно, тут согласен.
4. mad375 13.07.18 07:44 Сейчас в теме
Как вариант запускать обработку средствами системы(через планировщик задач windows), а не регламентным заданием, предварительно доработав напильником, чтобы запускалась автоматически вместе со стартом программы.
7. truba 13.07.18 08:01 Сейчас в теме
(4) да, так в данный момент и работает и есть внутреннее желание переписать на что то более удобное. Весь вопрос в запуске клиентского метода из под сервера, т.е. надежда что в серверном контексте можно сэмулировать создание клиента.
8. mad375 13.07.18 08:09 Сейчас в теме
Точно нет, да и проще и надежнее на серверные процедуры переписать. Костыли не нужны
11. truba 13.07.18 08:30 Сейчас в теме
(8) Там в обработке, к сожалению, несколько тысяч строк клиентозависимого кода на поддержке, который постоянно придется дублировать на сервер в регламентные при изменении от поставщика. Если бы не этот факт разово переписать на сервер конечно имело бы смысл. А так при таких бизнесс-процессах получается источник проблем и двойной работы в моем случае.
12. mad375 13.07.18 08:32 Сейчас в теме
Ну тогда оставить как есть, я не очень понимаю зачем переделывать, если все работает, ради централизованного управления?
14. mad375 13.07.18 08:37 Сейчас в теме
У меня вот так:

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
15. spacecraft 13.07.18 08:48 Сейчас в теме
(14) это для глобального контекста ПолучитьФорму. Там тоже можно получить форму внешней обработки, но с ограничением.
Выше приводилось описание для ВнешняяОбработка ПолучитьФорму(). Там только Толстый клиент.
Оставьте свое сообщение

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