Тип: Булево. Включает механизм перетаскивания у приёмника перетаскивания.
Полное описание, параметры и ограничения
Расширение поля формы для поля календаря.РазрешитьПеретаскивание (Form field extension for a calendar field.EnableDrag)
Расширение поля формы для поля календаря (Form field extension for a calendar field)
РазрешитьПеретаскивание (EnableDrag)
Доступен, начиная с версии 8.2.
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Включает механизм перетаскивания у приёмника перетаскивания.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Истина - перетаскивание разрешено; Ложь - запрещено.
Использование в версии:
Доступен, начиная с версии 8.2.
Описание изменено в версии 8.3.20.
Методическая информация
Практические примеры
Выбрать дату внутри ограниченного учебного периода
Одиночный календарь связан с собственным реквизитом. Кнопка переключает 6 октября и 5 ноября, не выходя за октябрь–ноябрь.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
Создайте отдельную внешнюю обработку с пустой управляемой основной формой. Каждый урок — полный модуль отдельной копии.
В событиях формы свяжите ПриСозданииНаСервере с процедурой из кода. Не создавайте УчебнаяДата, УчебныйКалендарь и проверочную кнопку вручную.
Код создаёт свой календарь и реквизит Дата с начальным значением 04.10.2026. Нет документов, регистров, файлов или календарей рабочего времени базы.
Для размеров в месяцах нужен режим совместимости выше Версия8_3_2. Здесь предполагается учебная база на 8.5.1.1343 без старого режима совместимости.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("УчебнаяДата", Новый ОписаниеТипов("Дата")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
ЭтаФорма.УчебнаяДата = Дата(2026, 10, 4);
Календарь = Элементы.Добавить("УчебныйКалендарь", Тип("ПолеФормы"));
Календарь.Вид = ВидПоляФормы.ПолеКалендаря;
Календарь.ПутьКДанным = "УчебнаяДата";
Календарь.Заголовок = "Собственная учебная дата";
Календарь.НачалоПериодаОтображения = Дата(2026, 10, 1);
Календарь.КонецПериодаОтображения = Дата(2026, 11, 30);
Календарь.РежимВыделения = РежимВыделенияДаты.Одиночный;
Календарь.ПеремещениеПоКалендарю = Истина;
Календарь.ОтображатьТекущуюДату = Истина;
Календарь.РазрешитьНачалоПеретаскивания = Ложь;
Календарь.РазрешитьПеретаскивание = Ложь;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить учебный календарь";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Если ЭтаФорма.УчебнаяДата = Дата(2026, 10, 6) Тогда
ЭтаФорма.УчебнаяДата = Дата(2026, 11, 5);
Иначе
ЭтаФорма.УчебнаяДата = Дата(2026, 10, 6);
КонецЕсли;
Календарь = Элементы.УчебныйКалендарь;
Сообщить(Формат(ЭтаФорма.УчебнаяДата, "ДФ=dd.MM.yyyy"));
Сообщить(ЭтаФорма.УчебнаяДата >= Календарь.НачалоПериодаОтображения И ЭтаФорма.УчебнаяДата <= Календарь.КонецПериодаОтображения);
Сообщить(Не Календарь.РазрешитьНачалоПеретаскивания И Не Календарь.РазрешитьПеретаскивание);
КонецПроцедуры
Разбор по шагам
ПутьКДанным связывает календарь с УчебнаяДата. Переключение меняет этот реквизит, а не текущую дату компьютера.
Начало и конец периода ограничивают доступный диапазон календаря. Разрешение перемещения не отменяет эти границы.
ОтображатьТекущуюДату включает строку с фактической текущей датой клиента, а не с фиксированной УчебнаяДата.
Перетаскивание с обеих сторон выключено: для учебного выбора не нужны чужие файлы или обработчики drag-and-drop.
Как проверить результат
Первое нажатие: 06.10.2026 и два Истина; второе: 05.11.2026 и два Истина.
Выберите допустимый день мышью и проверьте реквизит; переход за 01.10–30.11 не должен разрешаться календарём.
Ожидаемый результат
Выбор связан с настоящим собственным реквизитом и имеет явные границы.
На что обратить внимание
Не путайте выбранную дату и текущую системную дату.
Ограничение интерфейса не заменяет проверку даты перед серверной записью рабочего документа.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.