Имя: Пароль:
1C
 
Раскрасить ячейку ТЧ УФ
0 kpe4et178
 
24.03.25
12:59
Всем привет.
Есть обработка в которой есть ТЧ.
В ячейках ТЧ заполняются статусы задач (из справочника статусы).
В спаравочнике Статус задачи, есть реквизит ЦВЕТ (тип хранилище)
Вопрос:
Как в ячейку заполнить цвет из статуса?
Пните пожалуйста в нужную сторону)))
1 arsik
 
гуру
24.03.25
13:29
Условное оформление - программно
2 Мультук
 
гуру
24.03.25
13:31
(1)

Я так понимаю его смущает реквизит ЦВЕТ (тип хранилище)

Но так как содержимое хранилища секретно, то "беда-печаль"
3 kpe4et178
 
24.03.25
13:31
(1) Спасибо.
Вот что есть.
Но не понимаю как из ячейки вытащить цвет.
т.е. если задаю через отбор - работает))
А вот как без отбора - хз
4 kpe4et178
 
24.03.25
13:32
(2) Из хранилища через получить() получает цвет.
Вопрос как в оформлении получить значение ячейки?
5 craxx
 
24.03.25
19:07
(4) Видимо создать реквизит формы в ТЧ, и его заполнять динамически, а отбор в УО поставить на этот реквизит
6 arsik
 
гуру
25.03.25
10:12
(3) Фигня какая-то. Нужно как-то так.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	СтатусыЗадач.Ссылка КАК Ссылка,
		|	СтатусыЗадач.Цвет КАК Цвет
		|ИЗ
		|	Справочник.СтатусыЗадач КАК СтатусыЗадач
		|ГДЕ
		|	НЕ СтатусыЗадач.ПометкаУдаления";
	Выборка = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий() Цикл
		ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
		ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
		ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТаблицаЗадач.Имя);
		ПолеЭлемента.Использование = Истина;
		ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СтатусЗадачи");
		ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
		ОтборЭлемента.ПравоеЗначение = Выборка.Ссылка;
		ОтборЭлемента.Использование = Истина;
		ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Выборка.Цвет.Получить());
	КонецЦикла;
КонецПроцедуры
7 kpe4et178
 
25.03.25
09:59
(5) Да думал уже, но статусов может быть много, колонки создаются программно и цвет у статуса может быть разный.
Думал прикрутить доп колонку с цветом (тип булево в ячейке), причем имя колонки сделать именем цвета.
И при УО если ячейка Истина, тогда цвет из имени колоки))
Как-то так.
Но заказчик убрал это условие и осталось всего три цвета)))
8 kpe4et178
 
25.03.25
10:01
(6) Спасибо. Чот не думал в эту сторону.
Проверю сейчас
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс