Своя аналитическая база для МойСклад: что это и зачем рознице
Объясняем, из чего состоит аналитическая копия, какие вопросы она решает и как проверить данные и права до подключения дашбордов.
Представьте три магазина: директор хочет видеть продажи и остаток каждого товара за каждый день. В МойСклад есть отчёты по продажам и остаткам, но для такой таблицы надо согласовать магазин, товар, время среза и возвраты. Аналитическая база хранит результат этого согласования, чтобы не собирать его вручную перед каждым совещанием.
Что находится между МойСклад и графиком
Сначала получают исходные записи: документы продаж и возвратов, справочники товаров и точек, платежи и остатки на выбранные моменты. Затем приводят идентификаторы и даты к общему виду, задают правила расчёта и сохраняют подготовленные таблицы. BI-инструмент или SQL-клиент читает их, не выполняя каждый раз длинную цепочку запросов к МойСклад.

Например, отчёт «Прибыльность» уже учитывает продажи и возвраты для расчёта результата товара. В собственной таблице придётся сохранить, какие документы вошли, к какой дате относится возврат и как меняется итог после исправления исходного документа. Для выбора разового отчёта сначала посмотрите штатные отчёты МойСклад.
Чем база отличается от отчёта и Excel
| Способ | Когда полезен | Что потребует внимания |
|---|---|---|
| Штатный отчёт | Проверить показатель и исходные документы в МойСклад | Для общего ряда из разных отчётов нужны дополнительные правила |
| Выгрузка в Excel | Разобрать один период и передать файл | Новые документы и исправления не обновят сохранённый файл сами |
| Аналитическая база | Хранить подготовленные данные и повторять расчёт по одним правилам | Нужно определить состав, частоту обновления, доступы и сверку |
База не делает цифры верными сама по себе. Если загрузить продажи без возвратов, неправильный магазин или устаревший остаток, дашборд уверенно покажет ошибку. Поэтому первым результатом проекта лучше считать не красивый экран, а воспроизводимую сверку одного товара и одного дня с МойСклад.
Если пока нужен один файл раз в месяц, отдельная инфраструктура может оказаться лишней. В сравнении способов выгрузки есть выбор между Excel, рассылкой, API и базой по объёму ручной работы и свежести данных.
Какие таблицы нужны рознице
Для первого вопроса «Что происходило с товаром в магазине каждый день?» достаточно небольшой модели: список товаров и точек, продажи с возвратами и остаток на конец дня. В строке дневной таблицы нужны дата, идентификатор товара, идентификатор точки, проданное количество, сумма и остаток. Укажите время среза и единицу измерения; иначе данные двух точек легко сравнить неверно.

Не соединяйте суммы чеков с каждой товарной позицией и каждой оплатой без учёта кратности: один чек может содержать несколько позиций и смешанную оплату. Разделите таблицы по уровню записи и сверьте итоги до объединения. Для анализа остатков по дням проверьте правила нулевых строк и правок задним числом в отдельной инструкции об остатках.
Нужен ли для этого ClickHouse
ClickHouse — колоночная SQL-база для аналитических запросов. Она подходит, когда нужно группировать много строк по датам, товарам и магазинам. Но выбор технологии начинается с объёма данных, частоты обновления и навыков команды. Маленькую модель можно построить и на другом хранилище; название базы не заменяет правил расчёта.
Если аналитик будет подключать свой инструмент, заранее согласуйте адрес подключения, сеть, шифрование, список доступных таблиц и учётную запись только с нужными правами чтения. ClickHouse поддерживает роли и права на таблицы. Права загрузчика, который обновляет копию, должны быть отделены от прав читателя. Это проектное требование, а не заявленная конфигурация TrueTell.
Что проверить перед первым дашбордом
Возьмите одну точку и три дня. Сверьте число документов и суммы продаж с «Прибыльностью», отдельно возвраты и оплаты, затем остаток одного товара на каждую дату. Запишите время выгрузки. На тестовом наборе или после реального исправления документа задним числом повторите расчёт: так выяснится, какие даты нужно перечитывать и как отличать сохранённый снимок от текущего пересчёта.
Следом проверьте права. Управление правами пользователей в МойСклад, по официальной справке, доступно на тарифах «Профессиональный» и «Корпоративный». Выясните, позволяет ли тариф дать пользователю МойСклад, от имени которого работает загрузчик, только нужное чтение. Права этого пользователя и роль аналитика в отдельной базе настраивают раздельно. Для аналитика ограничьте выборку подготовленными таблицами и проверьте доступ тестовым запросом. Если минимальные права источника недоступны, не считайте всю цепочку настроенной «только для чтения».
Частые вопросы
Зачем отдельная база, если в МойСклад есть отчёты?
Штатный отчёт удобен для проверки одного показателя. Отдельная база полезна, когда нужно регулярно соединять продажи, возвраты, оплаты и остатки по товарам, магазинам и датам, сохраняя одни правила расчёта и историю сверок.
Обязательно ли использовать ClickHouse?
Нет. ClickHouse — один из вариантов аналитического хранилища для SQL-запросов по большим таблицам. Выбор базы зависит от объёма данных, частоты обновления, инструментов команды и стоимости эксплуатации.
Может ли аналитик работать без права менять документы МойСклад?
Да, если аналитик работает с отдельной копией и его роль в ней ограничена чтением. Права пользователя МойСклад, чьим токеном работает загрузчик, и права аналитика в базе настраивают раздельно. Возможность индивидуальной настройки прав пользователей МойСклад зависит от тарифа; проверьте оба доступа до передачи данных.
Сохраняет ли база историю так, как она выглядела в прошлом?
Только если это предусмотрено загрузкой. Повторный запрос остатка на прошлую дату может измениться после правки документов задним числом. Для истории ранее увиденных значений нужно сохранять версии срезов или снимки с временем загрузки и правилом пересчёта.
Можно ли сразу подключить к такой базе BI?
Подключение зависит от выбранного хранилища, способа доступа, драйвера и сетевых ограничений. Сначала проверьте одну таблицу и одну сверку с МойСклад; инструкцию для конкретного BI-инструмента имеет смысл публиковать после реального теста связки.