ПриОкончанииРедактирования: собственный планировщик

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

Отличаем завершение изменения встречи от отмены, используя настоящий признак ОтменаРедактирования.

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

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

Подготовка

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

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

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

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

&НаКлиенте
Процедура ПолеПланаПриОкончанииРедактирования(Элемент, НовыйЭлемент, ОтменаРедактирования)
    Если ОтменаРедактирования Тогда
        Статус = "Редактирование собственной встречи отменено";
    Иначе
        Статус = "Редактирование собственной встречи завершено";
    КонецЕсли;
    Сообщить(Статус);
КонецПроцедуры
Та же форма: серверная подготовка собственного плана и встреч
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    План = Новый Планировщик;
    План.НачалоПериодаОтображения = Дата(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С» и не аффилирован с ней.