Запустить второй собственный сеанс и получить код выхода

Учебные задачи

Код возвращается выходным третьим параметром только при ожидании корректного завершения.

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

Тонкий или толстый клиент.

Подготовка

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

  2. Только собственная учебная база в тонком или толстом клиенте. Метод запустит реальный новый сеанс с текущими установками; завершают его вручную. Здесь запуск не выполняется.

&НаКлиенте
Процедура ОткрытьВторойУчебныйСеанс()
    КодВыхода = Неопределено;
    ЗапуститьСистему("", Истина, КодВыхода);
    Если КодВыхода = Неопределено Тогда
        Сообщить("Код завершения не получен");
    Иначе
        Сообщить("Код завершения: " + Строка(КодВыхода));
    КонецЕсли;
КонецПроцедуры

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

  1. Подготовьте отдельный учебный сеанс.

  2. Запустите с ожиданием и третьим выходным параметром.

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

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

  1. Процедуре не присваивается вымышленное возвращаемое значение.

  2. Неопределено не подменяется успешным кодом 0.

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

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

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

  1. Ожидание приостанавливает продолжение вызывающего кода. Не запускайте рекурсивно из стартового обработчика, иначе можно породить множество сеансов.

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

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

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

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

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