По теме из базы знаний
- Метод связи системного перечисления с объектом конфигурации Перечисление на примере объекта Цвет (WebЦвета)
- Диалоги цвета, редактор дискретных палитр.
- Универсальный редактор реквизитов (обычные и управляемые формы)
- Универсальные функции для работы с цветом в 1С
- Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) AlexKo84,
Используйте условное оформление.
Используйте условное оформление.
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ИмяРеквизита");
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.НейтральноСерый);
ШрифтПоля = Новый Шрифт(ШрифтыСтиля.ШрифтТекста,,,,,,Истина);
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", ШрифтПоля);
Показать
(5) soleil, я делал хитрее, в условном офомлении делал так, создавал реквизит в дин списке Цвет - Тип число
Цвет - красный скажем
Условие - Цвет = 0
офрмляемое поле - мои поля которые нужно раскрасить
-----
Цвет - синий
Условие - Цвет = 1
офрмляемое поле - мои поля которые нужно раскрасить
и тд, думаю понятно.
Запросом в дин списке выбирал число - номер цвета для раскраски строки, ихсходя из каких то условий, через
ВЫБОР
КОГДА <Выражение> ТОГДА <Выражение>
ИНАЧЕ <Выражение>
КОНЕЦ
Цвет - красный скажем
Условие - Цвет = 0
офрмляемое поле - мои поля которые нужно раскрасить
-----
Цвет - синий
Условие - Цвет = 1
офрмляемое поле - мои поля которые нужно раскрасить
и тд, думаю понятно.
Запросом в дин списке выбирал число - номер цвета для раскраски строки, ихсходя из каких то условий, через
ВЫБОР
КОГДА <Выражение> ТОГДА <Выражение>
ИНАЧЕ <Выражение>
КОНЕЦ
(1) AlexKo84, если только использовать тип ХранилищеЗначения:
Запись:
Чтение:
ХранилищеЗначения (ValueStorage)
Методы:
Получить (Get)
Конструкторы:
На основании значения
Описание:
Предназначен для хранения значения в специальном формате. Он может быть записан в поля базы данных, имеющие соответствующий тип. Это позволяет сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля, например, Картинка.
ПоказатьМетоды:
Получить (Get)
Конструкторы:
На основании значения
Описание:
Предназначен для хранения значения в специальном формате. Он может быть записан в поля базы данных, имеющие соответствующий тип. Это позволяет сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля, например, Картинка.
Запись:
Цвет = Новый ХранилищеЗначения(Новый Цвет(0, 0, 255));
Чтение:
СохраненныйЦвет = Цвет.Получить();
В моем примере можно добавить отбор по строкам и получить различной оформление строк динамического списка в зависимости от условий отбора. Например:
В зависимости от сложности условия установки цвета можно выбрать либо мой, либо ваш вариант.
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ИмяРеквизита");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
ЭлементОтбора.ПравоеЗначение = 0;
В зависимости от сложности условия установки цвета можно выбрать либо мой, либо ваш вариант.
Сделал на управляемой форме в 1с:БП так:
В объекте справочника создал два реквизита ЦветФон и ЦветТекст с типом Строка, 0 неогр. На форме два реквизита ЦветФонРекв и ЦветТекстРекв с типом "Цвет".
В модуле формы:
Все работает и сохраняется при записи элемента - каждому элементу свои наборы цветов фона и текста
В объекте справочника создал два реквизита ЦветФон и ЦветТекст с типом Строка, 0 неогр. На форме два реквизита ЦветФонРекв и ЦветТекстРекв с типом "Цвет".
В модуле формы:
&НаСервере
Функция ПолучитьЦветТекстаНаСервере()
Рез = Новый Цвет;
Если ЗначениеЗаполнено(Объект.ЦветТекста) Тогда
Рез = ЗначениеИзСтрокиВнутр(Объект.ЦветТекста);
КонецЕсли;
Возврат Рез;
КонецФункции
&НаСервере
Функция ПолучитьЦветФонаНаСервере()
Рез = Новый Цвет;
Если ЗначениеЗаполнено(Объект.ЦветФона) Тогда
Рез = ЗначениеИзСтрокиВнутр(Объект.ЦветФона);
КонецЕсли;
Возврат Рез;
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ЦветТекстаРекв = ПолучитьЦветТекстаНаСервере();
ЦветФонаРекв = ПолучитьЦветФонаНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.ЦветФона = ЗначениеВСтрокуВнутр(ЭтаФорма.ЦветФонаРекв);
ТекущийОбъект.ЦветТекста = ЗначениеВСтрокуВнутр(ЭтаФорма.ЦветТекстаРекв);
КонецПроцедуры
ПоказатьВсе работает и сохраняется при записи элемента - каждому элементу свои наборы цветов фона и текста
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот