Доработка отчета по валовой прибыли для подсчета чеков

Клиент захотел, чтобы в отчете по валовой прибыли в низу выводилось количество чеков и реализаций, и среднюю сумму по документу (выручка деленная на количество документов).

Добавляем в СКД набор данных:

ВЫБРАТЬ
	"Чек" КАК ВидДокументаПродажи,
	КОЛИЧЕСТВО(Т.Ссылка) КАК КоличествоДокументов
ИЗ
	Документ.ЧекККМ КАК Т
ГДЕ
	Т.Проведен
	И Т.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробит)
{ГДЕ
	(Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Реализация",
	КОЛИЧЕСТВО(Т.Ссылка)
ИЗ
	Документ.РеализацияТоваровУслуг КАК Т
ГДЕ
	Т.Проведен
{ГДЕ
	(Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)}

Поля специально именованы так, чтобы не пересекаться с другими.

Добавляем вычисляемое поле «Средний чек»:

В ресурсах пишем формулу для расчета этого вычисляемого поля:

ВЫРАЗИТЬ (ВЫБОР КОГДА Сумма(КоличествоДокументов) = 0 ТОГДА 0 ИНАЧЕ Сумма(Выручка) /  Сумма(КоличествоДокументов) КОНЕЦ, "Число(15,0)")

Дальше добавляю группировку, авто-поля отключаю и выбираю только нужные три поля:

В итоге внизу отчета по прибыли появляется итог по документам:

Проверил, что среднее считается действительно по среднему.

Несложно.

Среда: УТ11.4.13.46 Объем: 1 час.

UPD 2: В целом поменял запрос, изменил смысл запроса.

UPD 1: клиент выявил ошибку, пришлось поправить.

Я делил всю выручку на отдельные виды документов.

Поменял запрос таким образом:

ВЫБРАТЬ
	"Чек" КАК ВидДокументаПродажи,
	КОЛИЧЕСТВО(Т.Ссылка) КАК КоличествоДокументов,
	СУММА(Т.СуммаДокумента) КАК СуммаДокументов
ИЗ
	Документ.ЧекККМ КАК Т
ГДЕ
	Т.Проведен
	И Т.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробит)
{ГДЕ
	(Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Реализация",
	КОЛИЧЕСТВО(Т.Ссылка),
	СУММА(Т.СуммаДокумента)
ИЗ
	Документ.РеализацияТоваровУслуг КАК Т
ГДЕ
	Т.Проведен
{ГДЕ
	(Т.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода)}

Функцию расчета среднего чека так:

ВЫРАЗИТЬ (ВЫБОР КОГДА Сумма(КоличествоДокументов) = 0 ТОГДА 0 ИНАЧЕ Сумма(СуммаДокументов) /  Сумма(КоличествоДокументов) КОНЕЦ, "Число(15,0)")

Добавил ресурс «Сумма документов»:

В поля по виду документа вывожу:

В отчет дополнительно вывожу сумму по виду документов для проверки:

Теперь все корректно.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. rzd:

    Ну что тут сказать. Эти поля можно было бы добавить в пользовательском режиме. Без конфигуратора.

    • Какие поля? Без изменения схемы их бы не добавить вообще, принципиально.

      • rzd:

        Средний чек и количество документов. Надо только немного изменить твою функцию. И прописать все это в пользовательские поля

        • не понял о чем ты. пользовательские поля берут только то, что есть в запросе.
          возможно как-то и можно по регистратору понять, чек это или реализация и просуммировать, но это если в развертке есть регистратор.
          В общем, можете попробовать. Мне показлось, легче так. Запрета на изменение отчета у меня не было.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *