Консультация Беларусь
Консультация Россия
Блог

Динамическое формирование запроса

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

Постановка задачи:

В системе есть документ "Заказ клиента", на основании которого можно создать документ "Счет на оплату". Документы связаны между собой через критерий отбора "Связанные документы". В запросе, не используя запрос в цикле, для каждого документа "Заказ клиента" нужно получить связанные документы "Счет на оплату".

Сложность заключается в том, что в параметр "Значение" критерия отбора "Связанные документы" можно передать только одно значение (несколько значений передать нельзя). Поэтому мы не можем выбрать все связанные документы для всех документов "Заказ клиента" и поместить их во временную таблицу:


Исходные данные:

1. Учебная конфигурация

2.Платформа 8.3.20.1613

3. Документ "Заказ клиента"






4. Документ "Счет на оплату"


Решение задачи:


Пояснение:

В запросе 1 получаем список всех документов "Заказ клиента" за указанный период:


В запросе 2 динамически формируем запрос для получения связанных документов "Счет на оплату" для документов "Заказ клиента":


Итоговый запрос 2:


В результате запроса 2 получаем:


В результате запроса 3 получаем:


Ссылки для скачивания:

Код можно скачать по ссылке
Запросы