Регламентное задание, расписание, вызов клиентского метода
Уважаемые Коллеги, подскажите такой вопрос:
Есть в УТ11 регламентное задание - запуск дополнительной внешней обработки - вызов серверного метода.
Нюанс в том что весь код, а его достаточно много, реализован в этой обработке на клиенте.
Поэтому есть необходимость выполнить клиенский метод из серверного метода.
Возможно ли это с помощью конструкции наподобие:
на форме обработки:
Пока эксперименты показывают что невозможно. Может есть другие способы запустить клиентский метод в регламентных заданиях?
Есть в УТ11 регламентное задание - запуск дополнительной внешней обработки - вызов серверного метода.
Нюанс в том что весь код, а его достаточно много, реализован в этой обработке на клиенте.
Поэтому есть необходимость выполнить клиенский метод из серверного метода.
Возможно ли это с помощью конструкции наподобие:
Процедура ВыполнитьКоманду(Идентификатор) Экспорт
Если Идентификатор = "МояКоманда" Тогда
МояФорма = ПолучитьФорму("Форма");
МояФорма.ВыполнитьМойМетод();
КонецЕсли;
КонецПроцедуры
на форме обработки:
Процедура ВыполнитьМойМетод() Экспорт
...
КонецПроцедуры
Пока эксперименты показывают что невозможно. Может есть другие способы запустить клиентский метод в регламентных заданиях?
По теме из базы знаний
- Обзор полезных методов БСП 3.1.4
- Подсистема регулярных заданий
- Взаимодействие с сотрудниками и клиентами из одного окна конфигурации 1С (Телеграм, ВКонтакте, Facebook, Discord). Преимущества, технические особенности, подводные камни
- Самые используемые методы БСП 3.1.9
- Быстрый фронт в базе размером 8.8 терабайт – наши стандарты при разработке компонентов системы
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Это смотря метод какого контекста. К примеру у внешней обработки метод
ВнешняяОбработка (ExternalDataProcessor)
ПолучитьФорму (GetForm)
Доступность:
Сервер, толстый клиент, внешнее соединение.
Т.е. что то вроде МояОбработка.ПолучитьФорму();
Или я не догоняю что пишет СП или он недоговаривает
ВнешняяОбработка (ExternalDataProcessor)
ПолучитьФорму (GetForm)
Доступность:
Сервер, толстый клиент, внешнее соединение.
Т.е. что то вроде МояОбработка.ПолучитьФорму();
Или я не догоняю что пишет СП или он недоговаривает
(9) 8,3,10,2667
Возвращаемое значение:
Тип: Форма; УправляемаяФорма; Неопределено.
Неопределено - если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы.
Описание:
Получает форму внешней обработки.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Вот эта словесная конструкция манит своей возможностью заполучить клиентский контекст на сервере)
Возвращаемое значение:
Тип: Форма; УправляемаяФорма; Неопределено.
Неопределено - если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы.
Описание:
Получает форму внешней обработки.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Вот эта словесная конструкция манит своей возможностью заполучить клиентский контекст на сервере)
(13) не знаю насколько 1С может возбудиться от таких принтскринов)
Предприятие 8.3.10.2667 32 бита. Вполне подозреваю что это может быть ошибкой синтаксис-помощника ну или полученная форма будет представлять из себя только серверную часть, которая скомпилирована для сервера, т.е. будут отсутствовать клиентские методы...
Копия текста из СП |
---|
ВнешняяОбработка (ExternalDataProcessor)
ПолучитьФорму (GetForm) Синтаксис: ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>) Параметры: <Форма> (необязательный) Тип: Строка; ОбъектМетаданных: Форма . Имя формы, как оно задано в конфигураторе, или объект описания метаданного требуемой формы. Если параметр не указан, то используется основная форма, заданная в конфигураторе. <Владелец> (необязательный) Тип: Форма; Элемент управления. Объект, который будет являться владельцем открываемой формы. <КлючУникальности> (необязательный) Тип: Произвольный. В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. При поиске учитываются значения свойств открытых форм соответствующим значениям параметров метода. Если найдена открытая форма (по совпадению всех параметров), то она будет возвращена вместо новой формы. Если из некой формы (один и тот же владелец) требуется открывать новые экземпляры другой формы, то при каждом вызове метода значение данного параметра должно быть уникально (в рамках соответствующих значений свойств открытых форм). Значение параметра присваивается свойству открываемой формы КлючУникальности. Следует учитывать, что при получении формы из "объекта" система получает форму для конкретного экземпляра объекта с учетом совокупности переданных параметров, в то время как для "ссылки" всегда существует только один объект в базе данных и форма получается одна (для одинаковой совокупности параметров). Возвращаемое значение: Тип: Форма; УправляемаяФорма; Неопределено. Неопределено - если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы. Описание: Получает форму внешней обработки. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: При работе внешних обработок в толстом клиенте следует учитывать, что при работе в режиме управляемого приложения возможно открытие только управляемых форм, при работе в обычном режиме - только обычных форм. Пример: Форма = ВнешОбработка.ПолучитьФорму("ГлавнаяФорма"); |
(8) Там в обработке, к сожалению, несколько тысяч строк клиентозависимого кода на поддержке, который постоянно придется дублировать на сервер в регламентные при изменении от поставщика. Если бы не этот факт разово переписать на сервер конечно имело бы смысл. А так при таких бизнесс-процессах получается источник проблем и двойной работы в моем случае.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот