Тип: Рамка. Содержит параметры рамки вокруг элемента планировщика.
Полное описание, параметры и ограничения
ЭлементПланировщика.Рамка (PlannerItem.Border)
ЭлементПланировщика (PlannerItem)
Рамка (Border)
Не применяется в интерфейсе «Версия 8.5»
Доступен, начиная с версии 8.3.18.
Использование:
Чтение и запись.
Описание:
Тип: Рамка.
Содержит параметры рамки вокруг элемента планировщика.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.18.
Использование в интерфейсе:
Не применяется в интерфейсе «Версия 8.5»
Методическая информация
Практические примеры
Очистить события вне своего периода и проверить ограничения оформления
На трёх своих одиночных событиях оставим только попадающее в текущий период; проверим правильную библиотечную картинку и значение рамки без обещания её отображения в интерфейсе 8.5.
Где и как запускать
Полный обычный клиентский общий модуль УчебныеЗамещения85; данные планировщика в памяти, визуальное поле и перетаскивание не выполняются.
Подготовка
НОВАЯ собственная файловая база 8.5.1.1343, конфигурация УчебныеЗамещения85, совместимость НеИспользовать, обычное приложение и толстый клиент. Не рабочая база и не её копия; без расширений, разделителей и фоновых прикладных заданий. Здесь 1С и UI не запускались: runtimeVerifiedScenarios=0.
Общий модуль УчебныеЗамещения85: неглобальный, Клиент (обычное приложение)=Да, Сервер=Нет, остальные клиентские флаги=Нет, Привилегированный=Нет. Полный основной модуль выбранного урока вставляется целиком. Обработка УчебныеЗамещения85 → обычная основная форма Пульт → кнопка Выполнить → действие ВыполнитьНажатие; полный модуль формы ниже.
Данные строятся в памяти: собственный Планировщик, собственное ежедневное событие 08.10.2026 09:00–10:00 либо три одиночных события внутри/вне заданного периода. Записи календарей, задач, сотрудников и документов не используются. Не вызывайте Напечатать.
Первый урок использует три даты исходных повторений: 09, 10 и 11 октября в 09:00. Замещённое повторение 10 октября переносится на 11:00–12:00, но ДатаЗамещения остаётся 10 октября 09:00. Не подменяйте дату-ключ новым временем события.
Для второго урока: сохраните полный SVG из дополнительного блока как свой marker16.svg и импортируйте в Общие → Общие картинки → Уч85Маркер16. Один вариант 16×16, не коллекция картинок. Это собственная картинка конфигурации, а не абсолютный объект из произвольного файла. Здесь импорт и создание файла не выполнялись.
Второй урок проверяет ВидКартинки.ИзБиблиотеки и фактические Ширина()/Высота()=16 до назначения. При другом виде, размере или Неопределено опыт останавливается. Для первого урока общая картинка вообще не нужна.
F7 и обновление только собственной базы, затем Пульт обычного толстого клиента. Первый урок проверяет данные замещений. Второй не подключает Планировщик к визуальному полю: проверяет модель картинки/рамки и очистку событий по собственным периодам, не внешний вид интерфейса.
Свойство Рамка доступно на платформе, но по установленной справке НЕ применяется в интерфейсе Версия 8.5. Успешное присваивание/чтение не обещает визуальную рамку. В этой партии не выдаём чтение пустого ЗначенияИзмерений за назначение события ресурсу.
Процедура ВыполнитьПример() Экспорт
ПроверитьСвойКонтекст();
КартинкаМаркера = БиблиотекаКартинок.Уч85Маркер16;
Если ТипЗнч(КартинкаМаркера) <> Тип("Картинка") Или КартинкаМаркера.Вид <> ВидКартинки.ИзБиблиотеки
Или КартинкаМаркера.Ширина() <> 16 Или КартинкаМаркера.Высота() <> 16 Тогда
ВызватьИсключение "Нужна собственная одиночная библиотечная картинка ровно 16×16";
КонецЕсли;
План = Новый Планировщик;
План.НачалоПериодаОтображения = Дата(2026, 10, 10);
План.КонецПериодаОтображения = Дата(2026, 10, 11);
План.ТекущиеПериодыОтображения.Очистить();
План.ТекущиеПериодыОтображения.Добавить(План.НачалоПериодаОтображения, План.КонецПериодаОтображения);
ДоПериода = План.Элементы.Добавить(Дата(2026, 10, 8, 9), Дата(2026, 10, 8, 10));
ДоПериода.Значение = "before";
Внутри = План.Элементы.Добавить(Дата(2026, 10, 10, 9), Дата(2026, 10, 10, 10));
Внутри.Значение = "inside";
Внутри.Картинка = КартинкаМаркера;
Внутри.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Двойная, 2);
Если Внутри.Картинка.Вид <> ВидКартинки.ИзБиблиотеки
Или Внутри.Рамка.ТипРамки <> ТипРамкиЭлементаУправления.Двойная Или Внутри.Рамка.Толщина <> 2 Тогда
ВызватьИсключение "Проверяем свойства модели, а не обещаем визуальную рамку интерфейса Версия 8.5";
КонецЕсли;
ПослеПериода = План.Элементы.Добавить(Дата(2026, 10, 12, 9), Дата(2026, 10, 12, 10));
ПослеПериода.Значение = "after";
Если План.Элементы.Количество() <> 3 Тогда
ВызватьИсключение "Нужны только три собственных одиночных события";
КонецЕсли;
План.Элементы.УдалитьНеиспользуемые();
Если План.Элементы.Количество() <> 1 Или План.Элементы.Получить(0).Значение <> "inside" Тогда
ВызватьИсключение "Без UI-перетаскивания должен остаться только элемент внутри собственного периода";
КонецЕсли;
Сообщить("Остался inside: библиотечная картинка 16×16 и значение рамки проверены. В интерфейсе Версия 8.5 рамка не применяется.");
КонецПроцедуры
Процедура ПроверитьСвойКонтекст()
Если Метаданные.РежимСовместимости <> Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать Тогда
ВызватьИсключение "Нужен собственный стенд УчебныеЗамещения85 платформы 8.5.1.1343";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Учебный вывод не должен выполняться внутри чужой транзакции";
КонецЕсли;
КонецПроцедурыУчебныеЗамещения85.Пульт
УчебныеЗамещения85 → Обработки → УчебныеЗамещения85 → Формы → Пульт → Модуль
Полный модуль собственной обычной формы, не выполнялся.
Процедура ВыполнитьНажатие(Кнопка)
УчебныеЗамещения85.ВыполнитьПример();
КонецПроцедурыmarker16.svg
Свой файл marker16.svg для импорта в общую картинку Уч85Маркер16.
Полный самостоятельный SVG 16×16, не BSL. Импорт в 1С здесь не выполнялся.
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="1" y="1" width="14" height="14" rx="3" fill="#2255aa"/><path d="M4 8L7 11L12 5" fill="none" stroke="#ffffff" stroke-width="2"/></svg>Разбор по шагам
Используем свою общую картинку Уч85Маркер16. Проверяем реальный тип, библиотечный вид и размер 16×16; абсолютная картинка по справке не годится для элемента планировщика.
Ширина()/Высота() могут вернуть Неопределено для части коллекции картинок. Этот стенд требует отдельный одиночный вариант; неизвестный размер не считается шестнадцатью.
Новый собственный план имеет явный период 10–11 октября и одну такую же запись ТекущиеПериодыОтображения. Не полагаемся на сегодняшнюю дату или случайные исходные периоды.
Создаём before 8 октября, inside 10 октября и after 12 октября. События не на границах периода, не повторяются и не перетаскиваются: визуальное поле формы здесь не создаётся.
Картинка присваивается inside, Рамка задаётся документированным конструктором с Двойная и толщиной 2. Затем читаем реальные свойства рамки, не меняем readonly-поля Рамка.ТипРамки/Толщина.
Установленная статья ЭлементПланировщика.Рамка прямо говорит Не применяется в интерфейсе Версия 8.5. Поэтому успешное чтение модели не представляется визуальной проверкой или способом заставить этот интерфейс рисовать рамку.
УдалитьНеиспользуемые удаляет события вне текущих периодов, если они не перетаскиваются. В нашем плане без UI остаётся только inside; это не универсальная очистка всех событий, невидимых в данный момент на экране.
После удаления внешние переменные before/after не используются. Это очистка собственного объекта в памяти, не удаление встреч пользователя или записей календаря.
Как проверить результат
Будущий тест: F7, собственная библиотечная картинка, Пульт. До очистки три своих события, после — ровно inside. Здесь runtimeVerifiedScenarios=0.
Картинка имеет ИзБиблиотеки и размеры 16×16; абсолютный файл, другой размер или Неопределено должен вызвать отказ до создания плана.
Значение рамки модели содержит Двойная и толщину 2. В интерфейсе Версия 8.5 её появление не ожидается и не является критерием успеха.
Переместите период в коде только своего стенда на 12 октября и обновите ожидаемый ключ: должен сохраниться after. Не меняйте чужой открытый план.
Проверку исключения для перетаскиваемого элемента нельзя подтвердить этим без-UI опытом. Для этого потребуется отдельное поле, событие и разрешённый ручной тест; здесь такой результат не заявлен.
Ожидаемый результат
Будущий результат — inside в своём плане, проверенные библиотечный маркер и данные рамки с явным ограничением интерфейса 8.5.
На что обратить внимание
УдалитьНеиспользуемые ориентируется на ТекущиеПериодыОтображения и исключает перетаскиваемые события. Оно не обязано удалять каждое событие, которого не видно из-за фильтра или прокрутки.
Картинка элемента требует 16×16 и не должна быть Абсолютная. Собственная общая картинка из библиотеки и абсолютная картинка из произвольного файла — разные виды.
Наличие свойства Рамка в API платформы не означает его применение текущим интерфейсом. Не выдавайте модельные проверки за скриншот или испытание поля планировщика.
Здесь нет ресурса и нет назначения измерений. Чтение пустого ЗначенияИзмерений не добавляется к покрытию этого незаполненного пункта.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.