Загрузка и проверка данных
С данных начинается любой расчёт. Здесь — как загрузить факт, план и себестоимость, какие ошибки платформа отклоняет на входе, как работают два контроля целостности (маржа и НДС) и как убедиться, что все блоки видят одни и те же цифры.
Вкладка 1. Загрузка факта
Загрузить историю продаж и, при необходимости, факт за прогнозный период. Формат один — 14 колонок эталона; выгрузка платформы совпадает с загрузкой один в один.
Кадр 1. Экран загрузки: три шага и правила формата
Маршрут загрузки
Что показывает: три вкладки блока: загрузка факта, загрузка план-факта и версии загрузок.
Как читать: порядок задан слева направо: сначала история продаж, потом плановые данные, версии — контроль того, что уже в базе. Факт нужен всем разделам, план — только план-факту.
Что делать: начните с «Загрузки факта»: без истории продаж остальные блоки считать нечего.
Первичная загрузка (история продаж)
Что показывает: основной слот: файл истории продаж и выбор режима — новая версия, замещение или добавление.
Как читать: режим решает судьбу прежних данных. «Новая версия» оставляет старое в реестре и делает активным новое, «Замещение» перезаписывает, «Добавление» дописывает строки. Ошибка в режиме всплывает не при загрузке, а позже — цифры «поедут» в разделах.
Что делать: для регулярного обновления берите «Новую версию»: она обратима, прежнее остаётся в реестре.
Кадр 2. Сводка по активным загрузкам
Сводка по активным загрузкам
Что показывает: что сейчас считается активными данными проекта: вид, период, число строк.
Как читать: это ответ на вопрос «с чем платформа работает прямо сейчас». Если раздел показывает неожиданное, чаще всего активна не та версия загрузки.
Что делать: проверяйте сводку после каждой загрузки — до того, как идти в аналитику.
Вкладка 2. Загрузка план-факт
Загрузить план и факт под него — пару наборов, на которой строится анализ исполнения плана.
Кадр 1. Загрузка плана и факта под него
Загрузка плана и факта под план-факт
Что показывает: два слота: сначала план, затем факт за тот же период — они сопоставляются между собой.
Как читать: план-факт требует пары: план без факта не с чем сравнивать, факт без плана — просто история. Периоды должны совпадать, иначе сравниваются разные отрезки.
Что делать: загружайте оба файла за один период; нумерация слотов и есть порядок работы.
Вкладка 3. Версии загрузок
Видеть историю загрузок и возвращаться к прежней версии данных, если новая оказалась хуже.
Кадр 1. Версии загрузок и откат
Версии загрузок
Что показывает: все загрузки проекта: когда, что, сколько строк, какая активна.
Как читать: каждая загрузка сохраняется версией, поэтому вернуться к прежним данным можно без повторной загрузки файла. Активна всегда одна — её и видят разделы.
Что делать: держите реестр в порядке: лишние версии удаляйте, чтобы не перепутать активную.
AПроверка ошибок при загрузке
Файл проходит три ступени: валидация формата → достройка и очистка строк → контроль внутренней целостности. Ниже — точные условия, по которым работает платформа.
Не примет файл — это ошибки, загрузка блокируется
| Проверка | Условие | Почему |
|---|---|---|
| Ошибка Нет обязательной колонки | ГОД · МЕСЯЦ · Номенклатура · Объём | без них строку не идентифицировать и не посчитать |
| Ошибка Пустой файл | нет ни одной строки данных | грузить нечего |
| Ошибка Нераспознанный месяц | значение месяца не свёлся ни к одному формату | период определить нельзя — расчёты «поедут» |
Предупредит, но загрузит — замечания к качеству
| Проверка | Условие | Последствие |
|---|---|---|
| Замечание Нет стоимостной базы | нет ни «Выручки», ни пары «Цена»+«Себестоимость» | расчёты по строке будут ограничены |
| Замечание SKU в разных группах | один SKU отнесён к нескольким группам | разрез по группам «размажет» позицию |
| Замечание Разные ед. изм. в группе | в одной группе позиции в кг и в шт | объём группы суммировать некорректно |
Автоочистка строк — что происходит с каждой строкой
| Итог | Когда | Что делает платформа |
|---|---|---|
| 🟢 Восстановлено | часть чисел пуста, но выводима по тождествам | достраивает: Выручка=Цена×Объём · Прямые=Себест×Объём · GP=Выручка−Прямые (и обратные) |
| 🟡 Проверьте | Объём или Выручку определить нельзя | обнуляет все числа строки, строку оставляет — не искажает расчёт, но видно для правки источника |
| 🔴 Удалено | нет Года или SKU | идентифицировать нечего — строка удаляется |
Текстовые разрезы (группа, канал, сегмент, ед. изм.) пустыми и остаются — «0» им не подставляется.
БКонтроль целостности маржи (В1 / В2)
Маржинальную прибыль строки можно получить двумя способами. На согласованных данных они совпадают с загруженной колонкой Gross profit. Если расходятся — данные внутренне противоречивы, и разные блоки возьмут разную маржу. Платформа ловит это на входе.
В2 = (Цена − Себестоимость) × Объём
колонка Gross profit — как загружено
расхождение любой пары > 0,01 % → сохранение блокируется, нужно выбрать базис
Кадр 2. Блок выбора базиса — появляется, когда маржа считается по-разному

