Выражение на СКД с отбором по Перечислению

В статье будет рассмотрен отчет на СКД показывающий кол-во товаров из документов Заказа, у которых в табличной части "Товары" в строке номенклатуры указаны действия "Отгрузить", но с галочкой "Отменено", т.к. товар отгружать не требуется.

 Нас интересуют документы "Заказ клиента" и "Заказ на пермещение", документы между собой схожие, имеют поля с одинаковыми наименованиями. Для начала рассмотрим "Действия" для отгрузки в документах Заказа:

В Конфигурации они указываются Перечислением:

Далее, в документе Заказа смотрим на "Отменено" в строке товара. Тип значения поля Булево:

Внешний отчет на СКД у меня уже существующий, мне только необходимо добавить еще одну колонку в отчете "Отказ с "Отгрузить". На данный момент в СКД отчет имеет набор данных "Заказы" и "Списания":

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

01 Чтобы не ломать чужой запрос (а возможно и весь отчет), я сделаю свой набор данных с нужными документами (т.к. мне не нужны все Заказы, а только "Заказ клиента", "Заказ на перемещение") со связью набора данных. Для этого на вкладке "Наборы данных" создаю объединение:

В нем указываю те Заказы, поля которых попадут в вычисляемое поле:

Сразу отмечу, почему сделали объединение этих документов. Дело в том, что данные Заказы ("Заказ клиента", "Заказ на перемещение") имеют поля с одинаковым названием Поля и Пути. Поэтому в одном Выражении (вычисляемая колонка в отчете) нельзя подсчитать кол-во товаров с "Отгрузить" и "Отменено" сразу по 2-ум документам Заказа, т.к.  без объединения будет браться один документ Заказа и Выражение будет считаться по нему. Схематично покажу одинаковые поля из "Заказ клиента" и "Заказ на перемещение":

02 Теперь делаем связь набора объединения с основным набором "Заказы" - это необходимо для того, чтобы связать ссылкой 2-а документа "Заказ клиента" и "Заказ на перемещение" с полем "Заказ" во вложенном запросе - чтобы было объединение данных. Вкладка "Связи наборов данных":

03 Настало время прописать Выражение для вычисляемого поля на вкладке "Вычисляемые поля":
ВЫБОР
    КОГДА Товары.Отменено = ИСТИНА И Товары.ВариантОбеспечения = ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.Отгрузить)
    ТОГДА Товары.Количество
  ИНАЧЕ NULL
КОНЕЦ

Чтобы результат округлить до целого числа, в конце можно прописать так: ТОГДА Выразить(Товары.Количество, "Число(7,0)") тем самым целое число будет максимум 7 значений и 0 значений после запятой, т.е. целое число.

04 Добавляем вычисляемое поле "Отказы" в отчет на вкладке "Настройки" - "Выбранные поля":

Результат Получаем отчет, в котором видим в Заказе кол-во товаров всего отмененных и отмененных c действием (перечислением) "Отгрузить":

mr. Mak

Остались вопросы? Пишите на почту admin@hzit.ru

Администратор сайта hzit.ru
Back to top