ЭлементПланировщика.Рамка

Свойства · Border

Тип: Рамка. Содержит параметры рамки вокруг элемента планировщика.

Полное описание, параметры и ограничения

ЭлементПланировщика.Рамка (PlannerItem.Border)

ЭлементПланировщика (PlannerItem)

Рамка (Border)

Не применяется в интерфейсе «Версия 8.5»

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

Использование:
Чтение и запись.
Описание:
Тип: Рамка.
Содержит параметры рамки вокруг элемента планировщика.
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

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

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

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

Не применяется в интерфейсе «Версия 8.5»

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

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

Очистить события вне своего периода и проверить ограничения оформления

На трёх своих одиночных событиях оставим только попадающее в текущий период; проверим правильную библиотечную картинку и значение рамки без обещания её отображения в интерфейсе 8.5.

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

Полный обычный клиентский общий модуль УчебныеЗамещения85; данные планировщика в памяти, визуальное поле и перетаскивание не выполняются.

Подготовка

  1. НОВАЯ собственная файловая база 8.5.1.1343, конфигурация УчебныеЗамещения85, совместимость НеИспользовать, обычное приложение и толстый клиент. Не рабочая база и не её копия; без расширений, разделителей и фоновых прикладных заданий. Здесь 1С и UI не запускались: runtimeVerifiedScenarios=0.

  2. Общий модуль УчебныеЗамещения85: неглобальный, Клиент (обычное приложение)=Да, Сервер=Нет, остальные клиентские флаги=Нет, Привилегированный=Нет. Полный основной модуль выбранного урока вставляется целиком. Обработка УчебныеЗамещения85 → обычная основная форма Пульт → кнопка Выполнить → действие ВыполнитьНажатие; полный модуль формы ниже.

  3. Данные строятся в памяти: собственный Планировщик, собственное ежедневное событие 08.10.2026 09:00–10:00 либо три одиночных события внутри/вне заданного периода. Записи календарей, задач, сотрудников и документов не используются. Не вызывайте Напечатать.

  4. Первый урок использует три даты исходных повторений: 09, 10 и 11 октября в 09:00. Замещённое повторение 10 октября переносится на 11:00–12:00, но ДатаЗамещения остаётся 10 октября 09:00. Не подменяйте дату-ключ новым временем события.

  5. Для второго урока: сохраните полный SVG из дополнительного блока как свой marker16.svg и импортируйте в Общие → Общие картинки → Уч85Маркер16. Один вариант 16×16, не коллекция картинок. Это собственная картинка конфигурации, а не абсолютный объект из произвольного файла. Здесь импорт и создание файла не выполнялись.

  6. Второй урок проверяет ВидКартинки.ИзБиблиотеки и фактические Ширина()/Высота()=16 до назначения. При другом виде, размере или Неопределено опыт останавливается. Для первого урока общая картинка вообще не нужна.

  7. F7 и обновление только собственной базы, затем Пульт обычного толстого клиента. Первый урок проверяет данные замещений. Второй не подключает Планировщик к визуальному полю: проверяет модель картинки/рамки и очистку событий по собственным периодам, не внешний вид интерфейса.

  8. Свойство Рамка доступно на платформе, но по установленной справке НЕ применяется в интерфейсе Версия 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>

Разбор по шагам

  1. Используем свою общую картинку Уч85Маркер16. Проверяем реальный тип, библиотечный вид и размер 16×16; абсолютная картинка по справке не годится для элемента планировщика.

  2. Ширина()/Высота() могут вернуть Неопределено для части коллекции картинок. Этот стенд требует отдельный одиночный вариант; неизвестный размер не считается шестнадцатью.

  3. Новый собственный план имеет явный период 10–11 октября и одну такую же запись ТекущиеПериодыОтображения. Не полагаемся на сегодняшнюю дату или случайные исходные периоды.

  4. Создаём before 8 октября, inside 10 октября и after 12 октября. События не на границах периода, не повторяются и не перетаскиваются: визуальное поле формы здесь не создаётся.

  5. Картинка присваивается inside, Рамка задаётся документированным конструктором с Двойная и толщиной 2. Затем читаем реальные свойства рамки, не меняем readonly-поля Рамка.ТипРамки/Толщина.

  6. Установленная статья ЭлементПланировщика.Рамка прямо говорит Не применяется в интерфейсе Версия 8.5. Поэтому успешное чтение модели не представляется визуальной проверкой или способом заставить этот интерфейс рисовать рамку.

  7. УдалитьНеиспользуемые удаляет события вне текущих периодов, если они не перетаскиваются. В нашем плане без UI остаётся только inside; это не универсальная очистка всех событий, невидимых в данный момент на экране.

  8. После удаления внешние переменные before/after не используются. Это очистка собственного объекта в памяти, не удаление встреч пользователя или записей календаря.

Как проверить результат

  1. Будущий тест: F7, собственная библиотечная картинка, Пульт. До очистки три своих события, после — ровно inside. Здесь runtimeVerifiedScenarios=0.

  2. Картинка имеет ИзБиблиотеки и размеры 16×16; абсолютный файл, другой размер или Неопределено должен вызвать отказ до создания плана.

  3. Значение рамки модели содержит Двойная и толщину 2. В интерфейсе Версия 8.5 её появление не ожидается и не является критерием успеха.

  4. Переместите период в коде только своего стенда на 12 октября и обновите ожидаемый ключ: должен сохраниться after. Не меняйте чужой открытый план.

  5. Проверку исключения для перетаскиваемого элемента нельзя подтвердить этим без-UI опытом. Для этого потребуется отдельное поле, событие и разрешённый ручной тест; здесь такой результат не заявлен.

Ожидаемый результат

Будущий результат — inside в своём плане, проверенные библиотечный маркер и данные рамки с явным ограничением интерфейса 8.5.

На что обратить внимание

  1. УдалитьНеиспользуемые ориентируется на ТекущиеПериодыОтображения и исключает перетаскиваемые события. Оно не обязано удалять каждое событие, которого не видно из-за фильтра или прокрутки.

  2. Картинка элемента требует 16×16 и не должна быть Абсолютная. Собственная общая картинка из библиотеки и абсолютная картинка из произвольного файла — разные виды.

  3. Наличие свойства Рамка в API платформы не означает его применение текущим интерфейсом. Не выдавайте модельные проверки за скриншот или испытание поля планировщика.

  4. Здесь нет ресурса и нет назначения измерений. Чтение пустого ЗначенияИзмерений не добавляется к покрытию этого незаполненного пункта.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.