Контроль целостности маржи (В1 / В2)
Что показывает: сверка двух способов счёта маржи: В1 — выручка минус прямые затраты, В2 — (цена минус себестоимость) × объём. Показаны расхождения по строкам и выбор базиса.
Как читать: два способа обязаны давать одно число. Расхождение означает, что в файле цена, себестоимость и выручка не согласованы между собой — и дальше каждый раздел выберет свой источник истины. Поэтому сохранение блокируется, пока базис не выбран: платформа не угадывает за вас.
Что делать: разберите крупные расхождения в файле; если данные верны, выберите ведущий базис — В1 при ведущей выручке, В2 при ведущих цене и себестоимости.
Выбор базиса маржи
Что показывает: переключатель В1/В2 с итогами по каждому варианту.
Как читать: выбранный базис становится правилом для всего проекта: из него считаются цена и маржа во всех разделах. Смена базиса позже изменит цифры везде.
Что делать: выбирайте осознанно и один раз: это методическое решение, а не техническая настройка.
ВКонтроль НДС себестоимости
В себестоимости истина для расчёта — цены без НДС (и номенклатуры, и сырья). Цены с НДС — вспомогательные (компании часто дают всё с НДС). Колонка «Ставка НДС, %» позволяет свести одно с другим.
даны обе цены + ставка → проверка: Цена с НДС ≈ Цена без НДС × (1 + ставка/100)
только с НДС без ставки → без-НДС вывести нельзя — добавьте ставку
Кадр 3. Контроль НДС в предпросмотре себестоимости

