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

События · DragCheck

Возникает при движении курсора в поле-приемнике данных.

Синтаксис

ПроверкаПеретаскивания(<ПараметрыПеретаскивания>, <СтандартнаяОбработка>, <Дата>, <ЗначенияИзмерений>)
Полное описание, параметры и ограничения

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

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

ПроверкаПеретаскивания (DragCheck)

Доступен, начиная с версии 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С» и не аффилирован с ней.