УТ 11.3.2. Оператор Выполнить в веб-клиенте не поддерживается

1. ZhokhovM 729 10.01.17 16:26 Сейчас в теме
Имеется доработанная УТ 11.3.2. В журнале регистрации в серверном режиме есть такая ошибка:
Оператор Выполнить в веб-клиенте не поддерживается
Кто знает как исправить ее?

У нас такие вызовы встречается аж 65 раз. Как натравить "Вычислить" на процедуру?

Предлагали такое решение:
Я: Поиском найти все вызовы оператора Вычислить() и заменить их текстом процедур, которые передавались в виде параметра.
Н: Так Выполнить как раз и использовалась, что бы из вне формы вызвать любой неэкспортируемый формой метод. Ты предлагаешь отказаться от такого подхода и насовать в формы дополнительные методы для каждого случая?
Я: Да, создать экспортные методы для каждого случая.
Как пишут в документации:
"В режиме запуска веб-клиент оператор не поддерживается, при его вызове будет сгенерировано исключение."
Н: Не, ну так каждый может. Это решение означает переписать все неуниверсально. А очень не хочется неуниверсально переписывать. В конфигурации куча форм. И так эти процедуры во многие формы вставлены. А теперь их еще больше делать - не хочется очень.

Есть у кого еще идеи?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. корум 287 10.01.17 16:57 Сейчас в теме
(1)
Есть у кого еще идеи?

просто вызвать сервер, а в нем - выполнить...
3. ZhokhovM 729 10.01.17 17:29 Сейчас в теме
(2)На сервере то проблемы нет. С клиентскими непонятно что делать.
4. корум 287 11.01.17 09:08 Сейчас в теме
(3) переписать на вызов сервера, например.
5. ZhokhovM 729 11.01.17 09:32 Сейчас в теме
(4)не, вы не поняли. как я перепишу на вызов сервера, если нужно вызвать клиентскую процедуру формы?
6. корум 287 11.01.17 11:14 Сейчас в теме
(5)
И так эти процедуры во многие формы вставлены.

вытащить код в общий модуль, например.

Вызывать процедуры общего модуля, а не клиентские процедуры формы.

Лёгкого пути нет, серебряные пули кончились :(
7. ekaruk 4905 17.01.17 00:08 Сейчас в теме
(1) Никак.
Клиентский код, который выполняется в браузере, это по определению JavaScript.
Поэтому произвольный код там выполнить нельзя.
Ибо платформе нужно перевести 1С-ный код в JavaScript.
Только уходить на сервер и выполнять там.
8. marochkin 13 10.07.19 12:05 Сейчас в теме
Если сделать вызываемую процедуру экспортной, то можно так:

Оп = Новый ОписаниеОповещения(Процедура, ЭтаФорма, Элемент);
ВыполнитьОбработкуОповещения(Оп, Элемент);
Огонек; +1 Ответить
Оставьте свое сообщение

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