Передать итог расчёта открытым формам

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

Оповещение доставляется созданным формам; имя события отличает учебное сообщение от остальных.

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

Модуль управляемой формы, указанной в подготовке. Директивы &НаКлиенте и &НаСервере уже включены в код.

Подготовка

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

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

  3. Добавьте реквизит формы Итог (Число 15.2) и поле ввода для него. Добавьте команду ПередатьИтог, назначьте одноимённую процедуру и выведите кнопку.

  4. Событию ОбработкаОповещения назначьте процедуру из примера. Отдельный общий модуль и подписка не нужны.

&НаКлиенте
Процедура ПередатьИтог(Команда)
    Оповестить("УчебныйИтогРассчитан", 450, ЭтаФорма);
КонецПроцедуры

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

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

  1. Команда отправляет 450, источником указывает эту форму.

  2. Обработчик принимает только выбранное имя события.

  3. Присвоение меняет реквизит формы в памяти; база не записывается.

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

  1. Нажмите ПередатьИтог: Итог равен 450, появляется сообщение Получен итог: 450.

  2. Поменяйте имя в команде: чужое событие не меняет Итог.

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

Открытая учебная форма приняла настоящее оповещение.

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

  1. Контракт параметра здесь — число из своей команды; для сторонних отправителей договоритесь о формате отдельно.

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

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

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

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

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

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