ПолеКалендаря.ПриИзменении

События · OnChange

Возникает при смене даты.

Синтаксис

ПриИзменении()
Полное описание, параметры и ограничения

ПолеКалендаря.ПриИзменении (CalendarBox.OnChange)

ПолеКалендаря (CalendarBox)

ПриИзменении (OnChange)

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

Синтаксис:
ПриИзменении()
Описание:

Возникает при смене даты.

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

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

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

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

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

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

ПриИзменении: собственный элемент Календарь

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

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

Модуль своей обычной формы, толстый клиент: основной обработчик элемента и отдельное ПриОткрытии.

Подготовка

  1. Создайте свою внешнюю обработку с обычной формой и запускайте её в толстом клиенте. Директивы &НаКлиенте / &НаСервере сюда не добавляются.

  2. Реквизиты формы: Статус (Строка 200), Количество (Число 10.0), Цена и Сумма (Число 12.2). Выведите их на форму. Основной блок назначается событию конкретного элемента, не вызывается вручную.

  3. Дополнительный блок назначьте событию формы ПриОткрытии. Он создаёт только собственные данные в памяти.

  4. Добавьте ПолеКалендаря с именем Календарь, реквизит ДатаДоставки типа Дата и поле этой даты. Основной блок назначьте указанному событию календаря.

  5. Подготовка показывает октябрь 2026 года. Для проверки оформления затем перейдите к соседнему месяцу: правило рассчитывается от месяца самого ОформлениеПериода.

Процедура КалендарьПриИзменении(Элемент)
    ДатаДоставки = НачалоДня(Элемент.ТекущаяДата);
    Статус = "Своя дата: " + Строка(ДатаДоставки);
    Сообщить(Статус);
    Сообщить("Будний день: " + Строка(ДеньНедели(ДатаДоставки) <= 5));
КонецПроцедуры
Назначить событию своей обычной формы ПриОткрытии
Процедура ПриОткрытии()
    Количество = 3;
    Цена = 250;
    Сумма = Количество * Цена;
    Статус = "Готово";
    ДатаДоставки = Дата(2026, 10, 15);
    ЭлементыФормы.Календарь.НачалоПериодаОтображения = Дата(2026, 10, 1);
    ЭлементыФормы.Календарь.КонецПериодаОтображения = Дата(2026, 10, 31);
    ЭлементыФормы.Календарь.ТекущаяДата = ДатаДоставки;
КонецПроцедуры

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

  1. При открытии собственная обычная форма заполняет исходные реквизиты и элементы.

  2. Пользователь выполняет описанное действие; платформа передаёт Элемент и параметры события.

  3. Получаем выбранную / активную дату своего календаря, обновляем реквизит собственной формы и показываем признак понедельник–пятница.

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

  1. Выберите или активизируйте 16 октября 2026: показана своя дата и Истина для буднего дня.

  2. 17 октября даёт Ложь. Это простой признак дня недели, а не производственный календарь праздников.

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

Событие обработано в конкретной собственной обычной форме с реальными данными и назначенным обработчиком.

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

  1. Не переносите ЭлементыФормы в модуль управляемой формы.

  2. Событие элемента не имитируется прямым вызовом процедуры; программное присваивание не обязано вызывать интерактивное событие.

  3. Запись базы, отправка сообщений, печать и код 1С при сборке HTML не выполнялись.

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

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

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

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

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