В МЕДИАЛОГ существует возможность закрашивания ячеек и строк гридов, работающих на основе запросов.
Закрашивание строки
Чтобы закрасить строку, необходимо добавить в запрос выражение с префиксом CLR_ROW_, возвращающее целое число, соответствующее определенному цвету.
Числовой код цвета можно посмотреть в справочнике цветов (меню Услуги / Справочники / Справочник цветов) (рис. 3.18).
Рисунок 3.18. Справочник цветов
Следующее выражение (рис. 3.20), добавленное в запрос invoice.ini (Счета) позволяет выделить красным цветом строки с рабочими счетами:
%IF (FM_INVOICE.INVOICE_STATE='A',255,16777215)
Здесь
·INVOICE_STATE='A' - рабочий счет,
·255 - числовой код красного цвета,
·16777215 - числовой код белого цвета: белыми остаются строки, для которых условие FM_INVOICE.INVOICE_STATE='A' не выполняется.
Рисунок 3.19. Выражение для вычисления цвета
Грид Счета (меню Услуги / Счета) с таким выражением выглядит как показано на рис. 3.20.
Рисунок 3.20. Грид "Счета" с закрашенными строками
Цвет текста при закрашивании строки подбирается автоматически, предпросмотр доступен в справочнике цветов: поле Цвет закрашено выбранным цветом, число в ячейке - цветом текста.
Закрашивание срабатывает после сохранения запроса с добавленным выражением и перезапуска грида. Делать выражение в таблице видимым при этом не требуется.
Закрашивание ячейки
Для закрашивания ячейки в запрос нужно добавить поле с префиксом CLR_CELL_. Остальные действия аналогичны описанным выше для строки. Цвет ячейки имеет больший приоритет, чем цвет строки.
Для того чтобы закрасить ячейку поля, содержащего код цвета, например, поле PL_EXAM.COLOR (цвет для типа направления / назначения), достаточно откорректировать алиас этого поля в запросе (рис. 3.21), добавив префикс CLR_CELL_. Данное поле необходимо сделать в гриде видимым.
Рисунок 3.21. Поле, содержащее цвет ячейки
После сохранения запроса и перезапуска грида в данном поле вместо числового кода цвета будет показан сам цвет (рис. 3.22).
Рисунок 3.22. Поле "Цвет ячейки" в гриде "Типы назачений"