@SteepNET

Как Окрасить ячейку табличной части документа по условию?

УТ 11.5
Требуется менять цвет фона столбца табличной части документа текущей строки в разный цвет в зависимости от условия..
Вот Код, он рабочий, но красить цвет ячейки ткущей строки что то ен получается, прошу помощи..

Для каждого ТекущаяСтрока Из Объект.Товары Цикл 
		Если ТекущаяСтрока.ВариантОбеспечения = ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.Отгрузить") Тогда
			Сообщить("Отгрузить");		
		ИначеЕсли ТекущаяСтрока.ВариантОбеспечения = ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.СоСклада") Тогда
			Сообщить("Резервировать на складе");
		ИначеЕсли ТекущаяСтрока.ВариантОбеспечения = ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.РезервироватьПоМереПоступления") Тогда
			Сообщить("Резервировать по мере поступления");
		ИначеЕсли ТекущаяСтрока.ВариантОбеспечения = ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.КОбеспечению") Тогда
			Сообщить("К обеспечению");
		ИначеЕсли ТекущаяСтрока.ВариантОбеспечения = ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.НеТребуется") Тогда
			Сообщить("Не обеспечивать");
		КонецЕсли;
	КонецЦикла;
  • Вопрос задан
  • 3067 просмотров
Решения вопроса 1
@SteepNET Автор вопроса
Сделал так, вот пример процедуры на сервере, к ней обращаемся из клиента откуда удобно...

&НаСервере
Процедура Расш_УстановитьУсловноеОформление()

Оформление  = УсловноеОформление.Элементы.Добавить();
Оформление.Использование = Истина;

Поле1 = Оформление.Поля.Элементы.Добавить();
Поле1.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатураАртикул");

Отбор = Оформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Количество");
Отбор.ПравоеЗначение = 3;
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
Отбор.Использование = Истина;
Оформление.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Аквамарин);

КонецПроцедуры
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
fosihas
@fosihas
Автоматизации учета на 1С.
Смотри ЗаказКлиента - ФормаСпискаДокументов

&НаСервере
Процедура УстановитьУсловноеОформление()

там программно задается для Динамического списка, раскраска строк в зависимости от Расчетного реквизита.
Ответ написан
Комментировать
@Dementor
программист, архитектор, аналитик
Конечно не получается. И при всем желании не получится.

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

2) Код к условному оформлению и даже к состоянию на форме не имеет отношения - тут есть основной реквизит формы Объект, у которого есть коллекция Товары - ты проходишь циклом по данным и все. Теоретически, если слишком сложные условия для цветов, то в Товары на форме можно добавить собственный подчиненный реквизит, который не хранится в базе, но который можно при подобном обходе заполнить и потом именно его использовать в "условном оформлении".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы