Рамка.ТипРамки

Свойства · BorderType

Тип: ТипРамкиЭлементаУправления. Содержит тип начертания рамки.

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

Рамка.ТипРамки (Border.BorderType)

Рамка (Border)

ТипРамки (BorderType)

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

Использование:
Только чтение.
Описание:
Тип: ТипРамкиЭлементаУправления.
Содержит тип начертания рамки.
Доступность:

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

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

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

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

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

Оформить четыре границы ячейки и отличить Линия от Рамка

Ячейка табличного документа использует четыре значения Линия. Рамка относится к элементам и областям диаграмм, это другой тип.

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

В учебной управляемой форме создайте команду УчебныйПример и кнопку для неё. Назначьте обработчик действия УчебныйПример. Приведённую процедуру целиком вставьте в модуль формы. Не вставляйте её внутрь другой процедуры. Запустите форму в тонком или толстом клиенте Windows.

Подготовка

  1. Создайте отдельную учебную обработку с управляемой формой; рабочие печатные формы не изменяйте.

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

  3. Диаграмма здесь создана только в памяти для правильного применения Рамка; в окно выводится табличный документ.

  4. Для типа ТипЛинииЯчейкиТабличногоДокумента используйте толщину 1, как требует его конструктор.


&НаКлиенте
Процедура УчебныйПример(Команда)
    Граница = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1, Ложь);
    Сообщить(Граница.ТипЛинии = ТипЛинииЯчейкиТабличногоДокумента.Сплошная);
    Сообщить(Граница.Толщина = 1);
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.Область(, 1, , 1).ШиринаКолонки = 55;
    Ячейка = ТабДок.Область(1, 1);
    Ячейка.Текст = "Ячейка с четырьмя сплошными границами";
    Ячейка.ВысотаСтроки = 30;
    Ячейка.ГраницаСверху = Граница;
    Ячейка.ГраницаСлева = Граница;
    Ячейка.ГраницаСнизу = Граница;
    Ячейка.ГраницаСправа = Граница;
    Ячейка.ЦветРамки = Новый Цвет(70, 110, 190);
    РамкаЗаголовка = Новый Рамка(ТипРамкиЭлементаУправления.Двойная, 2);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ОбластьЗаголовка.Рамка = РамкаЗаголовка;
    Сообщить(РамкаЗаголовка.ТипРамки = ТипРамкиЭлементаУправления.Двойная);
    Сообщить(РамкаЗаголовка.Толщина = 2);
    Сообщить("Вид рамки: " + Строка(РамкаЗаголовка.Вид));
    Сообщить(ТипЗнч(Граница) <> ТипЗнч(РамкаЗаголовка));
    ТабДок.Показать("Границы ячейки — не Рамка элемента");
КонецПроцедуры

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

  1. Создаём Линия подходящего типа и применяем её отдельно к верхней, левой, нижней и правой границам ячейки.

  2. ЦветРамки ячейки задаёт цвет этих границ. Это не объект Рамка, несмотря на название свойства.

  3. Создаём Рамка Двойная/2 и назначаем области заголовка своей диаграммы, где ожидается именно этот тип.

  4. Проверяем ТипЛинии, Толщина, ТипРамки и Вид; свойства значений доступны только для чтения.

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

  1. Ячейка окружена четырьмя синими линиями; контроль линии Сплошная/1 — Истина.

  2. Контроль Рамка Двойная/2 — Истина, типы Линия и Рамка различаются.

  3. Не ожидайте двойную рамку на ячейке: объект Рамка назначен области диаграммы, которая не выводится в этом уроке.

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

Видимое оформление ячейки использует верный тип, а Рамка показана на собственном совместимом объекте.

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

  1. Нельзя присвоить Рамка свойству ГраницаСверху: ожидается Линия.

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

  3. Готовые значения Линия/Рамка не меняются назначением их свойствам: для другого начертания создавайте новый объект.

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

Переключить рамку HTML-поля с учётом ограничений версии 8.5

Используем только поддержанные HTML-полем Одинарная и БезРамки, толщину 1. Цвет задаём полю; в объекте рамки читаем параметры без readonly-присваиваний.

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

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте внешнюю обработку УчебнаяHTMLКарточка85 с пустой управляемой основной формой. Используйте тонкий клиент Windows.

  2. Не добавляйте вручную УчебныйHTML, УчебныйHTMLГотов, УчебноеHTMLПоле или учебные кнопки: полный модуль создаёт реквизиты, элементы и команды.

  3. В свойствах формы → События назначьте ПриСозданииНаСервере. Вставьте один полный модуль урока на уровне модуля, сохраните собственную EPF и откройте её в учебной базе.

  4. Строковый реквизит УчебныйHTML хранит свою страницу. ПолеФормы имеет ВидПоляФормы.ПолеHTMLДокумента и ПутьКДанным = УчебныйHTML.

  5. Страница собирается из собственных 3 книг по 250. Нет внешних URL, изображений, скриптов, файлов, запросов и записей в базу.

  6. Дождитесь отображения карточки. Обработчик ДокументСформирован назначен программно; в модуле управляемой формы он получает Элемент.

  7. Отдельный флаг готовности не подменяет чтение объекта браузера. Не обращайтесь к Документ при серверном создании или до завершения формирования HTML.

  8. Каждый урок запускайте в отдельной копии формы. Работа в 1С, визуальное отображение и история встроенного браузера не проверены; веб-клиент и мобильный клиент в упражнение не входят.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Реквизиты = Новый Массив;
    Реквизиты.Добавить(Новый РеквизитФормы("УчебныйHTML", Новый ОписаниеТипов("Строка")));
    Реквизиты.Добавить(Новый РеквизитФормы("УчебныйHTMLГотов", Новый ОписаниеТипов("Булево")));
    ЭтаФорма.ИзменитьРеквизиты(Реквизиты);
    ЭтаФорма.УчебныйHTMLГотов = Ложь;
    Поле = Элементы.Добавить("УчебноеHTMLПоле", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеHTMLДокумента;
    Поле.ПутьКДанным = "УчебныйHTML";
    Поле.УстановитьДействие("ДокументСформирован", "УчебныйДокументСформирован");
    Поле.Вывод = ИспользованиеВывода.Запретить;
    Поле.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
    Поле.ЦветРамки = Новый Цвет(70, 100, 130);

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить свою HTML-карточку";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
    ЭтаФорма.УчебныйHTML = СформироватьСобственнуюКарточку();
КонецПроцедуры

&НаКлиенте
Процедура УчебныйДокументСформирован(Элемент)
    УчебныйHTMLГотов = Истина;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Если Не УчебныйHTMLГотов Тогда
        Сообщить("Собственный HTML ещё формируется; нажмите после появления карточки");
        Возврат;
    КонецЕсли;
    Поле = Элементы.УчебноеHTMLПоле;
    Сообщить(СтрНайти(УчебныйHTML, "Сумма: 750") > 0);
    Сообщить(СтрНайти(УчебныйHTML, "Книга &lt;учебная&gt; &amp; &quot;цена&quot;") > 0);
    Если Поле.Рамка.ТипРамки = ТипРамкиЭлементаУправления.Одинарная Тогда
        Поле.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.БезРамки, 1);
    Иначе
        Поле.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
    КонецЕсли;
    Сообщить(Поле.Рамка.Толщина = 1);
    Сообщить(Поле.ЦветРамки = Новый Цвет(70, 100, 130));
    Сообщить(Поле.Рамка.ТипРамки = ТипРамкиЭлементаУправления.Одинарная ИЛИ Поле.Рамка.ТипРамки = ТипРамкиЭлементаУправления.БезРамки);
    Сообщить("Тип рамки HTML-поля: " + Строка(Поле.Рамка.ТипРамки));
КонецПроцедуры

&НаСервереБезКонтекста
Функция ЭкранироватьУчебныйТекст(Текст)
    Результат = СтрЗаменить(Текст, "&", "&amp;");
    Результат = СтрЗаменить(Результат, "<", "&lt;");
    Результат = СтрЗаменить(Результат, ">", "&gt;");
    Результат = СтрЗаменить(Результат, """", "&quot;");
    Возврат Результат;
КонецФункции

&НаСервереБезКонтекста
Функция СформироватьСобственнуюКарточку()
    Название = "Книга <учебная> & ""цена""";
    Количество = 3;
    Цена = 250;
    Сумма = Количество * Цена;
    Если Сумма <> 750 Тогда
        ВызватьИсключение "Нарушен собственный учебный расчёт";
    КонецЕсли;
    Возврат "<!doctype html><html lang=""ru""><head><meta charset=""utf-8""><title>Собственная учебная карточка</title></head>"
        + "<body style=""font-family:Arial,sans-serif;font-size:16px;line-height:1.6;padding:16px""><h1 id=""own-summary"">Учебный расчёт</h1>"
        + "<p id=""own-name"">" + ЭкранироватьУчебныйТекст(Название) + "</p>"
        + "<p><a href=""#own-total"">К собственной сумме</a></p>"
        + "<div style=""min-height:550px""><p>Только собственные данные: 3 книги по 250.</p></div>"
        + "<h2 id=""own-total"">Сумма: " + Строка(Сумма) + "</h2>"
        + "<p><a href=""#own-summary"">К началу собственной карточки</a></p></body></html>";
КонецФункции

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

  1. Рамка HTML-поля появилась в установленной справке начиная с 8.5.1; не обещаем тот же контракт старой платформе.

  2. Допустимы только Одинарная и БезРамки. Толщина всегда 1 — не берём двойную или вдавленную рамку из примера другого элемента.

  3. ТипРамки и Толщина объекта Рамка readonly: при переключении создаём новый объект и назначаем поле целиком.

  4. Одинарная рамка при обычном масштабе добавляет внутренний отступ 8px; БезРамки не добавляет этот отступ.

  5. Стиль body собственной страницы имеет отдельный padding. Различайте отступ HTML и отступ оболочки поля.

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

  1. Ожидаются пять Истина и строка типа рамки. Первое нажатие: БезРамки, второе: Одинарная.

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

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

Ограниченный контракт рамки HTML-поля изучается на двух допустимых состояниях.

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

  1. Не переносите Двойная, Выпуклая или толщину 2 в HTML-поле: в его справке установлены собственные ограничения.

  2. 8px относится к нормальному масштабу, не является фиксированным расстоянием при любом масштабе интерфейса.

  3. Настройки поля и CSS собственной страницы управляют разными слоями представления.

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

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

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

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

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