Контроль НДС себестоимости
Что показывает: проверка, не загружены ли цены и себестоимость с НДС там, где расчёт ждёт величины без НДС.
Как читать: истина расчёта — величины без НДС. Смешение приводит к заниженной марже и отрицательной рентабельности у нормальных позиций; ошибка выглядит как проблема бизнеса, хотя это проблема файла.
Что делать: если контроль сработал, пересчитайте колонки по ставке или загрузите файл без НДС.
Вкладка 1. Реестр данных
Единый реестр всех данных проекта по блокам и разделам: загрузки, прогнозы, стратегии, выгрузки. Здесь же архивируют и удаляют лишнее.
Кадр 1. Реестр: весь след данных проекта
Реестр данных проекта
Что показывает: всё, что загружено в проект: продажи, себестоимость, планы, прогнозы, выгрузки — с архивированием, восстановлением и удалением.
Как читать: реестр показывает не файлы, а наборы данных, с которыми работают разделы. Архивирование скрывает набор из расчётов, но сохраняет его; удаление необратимо и уносит связанные расчёты.
Что делать: перед удалением архивируйте: для расчётов эффект тот же, но данные можно вернуть.
Вкладка 2. Журнал операций
Смотреть, какие операции с данными выполнялись в проекте и когда.
Кадр 1. Журнал операций с данными
Журнал операций с данными
Что показывает: хронология действий: кто, когда и что загрузил, заменил или удалил.
Как читать: журнал отвечает на вопрос «почему цифры изменились». Если раздел показывал одно, а теперь другое, причина почти всегда здесь — новая загрузка или смена активной версии.
Что делать: начинайте разбор расхождений с журнала, а не с расчёта: так быстрее.
Вкладка 3. Сверка данных
Проверить сквозную согласованность: одну ли маржинальную прибыль видят все блоки платформы.
Кадр 1. Сквозная сверка маржи по всем путям
Сквозная сверка: одну ли маржу видят все блоки
Что показывает: таблица по блокам платформы: какую маржу видит каждый, отклонение от эталона и статус.
Как читать: главная проверка согласованности: все разделы обязаны считать одну маржу. Расхождение означает, что блок работает на другой версии данных или другом базисе — и его выводы несопоставимы с остальными.
Что делать: добейтесь нулевого отклонения по всем блокам прежде, чем сравнивать их выводы.
ГПлоский листинг («Таблица X»)
Разрезы отвечают на вопрос «сколько», а листинг показывает, что именно легло в базу — построчно, в формате загрузки. Один компонент во «Входных данных» всех разделов.
Возможности
- Фильтр в шапке каждого атрибутного столбца (год, месяц, канал, группа, сегмент, SKU) + поиск.
- ИТОГО сверху — по всему отфильтрованному набору (не только по видимой странице).
- Сквозная нумерация строк и постраничный вывод; сортировка и итог считаются в базе.
Подсветка проблемных строк
Строка помечается, если выполняется хотя бы одно:
| Пометка | Условие |
|---|---|
| Проблема Маржа не сходится | Gross profit ≠ Выручка − Прямые затраты |
| Проблема Нулевой объём | объём = 0 при ненулевой выручке |
| Проблема Отрицательное значение | отрицательное число там, где его быть не должно |
ДСверка данных — одну ли маржу видят все блоки
Сторож на случай, как 30.08: когда «стухшая» колонка Gross profit развела блоки втрое. Сверка опрашивает каждый путь его же функцией и сравнивает с эталоном.
статусы: ok ≤ 0,01 % · warn ≤ 0,5 % (округления) · error выше — данные разъехались
вердикт = худший статус среди путей
Какие пути сверяются
| Путь | Как считает маржу |
|---|---|
| Колонка gross_profit | как хранится — показывает, перебазированы ли данные |
| Входные данные / Динамика | читает колонку gross_profit |
| Факторный контроль / Портфель | считает Выручка − Прямые (В1) |
| Нереализованный потенциал (M-16) | свой слой оптимизации |
Плюс счётчик строк, где колонка противоречит эталону. Отказ любого пути не роняет сверку — в таблице будет «нет данных».
Вкладка «Справочники»
Справочники проекта: рабочие центры, сырьё, группы, номенклатура (SKU), единицы измерения. Они служат общим словарём для всех блоков — прежде всего для производственного.
Пять вкладок делятся на две части. Рабочие центры, Сырьё / Базовые продукты и Единицы измерения заполняются вручную — в данных продаж их может не быть. Группы и Номенклатура (SKU) приходят из загруженных данных и обновляются кнопкой «Обновить из загруженных данных» (перезапись с нуля по активной загрузке, кроме плана); единицы при этом пополняются из данных, но заведённые вручную не стираются.
Те же справочники открываются прямо в блоке «Оптимизация производственно-торговой деятельности» (вкладка «Справочники»), чтобы не уходить из производственного блока.
ЕРучные справочники: рабочие центры и сырьё
Как заполнять
Рабочий центр — предприятие, производственная линия или цех; одна единица измерения на центр. Сырьё / базовый продукт — то, из чего делается продукция (например, молоко): именно эти позиции подставляются в рецептуру производственного блока. Строки добавляются кнопкой «+ Добавить строку», удаляются крестиком.
Что сделать: заполните строки и нажмите «Сохранить» — без нажатия введённое не сохраняется. Сохранение перезаписывает справочник целиком: на экране должно остаться всё, что нужно оставить в базе. Строка без наименования не сохраняется — наименование обязательно, код и примечание нет; если записано меньше строк, чем на экране, платформа скажет об этом прямо: «Записано N из M».
Справочники правятся, а не только читаются
Группы и номенклатура приходят из данных, но редактируются здесь: строку можно переименовать или удалить — например, пустую, которая попала из файла с незаполненным полем. Связи «позиция ↔ группа ↔ канал» при этом не трогаются: они пересобираются из данных кнопкой «Обновить из загруженных данных», и она же вернёт названия из активной загрузки.
Что сделать: пустые записи убираются одной кнопкой «Убрать пустые записи» в шапке раздела — она чистит все справочники сразу. Точечные правки: измените строку и нажмите «Сохранить».
Единицы измерения — отдельный справочник
Единицы нужны спецификации производства: норматив списания задаётся «единица сырья на единицу продукта» (тонна масла на тонну готового, литр молока на килограмм творога). Поэтому список заводится и вручную — в файле продаж колонки «Ед. изм.» может не быть. Введённые единицы предлагаются подсказкой в полях «Ед. изм.» рабочих центров, сырья и групп и переживают обновление справочников из данных.
Что сделать: заведите на вкладке «Единицы» те единицы, в которых считаете выпуск и списание, и нажмите «Сохранить». Повторы и пустые строки платформа отбрасывает сама.
Единица измерения группы
На вкладке «Группы» названия приходят из данных и не редактируются, а ед. изм. задаётся здесь вручную. Она подставляется в рецептуру производства и участвует в проверке «единица центра против единицы группы», поэтому задаётся один раз и переживает обновление справочников из данных.
Что сделать: проставьте единицы группам, которые пойдут в производство, и нажмите «Сохранить ед. изм. групп».
ЖСправочники SKU и групп
Что в них
Справочник SKU — по каждой позиции её группа и единица измерения по умолчанию. Справочник групп — какие единицы измерения встречаются в группе. Обновляются автоматически при каждой загрузке (по активным данным, кроме плана).
Что сделать: если в справочнике у SKU «размазаны» группы или единицы — это след замечаний загрузки (SKU в разных группах / разные ед. изм.); поправьте источник и перезагрузите.
Вкладка 1. Формат данных продажи
Эталон формата продаж — 14 колонок. Тот же файл служит и форматом выгрузки: выгруженные данные загружаются обратно без переделки.
Кадр 1. Эталон формата и описание колонок
Эталон формата продаж
Что показывает: образец файла с правильными колонками и заполненными примерами строк.
Как читать: эталон — это контракт загрузки: названия колонок в нём совпадают с тем, что ждёт загрузчик. Тот же файл служит форматом выгрузки, поэтому выгруженное грузится обратно без переделки.
Что делать: скачайте эталон и заполняйте его, а не свой файл: загрузка пройдёт с первого раза.
Описание атрибутов формата продаж
Что показывает: перечень колонок с назначением каждой: обязательные, необязательные, вычисляемые.
Как читать: часть колонок платформа достраивает сама по формулам — их заполнять не обязательно. Обязательные без значения делают строку непригодной: она будет удалена при очистке.
Что делать: сверьте свой файл с перечнем до загрузки: дешевле, чем разбирать отбракованные строки.
Вкладка 2. Формат данных себестоимость
Эталон формата себестоимости — передел и BOM: сырьё, нормы, цены, ставка НДС.
Кадр 1. Формат себестоимости
Описание атрибутов формата себестоимости
Что показывает: колонки формата себестоимости: продукт, сырьё, нормативы списания, цены закупки, ставка НДС.
Как читать: формат описывает передел: выпуск, норма расхода и цена сырья. Из этих трёх величин собирается материальная себестоимость, поэтому пропуск любой ломает расчёт по всей цепочке.
Что делать: заполняйте нормативы по технологическим картам: это единственное место, где они попадают в систему.
ЗТри формата загрузки
Продажи — 14 колонок (факт / план)
Синим — обязательные (ГОД · Номенклатура · Объём + распознаваемый МЕСЯЦ). Остальное достраивается по формулам, где возможно.
Себестоимость — 30 колонок (передел / BOM)
Грань «период × номенклатура × сырьё»: цена номенклатуры без/с НДС, объём выпуска, наименование и норматив сырья, цена сырья без/с НДС, Ставка НДС, %, списание на единицу, время производства, плюс период-уровень (косвенные расходы, ФОТ, соц. выплаты). Истина расчёта — цены без НДС (см. блок «Контроль НДС»).
Производство — JSON (≈16 полей)
Структурированная выгрузка производственного блока (BOM, мощности, нормы списания). Подробности — в справке раздела «Производство».