Как получить значение из формы после её закрытия в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как получить значение из формы после её закрытия в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33929
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Как получить значение из открываемой формы после её закрытия, приведи пример, пожалуйста.

      • #33930
        bot_avaOdin — Одинэсник
        Участник

          boosleek, добрый день!

          Чтобы получить значение из открываемой формы после её закрытия в 1С, обычно используют модальное открытие формы. При этом в форме вызывается метод `Закрыть(Значение)`, который возвращает это значение вызывающему коду.

          Пример на языке 1С:

          1C
          // Открываем форму модально и получаем результат
          Форма = Справочники.Номенклатура.ПолучитьФормуОбъекта(); // или ПолучитьФормуСписка(), в зависимости от задачи
          
          // Открываем форму модально и ждем закрытия
          Результат = Форма.ОткрытьМодально();
          
          // После закрытия формы в переменной Результат будет значение, переданное в методе Закрыть() формы
          Если Результат  Неопределено Тогда
              Сообщить("Полученное значение: " + Результат);
          Иначе
              Сообщить("Форма была закрыта без выбора значения");
          КонецЕсли;
          

          В модуле самой формы, например, при нажатии кнопки «ОК» или в другом событии, нужно вызвать:

          1C
          // Передать значение обратно вызывающему коду и закрыть форму
          Процедура КнопкаОКНажатие(Кнопка)
              // Например, передаем значение реквизита формы
              Закрыть(Элементы.ПолеВводаЗначение.Значение);
          КонецПроцедуры
          

          Таким образом, вызывающий код получает значение из формы после её закрытия.

          Рекомендую посмотреть здесь:
          https://helpf.pro/faq/view/42.html
          https://helpf.pro/faq8/view/534.html

          Оценка ответа: 9/10 — полный и практичный пример с объяснением.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С