К основному контенту

Цвет. Абсольтный цвет из выбранного цвета, цвета стиля.

Велосипед из статей на инфостарте, в одной из них указали что для костыля через форматированный текст --> чтмл нужно дважды установить цвет фона, иначе он не устанавливается в элемент. 

ниже укороченный вариант на костылях, без проверки передан нам абсолютный или какой ещё цвет (если мы выбираем цвет через диалог выбора цветов (платформенный) то получаем цвет с цветами ргб -1,-1,-1) .

https://infostart.ru/public/484812/

https://infostart.ru/1c/articles/1304206/ - здесь и увидел комментарий про повторную установку стиля.


```

&НаКлиентеНаСервереБезКонтекста

Функция АбсолютныйЦвет(Цвет)

//ОбъектМетаданныхСтиля = Метаданные.ЭлементыСтиля.Найти(Сред(Строка(Цвет), 8))

ТекстХТМЛДокумента = "";

    Шаблон = "0123456789ABCDEF";

    ФорматированныйДокумент = Новый ФорматированныйДокумент; 

    ФорматированныйДокумент.Добавить("ОпределениеЦвета", Тип("ТекстФорматированногоДокумента")); 

    ФорматированныйДокумент.Элементы[0].Элементы[0].ЦветФона = Цвет; 

ФорматированныйДокумент.Элементы[0].Элементы[0].ЦветФона = Цвет; // !!! баг платформы. 

    ФорматированныйДокумент.ПолучитьHTML(ТекстХТМЛДокумента, Новый Структура); 

    НомерСимволаЦвета = Найти(ТекстХТМЛДокумента, "background-color: #"); 

    ЦветРезультатHex  = Сред(ТекстХТМЛДокумента, НомерСимволаЦвета + 19, 6);

Возврат Новый Цвет(

итКонвертироватьHexВDec(Сред(ЦветРезультатHex, 1, 2)),

итКонвертироватьHexВDec(Сред(ЦветРезультатHex, 3, 2)),

итКонвертироватьHexВDec(Сред(ЦветРезультатHex, 5, 2)));

КонецФункции


&НаКлиентеНаСервереБезКонтекста

Функция итКонвертироватьHexВDec(Знач ЧислоСтрокой)

    

    Результат = 0;

    Шаблон = "0123456789ABCDEF";

    

    ЧислоСтрокой = ВРег(Строка(ЧислоСтрокой));

    Для ТекущийСимвол = 1 По СтрДлина(ЧислоСтрокой) Цикл

        ПозицияВШаблоне = Найти(Шаблон, Сред(ЧислоСтрокой, ТекущийСимвол, 1))-1;

        Результат = Результат * СтрДлина(Шаблон) + ПозицияВШаблоне;

    КонецЦикла;

    

    Возврат Результат;


КонецФункции

```


Комментарии

Популярные сообщения из этого блога

СписокВыбора. Показать Представление вместо Значения

Вводная Если на форме есть элемент управления со списком выбора, в моем конкретном примере это Колонка Значение (Число (3,0)) с настроенным списком выбора. По умолчанию платформа отображает именно строковое значения, а не текст представления  из списка выбора (когда как при выборе значения из списка показываются именно представления). Решение Для Управляемых форм необходимо настроить правила условного оформления, для обычных форм - оформление ячеек при выводе данных.

Табличный Документ. Разная ширина колонки в строках

Когда нужно в макете (табличном документе) изменить ширину колонки  для конкретных строк: 1. Выделить всю строку (строки). Именно всю, фокус для выделенной области не работает. 2. Нажимаем и не отпускает Ctrl 3. С помощью мыши изменяют ширину любой из колонок - будет задан вопрос об создании нового формата строк - соглашаемся. Как же прекрасен мир, где для модификаций не достаточно просто использовать контекстное меню и диалог редактора свойств, где нужно знать заветные слова и таинства танца. 90ые, моё почтение. UPD Программно, тоже самое, можно сделать через ТабДок = Новый ТабличныйДокумент(); ТабДок.Область(1,,1,).СоздатьФорматСтрок(); ТабДок.Область(1,1).ШиринаКолонок = 70; ТабДок.Область(1,2).ШиринаКолонок = 30; ТабДок.Область(2,,2,).СоздатьФорматСтрок(); ТабДок.Область(2,1).ШиринаКолонок = 30; ТабДок.Область(2,2).ШиринаКолонок = 70; ТабДок.Показать();

Расширение конфигурации + Связанные документы (Режим совместимости 8.3.12)

Вводная: реализовать ввод Заказа поставщику на основании Заказа на Ремонт. решить через расширения конфигурации. Хочу обратить ваше внимание, не нужно добавлять в расширение критерий отбора, для 8.3.12 нам не доступно добавление\изменение состава критерия. Более того может зависать конфигуратор (столкнулся с последней версией 8.3.14 + ERP) Разработку рекомендую вести с применением хранилища и для расширения. Иначе устанете потом выгребать чего лишнего включили в расширение при добавлении таких или схожих обектов с составными типами и подобное. Все текущие типовые решения сейчас идут в режиме совместимости 8.3.12, в прочем и для 8.3.14 (и даже 8.3.15 ничего не поменялось). Что нам нужно было бы сделать при отказе от поддержки: 1) добавить наш документ в Критерий отбора (состав, реквизиты); 2) в раздел Ввод на основании целевого документа. И что с целью сохранения поддержки. Как сделать это же для расширения: 1) Добавить реквизит расширения Документы.ЗаказПоставщику._За