1С СКД Условия в запросах

Автор: | 22.02.2022

1С СКД как в отчет вывести сообщение если документ не проведен или помечен на удаление

Продолжаем изучать СКД (Систему компоновки данных), сегодня поговорим про условия в запросах, с ними обязательно нужно уметь работать, так как практически в каждом созданном отчете с помощью СКД они есть. Условий может быть просто огромное количество, сегодня рассмотрим вот такое, есть отчет в котором отображается информация по двум документам «Актам» и «Счет Фактурам», необходимо сделать так чтобы в отчет не попадали не проведенные, помеченные на удаление документы и выводилось сообщение например «Не проведен/Помечен на удаление». Реализовать все это можно с помощью добавления условий в конструкторе запроса.

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

В простых запросах отобрать только проведенные документы еще проще.

И так у нас есть отчет следующего вида.

СКД отчет

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

СКД вывод сообщений если документ не проведен

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

1С СКД использование условий в запросах

Для того чтобы все это реализовать необходимо немного изменить запрос, добавив пару условий. Сначала открываем временную таблицу «Отобранные Акты» в ней мы объединяли поля табличной части и документа. Переходим во вкладку условие и добавляем его.

Акт.Проведен = Истина
СКД отбор проведенных документов

Дальше точно такое же условие добавляем во временную таблицу «Отобранные СФ».

СФ.Проведен = Истина
1С СКД как отобрать только проведенные документы

Теперь в отчет не будут попадать документы которые не проведены либо помечены на удаление.

Для того чтобы реализовать вывод сообщений необходимо в запросе изменить поля «Отобранные.Акт» и «Отобранные.СФ».

СКД ЕСТЬNULL

В открывшемся окне добавляем проверку.

ЕСТЬNULL(ОтобраныеАкты.АктСумма, "Не проведен/Помечен на удаление")
СКД как проверить NULL

Для поля «Отобранные.СФ» пишем тоже самое.

ЕСТЬNULL(ОтобраныеСФ.СФ, "Не проведен/Помечен на удаление")
СКД если есть NULL тогда

Теперь будет выполнять проверка на наличие ссылки, т.е. если ссылки на документ нет, то там будет NULL, и если он есть то будет выводиться сообщение «Не проведен/Помечен на удаление».

Так как мы изменили выбранные поля в запросе, их так же необходимо перевыбрать в настройках основной схеме компоновки данных.

1С СКД изменить заголовок поля

В принципе на этом все, можно проверять что получилось. Для начала откроем Акты и скажем один под номером «000000001» не будем проводить.

Не проведенные документы

Далее откроем счет фактуры, тут так же один документ с номером «000000003» не проведем а один с номером «000000004» пометим на удаление.

Помеченные на удаление документы

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

Вывод в отчет сообщений о том что документ не проведен СКД

Вот один пример использования условий в запросах. На самом деле это самый простой пример, на практике будет все намного сложней, но зная эти основы вы легко сможете со всем разобраться, ну а если у вас возникли вопросы то пишите, будем решать их вместе!

Добавить комментарий

Ваш адрес email не будет опубликован.

*

code