В начало

Проверка проведения документа

 

            Ниже идет описание построения запроса для проверки проведения документа «Расход денег». На закладке «Таблицы и поля» нужно создать вычисляемое поле, которое будет показывать статус проведения документа в числовом виде: 1 – если проведен, 0 – если не проведен.

Рис. 1. Конструктор запроса, закладка «Таблицы и поля»

Рис. 1. Конструктор запроса, закладка «Таблицы и поля»

 

ВЫБОР

      КОГДА РасходДенег.Проведен

            ТОГДА 1

      ИНАЧЕ 0

КОНЕЦ

            Затем все поля группируются на закладке «Группировка» конструктора запросов.

Рис. 2. Закладка «Группировка»

Рис. 2. Закладка «Группировка»

 

            Ну и наконец, переходим на закладку «Итоги» и сравниваем с помощью функции ВЫБОР число проведенных документов с числом документов. Для этого в группировочные поля переносим поле «Контрагент», а в итоговые поля – «ПризнакПроведения» и «Сумма». Затем поле «Сумма» редактируем, дописывая в него проверку.

ВЫБОР

      КОГДА СУММА(ПризнакПроведения) = КОЛИЧЕСТВО(ПризнакПроведения)

            ТОГДА "Все доки проведены"

      ИНАЧЕ "Есть непроведенные доки"

КОНЕЦ

 

Рис. 3. Закладка «Итоги»

Рис. 3. Закладка «Итоги»

 

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

 

Листинг. Запрос

ВЫБРАТЬ

      РасходДенег.Контрагент КАК Контрагент,

      РасходДенег.Ссылка,

      РасходДенег.Сумма КАК Сумма,

      ВЫБОР

            КОГДА РасходДенег.Проведен

                  ТОГДА 1

            ИНАЧЕ 0

      КОНЕЦ КАК ПризнакПроведения

ИЗ

      Документ.РасходДенег КАК РасходДенег

 

СГРУППИРОВАТЬ ПО

      РасходДенег.Контрагент,

      РасходДенег.Ссылка,

      РасходДенег.Сумма,

      ВЫБОР

            КОГДА РасходДенег.Проведен

                  ТОГДА 1

            ИНАЧЕ 0

      КОНЕЦ

ИТОГИ

      СУММА(Сумма),

      ВЫБОР

            КОГДА СУММА(ПризнакПроведения) = КОЛИЧЕСТВО(ПризнакПроведения)

                  ТОГДА "Все доки проведены"

            ИНАЧЕ "Есть непроведенные доки"

      КОНЕЦ КАК ПризнакПроведения

ПО

      Контрагент

            Перед выполнением запроса нужно установить способ выгрузки «Дерево».

Рис. 4. Результат выполнения запроса

Рис. 4. Результат выполнения запроса

Рис. 4. Результат выполнения запроса

 

            Из результатов видно, что при наличии непроведенного документа, в итоговом поле поля «ПризнакПроведения» надпись указывает о наличии непроведенных документов.