Программный Файл: ...\Samples\Solution\Reports\Colors.frx

Рассматриваемый пример иллюстрирует использование логических выражений в Событии Print When контрола Отчета, которое определяет  базовое форматирование Значения Поля Таблицы. В отчете печатается фрагмент: "Product Inventory Report" (Отчет по компонентам Продукции). Если рассматриваемая продукция отсутствует (на Складе), то данный продукт печатается зачеркнутым. Если уровень Запаса Продукции на складе ниже допустимого, то данный продукт печатается красным цветом. В противном случае, Остаток количества продукта (на Складе) печатается обычным (черным) цветом.

Рассматриваемый Отчет использует Таблицу PRODUCTS, которая закреплена за контейнером Базы Данных TESTDATA, и размещается в объекте Среды Данных Отчета (Report Data Environment). В основной полосе Отчета (Detail) размещены Поля-Контролы: идентификатор Продукта ID, Наименование, количество на Складе, допустимый уровень Запаса. Остальные характеристики рассматриваемого Продукта печатаются только в том случае, когда требуется пополнение уровня его Запаса.

Для управления перечисленными, тремя случаями состояния Продукта, используются различные варианты форматирования печатаемой информации о состоянии продукта. Для первого случая используется красный цвет (недостаток, обратить внимание); для второго случая - обычный, черный цвет (Запас продукта - достаточен); а для третьего случая - эффект зачеркивания (Отсутствие Продукта на Складе).

Каждый Контрол устанавливает разнообразные условные выражения для События Print When.

  • Для отображения Поля Таблицы в Черном цвете, (Продукт имеется в наличии, и его уровень запаса достаточен):

      CopyCode imageКопировать Код
    (products.in_stock > products.reorder_at) and products.discontinu = .F.
  • Для Зачеркивания значения Поля Таблицы, (Продукт отсутствует на Складе):

      CopyCode imageКопировать Код
    products.discontinu = .T.
  • Для отображения текста Поля в Красном цвете, (Уровень запаса Продукта на Складе недостаточен):

      CopyCode imageКопировать Код
    products.in_stock <= products.reorder_at and products.discontinu = .F.

См. также