Раскраска РМД

Материал из Окнософт
Перейти к: навигация, поиск

вот интересующая вас функция
в форме отчета итДиспетчер


 Функция итПолучитьЦветОформления(Состояние, ВидПодразделения)
	
	итСписки = пзРазныеПроцедуры.ПолучитьСписки();
	
	Если итСписки.ЕСТЬ_ЦВЕТА_ОФОРМЛЕНИЯ Тогда<br> 
		мЦвета = итСписки.ЦВЕТА_ОФОРМЛЕНИЯ.НайтиСтроки(Новый Структура("Состояние, ВидПодразделения", Состояние, ВидПодразделения));
		Если мЦвета.Количество() > 0 Тогда
			Возврат(мЦвета[0].Цвет);
		КонецЕсли;		
		мЦвета = итСписки.ЦВЕТА_ОФОРМЛЕНИЯ.НайтиСтроки(Новый Структура("Состояние, ВидПодразделения", Состояние, Справочники.итВидыПодразделений.ПустаяСсылка()));
		Если мЦвета.Количество() > 0 Тогда
			Возврат(мЦвета[0].Цвет);
		КонецЕсли;
	КонецЕсли;
		
	Если Состояние = Перечисления.СостоянияСобытий.Запланировано Тогда
		Возврат(Новый Цвет(220, 220, 255));
	ИначеЕсли Состояние = Перечисления.СостоянияСобытий.ВРаботе Тогда
		Возврат(Новый Цвет(210, 255, 210));
	Иначе
		Возврат(Новый Цвет(255, 255, 210));
	КонецЕсли;

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

   |ВЫБРАТЬ РАЗЛИЧНЫЕ
	                      |	пзРазныеСпискиИСоответствия.Соответствие КАК Цвет,
	                      |	пзРазныеСпискиИСоответствия.Дополнение КАК ВидПодразделения,
	                      |	пзРазныеСпискиИСоответствия.итОбъект КАК Состояние
	                      |ИЗ
	                      |	Справочник.пзРазныеСпискиИСоответствия КАК пзРазныеСпискиИСоответствия
	                      |ГДЕ
	                      |	пзРазныеСпискиИСоответствия.Наименование = ""Цвет""
	                      |	И пзРазныеСпискиИСоответствия.итОбъект ССЫЛКА Перечисление.СостоянияСобытий
	                      |	И НЕ пзРазныеСпискиИСоответствия.ПометкаУдаления

смотрите что надо чтобы задать цвет
в разных списках
в наименование- "Цвет"
в соответствие- строку вида (255,255,255)
в дополнение "Вид подразделения"
в Объект- состояние

которое должно быть типа Перечисления.СостоянияСобытий
Первую константу не забудте
ЕСТЬ_ЦВЕТА_ОФОРМЛЕНИЯ

Теги: Цвет, РМД, строки,виды подразделений, состояния