1с получить цвет из стиля
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом:
Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х
Для того, чтобы появилась возможность использовать свойство "Значение", необходимо явно присвоить свойству ячейки "СодержитЗначение" значение Истина или установить флажок "Содержит значение" в палитре свойств.
Для ячейки, у которой установлен признак "СодержитЗначение", можно задать тип значения, размещаемого в ячейке.
Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка://задаем нужный тип с помощью объекта "ОписаниеТипов"
Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство "Формат", которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат()
Элемент управления в табличном документе
Для ячейки, у которой установлен признак "СодержитЗначение", можно также задать элемент управления, который будет использоваться для редактирования этого значения.
Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода "УстановитьЭлементУправления()". Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство "ЭлементУправления", которое возвращает элемент управления, назначенный для ячейки.
Элементы управления, встроенные в ячейку, отображаются только при входе в режим редактирования значения. На приведенном ниже рисунке редактируемая ячейка обведена овалом и в ней отображается флажок:
Ниже показан пример установки элемента управления типа "Флажок" из встроенного языка://задаем нужный тип с помощью объекта "ОписаниеТипов"
Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:
Разберем самые важные свойства и методы:
Свойство "ВстроенВЯчейку" имеет тип "булево" и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
Свойство "Видимость" позволяет показать или скрыть элемент управления.
Свойство "Значение" предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
Метод "Расположить" позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.
Элементы стиля
Область применения: управляемое приложение.
Для каждого элемента управления оформление по умолчанию задается платформой. Умолчаний следует придерживаться в большинстве случаев — это позволяет обеспечить единообразное оформление всех форм.
В некоторых ситуациях возникает потребность визуально выделить конкретный элемент управления среди других, изменив его оформление по умолчанию.
Для изменения оформления следует использовать элементы стиля, а не задавать конкретные значения непосредственно в элементах управления. Это требуется для того, чтобы аналогичные элементы управления выглядели одинаково во всех формах, где они встречаются.
Виды элементов стиля:
• Цвет (задается значение RGB)
• Шрифт (задаются вид, размер и начертание)
• Рамка (задаются тип и ширина границ)
1. Элементы стиля нужно использовать всегда, когда требуется изменить оформление (Цвет, Шрифт, Рамку), установленные по умолчанию.
Например, информационные надписи среди других надписей можно выделить с помощью цвета. Цвет таких надписей следует задавать в виде элемента стиля "ИнформационнаяНадпись", а не в виде значения RGB или выбора цвета web/windows:
4. Название для элемента стиля следует подбирать таким образом, чтобы в нем отразить назначение элемента стиля.
5. Для нескольких элементов стиля, имеющих одинаковое название, но разный вид, рекомендуется включать вид (слова "Цвет", "Шрифт", "Рамка") в название:
Например: "ТекстНевыбраннойКартинкиЦвет" и "ТекстНевыбраннойКартинкиШрифт".
При этом вид элемента стиля (Цвет, Шрифт, Рамка) следует указывать после его названия. Это требуется для того, чтобы можно было по первым буквам найти нужный элемент стиля в списке.
В названии элемента стиля следует указывать только тот вид (Цвет, Шрифт, Рамка), который используется фактически.
Например, для элемента стиля вида "Цвет" не следует включать в название слово "Шрифт":
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом:
Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х Код 1C v 8.х
Для того, чтобы появилась возможность использовать свойство "Значение", необходимо явно присвоить свойству ячейки "СодержитЗначение" значение Истина или установить флажок "Содержит значение" в палитре свойств.
Для ячейки, у которой установлен признак "СодержитЗначение", можно задать тип значения, размещаемого в ячейке.
Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка://задаем нужный тип с помощью объекта "ОписаниеТипов"
Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство "Формат", которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат()
Элемент управления в табличном документе
Для ячейки, у которой установлен признак "СодержитЗначение", можно также задать элемент управления, который будет использоваться для редактирования этого значения.
Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода "УстановитьЭлементУправления()". Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство "ЭлементУправления", которое возвращает элемент управления, назначенный для ячейки.
Элементы управления, встроенные в ячейку, отображаются только при входе в режим редактирования значения. На приведенном ниже рисунке редактируемая ячейка обведена овалом и в ней отображается флажок:
Ниже показан пример установки элемента управления типа "Флажок" из встроенного языка://задаем нужный тип с помощью объекта "ОписаниеТипов"
Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:
Разберем самые важные свойства и методы:
Свойство "ВстроенВЯчейку" имеет тип "булево" и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.
Свойство "Видимость" позволяет показать или скрыть элемент управления.
Свойство "Значение" предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.
Метод "Расположить" позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.
Протестировано на пустой БД с версией платформы 1С 8.3.17.1549.
Предназначено для использования в любой базе данных 1С.
Возможности:
Преобразование цвета любого вида в цвет любого другого вида при помощи следующих методов:
- ОпределитьАбсолютныйЦвет(Цвет) - преобразует переданный цвет любого вида в абсолютный цвет;
- НайтиWebЦвет(Цвет) - ищет переданный цвет любого вида среди набора WebЦвета;
- НайтиЦветСтиля(Цвет) - ищет переданный цвет любого вида среди набора ЦветаСтиля;
- НайтиWindowsЦвет(Цвет) - ищет переданный цвет любого вида среди набора WindowsЦвета.
Получение массива Web-цветов, Цветов стиля или Windows-цветов без использования макетов или заранее предопределённых списков соответствующими методами:
- ПолучитьWebЦвета()
- ПолучитьЦветаСтиля()
- ПолучитьWindowsЦвета()
Описание:
Основной принцип преобразования цветов из одного вида в другой в данной обработке заключается в использовании методов ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр().
Так, например, внутренние значения цветов WebЦвета.Белый и WebЦвета.Черный соответственно выглядят следующим образом:
Как видно, в структуре полученных данных содержится внутренний индекс цвета: 143 - для белого цвета, и 8 - для чёрного цвета. Опытным путём было обнаружено, что для каждой коллекции существует свой диапазон внутренних индексов:
- WebЦвета: от 1 до 146
- ЦветаСтиля: от -1 до -47 (значения цветов для некоторых индексов оказались пустыми)
- WindowsЦвета: от -2 до 28 (кроме 25)
Таким образом, зная внутренний индекс цвета, можно получить цвет из любого набора путем подстановки этого индекса во внутреннюю строку.
Например, внутренний индекс жёлтого цвета для набора WebЦвета равен 145, следовательно внутренняя строка имеет вид:
Теперь, чтобы получить цвет набора WebЦвета необходимо воспользоваться методом ЗначениеИзСтрокиВнутр():
В результате в переменной "ЖелтыйЦвет" будет содержаться значение WebЦвета.Желтый. Аналогичным образом получаются цвета для других наборов (ЦветаСтиля и WindowsЦвета).
Читайте также: