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