Вызов клиента с сервера. Есть ли что-то новое?
Есть серверная процедура. Если входе ее выполнения оказывается, что выборка не пустая, то надо задать вопрос пользователю. В зависимости от ответа поведение у системы будет разное.
Знаю что так нельзя, но читал (или выдаю желаемое за действительность?) , где-то статью что 1C в новых версиях дает механизм для такого. Сейчас найти ее не могу.
Можно ли с сервера вызвать клиентский метод ?
Знаю что так нельзя, но читал (или выдаю желаемое за действительность?) , где-то статью что 1C в новых версиях дает механизм для такого. Сейчас найти ее не могу.
Можно ли с сервера вызвать клиентский метод ?
По теме из базы знаний
- Обзор полезных методов БСП 3.1.4
- Эффективное управление фоновыми заданиями и коммуникация сеансов сервера с Фоном с помощью Структуры обмена (ноу-хау) + Бонус: Альтернативный вариант через Хранилище настроек
- Проблемы на ровном месте, или рассказ о том, как у нас каждое утро стабильно подвисал dev-сервер 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Задавался данным вопросом не один раз, в итоге ответ нет. НЕЛЬЗЯ вызвать с сервера клиентскую процедуру.
Как вариант:
Как вариант:
&НаКлиенте
Процедура ВашаПроверкаВыборки()
Проверка = ВашаСервернаяФункция();
Если Проверка = Истина Тогда
Ответ = Вопрос(НСтр("ru='Ваш Вопрос пользователю?'"),РежимДиалогаВопрос.ДаНет);
Если Ответ = КодВозвратаДиалога.Да Тогда
ВашаПроцедураДальнейшегоПоведенияСистемы1();
Иначе
ВашаПроцедураДальнейшегоПоведенияСистемы2();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
//Ваша серверная процедура, делаем ее функцией чтобы можно было что либо возвращать
//
Функция ВашаСервернаяФункция();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| *
|ИЗ
| Справочник.Ваш КАК ВашСправочник";
Выборка = Запрос.Выполнить().Выгрузить();
Если Выборка.Количество()<>0 Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
// ЭТО Ваш код в ходе которого оказалось что выборка не пустая
КонецФункции
Показать
(1) вызываете серверный метод, что-то делаете. Возвращаетесь на клиента, спрашиваете. После ответа опять вызываете серверный метод.
Механизм оповещения клиента с сервера есть, называется система взаимодействия. Но задать вопрос, получить ответ и продолжить выполнение кода на сервере все равно не получится.
Механизм оповещения клиента с сервера есть, называется система взаимодействия. Но задать вопрос, получить ответ и продолжить выполнение кода на сервере все равно не получится.
Как писал DNN13 сейчас существует Система Взаимодействия которая позволяет сформировать сообщение пользователю и навтыкать в сообщения команды. Когда пользователь ткнет в команду, сервер может ее обработать и что-то соответственно сделать.
Все проверки и ветвления алгоритма если требуется ответы, или действия пользователя, нужно делать в процедурах врываемых с директивой &НаКлиенте.
Действительно для этого в языке есть спец инструменты. Например ПоказатьВопрос(), ПоказатьПредупреждение() и пр.
И далее уже при ответе пользователя Вызывать серверную процедуру. С директивой на &НаСервере
Действительно для этого в языке есть спец инструменты. Например ПоказатьВопрос(), ПоказатьПредупреждение() и пр.
И далее уже при ответе пользователя Вызывать серверную процедуру. С директивой на &НаСервере
Тоже задался подобным вопросом. И вот какая задача:
У меня есть отчет на СКД. Отчет не имеет добавленной формы отчета, соответственно весь код работает на сервере.
Но для отчета нужно реализовать одну дополнительную функцию. Для её реализации нужен доступ к пользовательскому каталогу с правами пользователя, т.е. мне нужно клиентское обращение к каталогу.
Возможно ли реализовать эту задачу без добавления формы отчета?
У меня есть отчет на СКД. Отчет не имеет добавленной формы отчета, соответственно весь код работает на сервере.
Но для отчета нужно реализовать одну дополнительную функцию. Для её реализации нужен доступ к пользовательскому каталогу с правами пользователя, т.е. мне нужно клиентское обращение к каталогу.
Возможно ли реализовать эту задачу без добавления формы отчета?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот