Доработка отчета по валовой прибыли для подсчета чеков
Клиент захотел, чтобы в отчете по валовой прибыли в низу выводилось количество чеков и реализаций, и среднюю сумму по документу (выручка деленная на количество документов).
Добавляем в СКД набор данных:
ВЫБРАТЬ "Чек" КАК ВидДокументаПродажи, КОЛИЧЕСТВО(Т.Ссылка) КАК КоличествоДокументов ИЗ Документ.ЧекККМ КАК Т ГДЕ Т.Проведен И Т.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробит) {ГДЕ (Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)} ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Реализация", КОЛИЧЕСТВО(Т.Ссылка) ИЗ Документ.РеализацияТоваровУслуг КАК Т ГДЕ Т.Проведен {ГДЕ (Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)}
Поля специально именованы так, чтобы не пересекаться с другими.
Добавляем вычисляемое поле «Средний чек»:
В ресурсах пишем формулу для расчета этого вычисляемого поля:
ВЫРАЗИТЬ (ВЫБОР КОГДА Сумма(КоличествоДокументов) = 0 ТОГДА 0 ИНАЧЕ Сумма(Выручка) / Сумма(КоличествоДокументов) КОНЕЦ, "Число(15,0)")
Дальше добавляю группировку, авто-поля отключаю и выбираю только нужные три поля:
В итоге внизу отчета по прибыли появляется итог по документам:
Проверил, что среднее считается действительно по среднему.
Несложно.
Среда: УТ11.4.13.46 Объем: 1 час.
UPD 2: В целом поменял запрос, изменил смысл запроса.
UPD 1: клиент выявил ошибку, пришлось поправить.
Я делил всю выручку на отдельные виды документов.
Поменял запрос таким образом:
ВЫБРАТЬ "Чек" КАК ВидДокументаПродажи, КОЛИЧЕСТВО(Т.Ссылка) КАК КоличествоДокументов, СУММА(Т.СуммаДокумента) КАК СуммаДокументов ИЗ Документ.ЧекККМ КАК Т ГДЕ Т.Проведен И Т.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробит) {ГДЕ (Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)} ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Реализация", КОЛИЧЕСТВО(Т.Ссылка), СУММА(Т.СуммаДокумента) ИЗ Документ.РеализацияТоваровУслуг КАК Т ГДЕ Т.Проведен {ГДЕ (Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)}
Функцию расчета среднего чека так:
ВЫРАЗИТЬ (ВЫБОР КОГДА Сумма(КоличествоДокументов) = 0 ТОГДА 0 ИНАЧЕ Сумма(СуммаДокументов) / Сумма(КоличествоДокументов) КОНЕЦ, "Число(15,0)")
Добавил ресурс «Сумма документов»:
В поля по виду документа вывожу:
В отчет дополнительно вывожу сумму по виду документов для проверки:
Теперь все корректно.
Ну что тут сказать. Эти поля можно было бы добавить в пользовательском режиме. Без конфигуратора.
Какие поля? Без изменения схемы их бы не добавить вообще, принципиально.
Средний чек и количество документов. Надо только немного изменить твою функцию. И прописать все это в пользовательские поля
не понял о чем ты. пользовательские поля берут только то, что есть в запросе.
возможно как-то и можно по регистратору понять, чек это или реализация и просуммировать, но это если в развертке есть регистратор.
В общем, можете попробовать. Мне показлось, легче так. Запрета на изменение отчета у меня не было.