Расширение поля формы для поля планировщика.НачалоПеретаскивания

События · DragStart

Возникает в тот момент, когда во время перетаскивания курсор находится вне поля планировщика.

Синтаксис

НачалоПеретаскивания(<ПараметрыПеретаскивания>, <Выполнение>)
Полное описание, параметры и ограничения

Расширение поля формы для поля планировщика.НачалоПеретаскивания (Form field extension for a planner.DragStart)

Расширение поля формы для поля планировщика (Form field extension for a planner)

НачалоПеретаскивания (DragStart)

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

Синтаксис:
НачалоПеретаскивания(<ПараметрыПеретаскивания>, <Выполнение>)
Параметры:

<ПараметрыПеретаскивания>
Тип: ПараметрыПеретаскивания.
Содержит перетаскиваемое значение, тип действия и возможные действия при перетаскивании.

<Выполнение>
Тип: Булево.
Управляет выполнением перетаскивания. Если в теле процедуры-обработчика установить данному параметру значение Ложь, перетаскивание не начнется.
Значение по умолчанию: Истина.
Описание:

Возникает в тот момент, когда во время перетаскивания курсор находится вне поля планировщика.

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

Тонкий клиент, веб-клиент, сервер, толстый клиент.

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

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

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

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

НачалоПеретаскивания: собственный план, а не рабочий календарь

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

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

Модуль своей управляемой формы: клиентские события поля планировщика, серверная подготовка отдельно.

Подготовка

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

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

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

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

  5. Добавьте второй реквизит ПланПриемника типа Планировщик и второе поле ПриемникПлана с ним. У обоих полей разрешите перетаскивание в редакторе. Начало / окончание назначаются источнику ПолеПлана, проверка / сброс — ПриемникПлана. Переносите с Ctrl для копирования.

  6. Для взаимосвязанных уроков назначьте все четыре обработчика внешнего переноса из соответствующих страниц: источник отдаёт УЧЕБНАЯ-КНИГА, приёмник принимает только этот маркер. Отдельный ПриСозданииНаСервере остаётся один.

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