1. ZhokhovM 393 10.01.17 16:26 Сейчас в теме

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

Имеется доработанная УТ 11.3.2. В журнале регистрации в серверном режиме есть такая ошибка:
Оператор Выполнить в веб-клиенте не поддерживается
Кто знает как исправить ее?

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

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

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

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

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

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

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

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

Вакансии

Программист 1С
Чебоксары
зарплата от 50 000 руб. до 70 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 110 000 руб. до 150 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день

Консультант 1С
Москва
зарплата от 100 000 руб. до 140 000 руб.
Временный (на проект)