При работе с программой 1С:Управление торговлей 11.5 менеджеры и аналитики часто сталкиваются с необходимостью не просто видеть сумму выручки, но и понимать количественные показатели клиентской базы. Типовой отчет "Продажи" по умолчанию ориентирован на товарные позиции и документы, что создает определенные сложности при попытке посчитать количество "живых" клиентов. Рассмотрим подробно, почему возникают ошибки в расчетах и как правильно настроить отчет, чтобы получить корректные цифры.
Типовые отчеты по продажам в УТ 11.5 строятся на данных регистра накопления ВыручкаИСебестоимостьПродаж. Особенность этого регистра заключается в высокой степени детализации: каждая строка отчета соответствует определенной номенклатурной позиции в конкретном документе (Заказ или Реализация).
Если мы попытаемся применить простую функцию Количество к полю Клиент, программа просто просуммирует все записи в выборке. Проанализируем ситуацию на примере: если один клиент приобрел 10 различных товаров в рамках пяти заказов, стандартная функция подсчета выдаст результат 10 (по количеству строк с товарами) или 5 (по количеству документов), в то время как фактический клиент — всего один. Именно поэтому у пользователей часто возникают ситуации, когда вместо ожидаемых 17 клиентов отчет показывает 148 и более.
Это самый простой способ визуально пронумеровать строки, если отчет сгруппирован по клиентам. Рассмотрим, как это реализовать через пользовательские настройки:
№ п/п (номер по порядку).Важное ограничение: данный метод позволяет лишь увидеть порядковый номер строки в печатной форме. Проанализируем главный минус: поле № п/п не является ресурсом. Это значит, что программа не сможет сложить эти цифры в строке Итого. Если вам нужно видеть общую сумму клиентов в подвале отчета, этот метод не подойдет.
Чтобы получить корректное число уникальных клиентов и вывести его в итоги, нам необходимо использовать механизм Системы Компоновки Данных (СКД). Мы воспользуемся функцией Количество(Различные ...). Пройдем по шагам:
Кол-во уникальных клиентов.
Выбор Когда КупленоКоличество > 0 Тогда 1 Иначе 0 Конец
Количество(Различные Клиент)
Функция Количество(Различные ...) игнорирует дубликаты внутри заданной группировки. Таким образом, даже если клиент встречается в отчете сотни раз, в итог он попадет как единица.
Если вы хотите видеть количество клиентов не только в общем итоге, но и в разрезе дополнительных реквизитов (например, по Источникам информации, о которых упоминал автор темы), нужно правильно настроить расчет ресурсов.
Разберем ситуацию: менеджер заводит доп. реквизит "Источник" (Реклама, ТВ, Рекомендация). Чтобы отчет корректно считал клиентов по каждому источнику, выполним следующие действия:
Клиент в список ресурсов.Количество(Различные Клиент).Обратите внимание: если одно и то же доверенное лицо или контрагент пришел к вам сначала из "ТВ", а потом по "Рекламе" (и это зафиксировано в разных заказах), при группировке по источникам он будет посчитан в каждой группе. Однако в Общем итоге по всему отчету он все равно отобразится как 1 клиент, благодаря оператору Различные.
В сложных случаях, когда стандартных настроек недостаточно, можно использовать Вычисляемые поля непосредственно в схеме компоновки. Рассмотрим пример реализации через массив группировок, который позволяет избежать ошибок при вложенных иерархиях:
В конфигураторе или через расширенное редактирование схемы можно задать выражение ресурса следующим образом:
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(1)", "Клиент"))
Данная конструкция работает по следующему алгоритму:
Этот метод считается наиболее отказоустойчивым при работе с очень сложными структурами отчетов, где присутствуют и характеристики, и доп. реквизиты, и несколько уровней вложенности.
Для реализации корректного подсчета клиентов в 1С:УТ 11.5 не обязательно привлекать программиста. Достаточно освоить инструмент Изменить вариант и научиться использовать агрегатную функцию Количество(Различные ...). Помните, что ключевым моментом является настройка поля именно как Ресурса, так как только ресурсы позволяют получать суммируемые итоги в иерархических отчетах СКД.