ПриСменеТекущегоПериодаОтображения: собственный планировщик

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

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

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

Клиентское событие поля ПолеПлана в своей управляемой форме. Серверный источник данных — отдельным блоком.

Подготовка

  1. Создайте собственную внешнюю учебную обработку с управляемой формой. Реквизит УчебныйПлан типа Планировщик, поле ПолеПлана вида ПолеПланировщика с путём УчебныйПлан.

  2. Реквизиты формы Статус (Строка 200), РазрешитьУдаление (Булево), ЗапретитьСворачивание (Булево); выведите их на форму. Это только свои данные в памяти.

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

  4. Откройте собственную обработку в тонком клиенте. План показывает 15 октября 2026 года 09:00–17:00, две встречи 10:00–11:00 и 10:15–11:15. Никаких календарей рабочей базы, пользователей, отправки, печати или записи документов нет.

  5. Переключите дату / текущий период штатными средствами поля планировщика. Не подменяйте действие прямым вызовом процедуры.

&НаКлиенте
Процедура ПолеПланаПриСменеТекущегоПериодаОтображения(Элемент, ТекущиеПериодыОтображения, СтандартнаяОбработка)
    Статус = "Текущих периодов: " + Строка(ТекущиеПериодыОтображения.Количество());
    Сообщить(Статус);
    Сообщить("Стандартное переключение периода не отключено");
КонецПроцедуры
Та же форма: серверная подготовка собственного плана и встреч
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    План = Новый Планировщик;
    План.НачалоПериодаОтображения = Дата(2026, 10, 15, 9);
    План.КонецПериодаОтображения = Дата(2026, 10, 15, 17);
    План.ТекущиеПериодыОтображения.Очистить();
    План.ТекущиеПериодыОтображения.Добавить(План.НачалоПериодаОтображения, План.КонецПериодаОтображения);
    План.ОтображатьТекущуюДату = Ложь;
    План.ШкалаВремени.Положение = ПоложениеШкалыВремени.Верх;
    Встреча = План.Элементы.Добавить(Дата(2026, 10, 15, 10), Дата(2026, 10, 15, 11));
    Встреча.Значение = "УЧЕБНАЯ-ВСТРЕЧА";
    Встреча.Текст = "Разбор собственной книги";
    Вторая = План.Элементы.Добавить(Дата(2026, 10, 15, 10, 15), Дата(2026, 10, 15, 11, 15));
    Вторая.Значение = "УЧЕБНАЯ-ПРОВЕРКА";
    Вторая.Текст = "Проверка учебного задания";
    РазрешитьУдаление = Ложь;
    ЗапретитьСворачивание = Истина;
    Статус = "Собственный план подготовлен";
    УчебныйПлан = План;
КонецПроцедуры

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

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

  2. Платформа вызывает назначенное событие поля; Элемент добавлен к сигнатуре как контекст элемента формы.

  3. Смена отображаемого периода приходит с настоящей коллекцией текущих периодов. Собственный план не перечитывается из базы.

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

  1. После смены периода сообщение показывает количество его частей.

  2. Событие не означает изменение дат самих встреч; они остаются на собственной подготовленной дате.

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

Событие показано с настоящим собственным источником данных и явными условиями вызова.

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

  1. Назначьте событие ПолеПлана, не одноимённое событие обычной формы.

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

  3. Примеры не записывают календари и не подтверждают выполнение BSL в 1С.

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

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

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

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

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