Цвет в реквизит

1. AlexKo84 14.02.14 11:59 Сейчас в теме
Всем привет.
Управляемые формы.
В реквизит справочника не могу становить тип Цвет, хотя для обработки получается.
Этот реквизит для раскраски ячеек в динамическом списке.
Как быть?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 14.02.14 12:09 Сейчас в теме
(1) AlexKo84, использовать оформление
5. soleil 14.02.14 12:14 Сейчас в теме
(1) AlexKo84,
Используйте условное оформление.
	ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
	ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
	ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ИмяРеквизита");
	
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.НейтральноСерый);
	ШрифтПоля = Новый Шрифт(ШрифтыСтиля.ШрифтТекста,,,,,,Истина);
	ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", ШрифтПоля);

Показать
6. AllexSoft 14.02.14 12:25 Сейчас в теме
(5) soleil, я делал хитрее, в условном офомлении делал так, создавал реквизит в дин списке Цвет - Тип число
Цвет - красный скажем
Условие - Цвет = 0
офрмляемое поле - мои поля которые нужно раскрасить
-----
Цвет - синий
Условие - Цвет = 1
офрмляемое поле - мои поля которые нужно раскрасить


и тд, думаю понятно.
Запросом в дин списке выбирал число - номер цвета для раскраски строки, ихсходя из каких то условий, через
ВЫБОР
КОГДА <Выражение> ТОГДА <Выражение>
ИНАЧЕ <Выражение>
КОНЕЦ
15. Alexey_ 27 15.02.14 21:37 Сейчас в теме
(1) AlexKo84, если только использовать тип ХранилищеЗначения:
ХранилищеЗначения (ValueStorage)
Методы:

Получить (Get)

Конструкторы:

На основании значения

Описание:

Предназначен для хранения значения в специальном формате. Он может быть записан в поля базы данных, имеющие соответствующий тип. Это позволяет сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля, например, Картинка.
Показать


Запись:
Цвет = Новый ХранилищеЗначения(Новый Цвет(0, 0, 255));

Чтение:
СохраненныйЦвет = Цвет.Получить();
AlexKo84; +1 Ответить
3. Boneman 298 14.02.14 12:10 Сейчас в теме
настройка списка - условное оформление
4. soleil 14.02.14 12:12 Сейчас в теме
Здравствуйте!
Используйте условное оформление списка.
7. soleil 14.02.14 13:58 Сейчас в теме
В моем примере можно добавить отбор по строкам и получить различной оформление строк динамического списка в зависимости от условий отбора. Например:
	ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ИмяРеквизита");
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
	ЭлементОтбора.ПравоеЗначение = 0;


В зависимости от сложности условия установки цвета можно выбрать либо мой, либо ваш вариант.
8. AlexKo84 14.02.14 15:15 Сейчас в теме
У реквизита Справочника тип цвет не могу назначить.
9. Boneman 298 14.02.14 23:56 Сейчас в теме
(8) AlexKo84, внимательно вчитайся в (3) и (6)
все уже расписали
10. AlexKo84 15.02.14 11:43 Сейчас в теме
Может я к концу недели притормаживаю, но это не то. Я хочу в реквизите справочника хранить цвет, и иметь окно выбора цвета.
11. Boneman 298 15.02.14 12:29 Сейчас в теме
(10) AlexKo84, нет такого типа данных как цвет, но по сути цвет это число, даже 3 - красный зеленый и синий. Вот и храни числовые значения в своих реквизитах, и настраивай по желанию..
12. AlexKo84 15.02.14 12:48 Сейчас в теме
Ну как нету?
в обработке просто
Прикрепленные файлы:
13. Boneman 298 15.02.14 12:55 Сейчас в теме
(12) AlexKo84, это элементы стиля, предопределенное оформление, чтобы не парится с выбором цвета. И как ты заметил, 3 числовых поля, которые и обозначают нужный цвет.
А в реквизитах справочника, можно сохранить только число.
Поправьте, если неправ
14. AlexKo84 15.02.14 16:58 Сейчас в теме
Странно что в обработке можно реквизиту назначить такой тип а в справочнике нет.
16. Tornadius 25.01.24 11:58 Сейчас в теме
Сделал на управляемой форме в 1с:БП так:

В объекте справочника создал два реквизита ЦветФон и ЦветТекст с типом Строка, 0 неогр. На форме два реквизита ЦветФонРекв и ЦветТекстРекв с типом "Цвет".

В модуле формы:
&НаСервере
Функция ПолучитьЦветТекстаНаСервере()
	Рез = Новый Цвет;
	Если ЗначениеЗаполнено(Объект.ЦветТекста) Тогда
		Рез = ЗначениеИзСтрокиВнутр(Объект.ЦветТекста);   
	КонецЕсли;
	Возврат Рез;
КонецФункции

&НаСервере
Функция ПолучитьЦветФонаНаСервере()                
	Рез = Новый Цвет;
	Если ЗначениеЗаполнено(Объект.ЦветФона) Тогда
		Рез = ЗначениеИзСтрокиВнутр(Объект.ЦветФона);   
	КонецЕсли;
	Возврат Рез;
КонецФункции

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ЦветТекстаРекв = ПолучитьЦветТекстаНаСервере();
	ЦветФонаРекв   = ПолучитьЦветФонаНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	ТекущийОбъект.ЦветФона = ЗначениеВСтрокуВнутр(ЭтаФорма.ЦветФонаРекв);
	ТекущийОбъект.ЦветТекста = ЗначениеВСтрокуВнутр(ЭтаФорма.ЦветТекстаРекв);	
КонецПроцедуры
Показать


Все работает и сохраняется при записи элемента - каждому элементу свои наборы цветов фона и текста
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот