Перейти к содержанию

Подсчет количества записей без учета архивированных

Введение

В Comindware Platform при подсчете записей с определенным статусом или условием важно исключать архивные записи из расчета.

Здесь представлен пример использования формулы для подсчета количества записей с определенным статусом, исключая архивные записи.

Прикладная задача

Требуется подсчитать количество записей с определенным статусом (например, согласованных заявок, оплаченных счетов), исключая из расчета архивные записи.

Настройка подсчета записей

Для подсчета количества записей с определенным статусом без учета архивированных используйте следующую формулу:

COUNT( 
(from a in db->Запросы
where AND(EQUALS(a->Статус, "Согласована"), EQUALS(a-> _isDisabled, false))
select a->id)
)

Синтаксис формулы

  • COUNT() — функция подсчета количества записей в результате запроса.
  • from a in db->Запросы — выборка из шаблона записей с системным именем Запросы.
  • where AND(...) — условие фильтрации записей.
  • EQUALS(a->Статус, "Согласована") — проверка статуса записи.
  • EQUALS(a-> _isDisabled, false) — исключение архивных записей.
  • select a->id — выбор идентификаторов записей.
  • Аргументы:
    • Запросы — системное имя шаблона записи с нужными записями (заявками, счетами и т.д.).
    • Статус — атрибут типа «Текст» (может быть любой другой атрибут), хранящий признак для выделения записей.
    • Согласована — признак для выделения записей (статус — Согласована).
    • _isDisabled — системный атрибут «В архиве».

Тестирование

  1. Создайте несколько записей в шаблоне с разными статусами
  2. Архивируйте часть записей
  3. Используйте формулу для подсчета записей с определенным статусом
  4. Убедитесь, что архивные записи не учитываются в подсчете
К началу