Глобальный контекст.НеобходимостьЗавершенияСоединения

Методы · ConnectionStopRequest

Позволяет определить, что клиент подсоединен к выключенному рабочему процессу. В этом случае клиентское приложение нужно перезапустить, чтобы оно подсоединилось к включенному рабочему процессу. Выключенный рабочий процесс через некоторое время может быть завершен принудительно, и все, кто к нему подсоединен, завершатся аварийно.

Синтаксис

НеобходимостьЗавершенияСоединения()
Полное описание, параметры и ограничения

Глобальный контекст.НеобходимостьЗавершенияСоединения (Global context.ConnectionStopRequest)

Глобальный контекст (Global context)

НеобходимостьЗавершенияСоединения (ConnectionStopRequest)

Доступен, начиная с версии 8.1.

Синтаксис:
НеобходимостьЗавершенияСоединения()
Возвращаемое значение:
Тип: НеобходимостьЗавершенияСоединения.
Содержит информацию о необходимости завершения соединения.
Описание:

Позволяет определить, что клиент подсоединен к выключенному рабочему процессу. В этом случае клиентское приложение нужно перезапустить, чтобы оно подсоединилось к включенному рабочему процессу.
Выключенный рабочий процесс через некоторое время может быть завершен принудительно, и все, кто к нему подсоединен, завершатся аварийно.

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

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

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Узнать требование завершить соединение

Читаем системное требование завершения и дату возможного принудительного завершения, не останавливая соединение сами.

Где и как запускать

Серверный обработчик своей учебной базы. Это пример синтаксиса: здесь 1С, файлы, базы и сеть не запускались.

Подготовка

  1. Используйте собственную учебную серверную ИБ. Значения формирует платформа при обслуживании рабочего процесса.

  2. Фрагмент не создаёт административное требование и не вызывает завершение или перезапуск.

Требование = НеобходимостьЗавершенияСоединения();
Если Требование.НеобходимоЗавершить Тогда
    Сообщить("Соединение требуется завершить");
    Сообщить(Требование.ПринудительноеЗавершение);
Иначе
    Сообщить("Требование завершения не установлено");
КонецЕсли;

Разбор по шагам

  1. Получаем настоящий системный объект.

  2. Проверяем булево НеобходимоЗавершить.

  3. При требовании показываем дату ПринудительноеЗавершение.

Как проверить результат

  1. Без требования показано второе сообщение.

  2. ПринудительноеЗавершение выводится как дата, не как булево значение.

Ожидаемый результат

Контрольный результат описывает будущую ручную проверку в подготовленном учебном окружении. Выполнение в 1С здесь не проверялось.

На что обратить внимание

  1. Доступны сервер, толстый клиент и внешнее соединение. Наличие требования не означает, что процесс уже завершён.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Прочитать состояние соединения и политику подписи мобильного клиента

На собственной учебной серверной базе получаем диагностические значения, не завершая соединение и не ослабляя проверку подписи.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Собственная пустая конфигурация УчебнаяКонфигурацияСинтаксиса 8.5.1.1343. Создайте отдельную внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой.

  2. Весь клиентский и серверный код одного урока вставьте в модуль формы. Для диагностики завершения соединения используйте только свой изолированный клиент-серверный стенд.

  3. Ничего не устанавливается и не меняется: только чтение текущих параметров/получение штатных менеджеров. Пароли, данные настроек пользователей и имена клиентов не выводятся.

  4. Наличие глобальной функции в справке не отменяет её ограничений клиент/сервер. Серверный код вызывается отдельно с НаСервереБезКонтекста.

&НаКлиенте
Процедура Выполнить(Команда)
    Сообщить(ПрочитатьУчебнуюДиагностику());
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПрочитатьУчебнуюДиагностику()
    Отчет = Новый Массив;
    Необходимость = НеобходимостьЗавершенияСоединения();
    Отчет.Добавить(СтрШаблон("Необходимость завершения соединения: %1", Необходимость));
    СпособПроверки = ПолучитьСпособПроверкиПодписиМобильногоКлиента();
    Отчет.Добавить(СтрШаблон("Текущий способ проверки подписи мобильного клиента: %1", СпособПроверки));
    Отчет.Добавить("Клиент не завершён; политика подписи не изменена");
    Возврат СтрСоединить(Отчет, Символы.ПС);
КонецФункции

Разбор по шагам

  1. Функции доступны серверу/толстому клиенту, поэтому тонкий клиент вызывает отдельную серверную функцию.

  2. НеобходимостьЗавершенияСоединения предназначена для ситуации клиента, подсоединённого к выключенному рабочему процессу. Результат показываем как получен, не выдумываем сравнение с Булево.

  3. При фактической необходимости перезапуска действия согласуют с администратором и сохранением собственной незавершённой работы. Учебный код ничего автоматически не завершает.

  4. Способ проверки подписи читается, не устанавливается. Получить не отключает защиту и не подтверждает подпись конкретного файла.

  5. В экспортированной краткой карточке этого getter возвращаемый тип не указан; пример не угадывает числовые значения политики.

Как проверить результат

  1. Возвращён текст двух фактических состояний. Никакой перезапуск клиента или setter защиты не выполнен.

  2. Ошибка на неподходящем стенде требует проверки доступности/прав, а не добавления привилегированного режима или автоматического завершения процесса.

Ожидаемый результат

Получен безопасный серверный отчёт с отделением чтения политики от её изменения.

На что обратить внимание

  1. Не ослаблять проверку подписи ради учебного теста.

  2. Необходимость завершения соединения не равна признаку модифицированности формы или разрешению убить сеанс.

  3. Предназначение и тип результата функции важнее похожего имени глобального метода и типа.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.