Почему в отчетах по продажам 1С:ERP не отображаются серии товаров и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Торговля и дистрибуция
← На главную

При работе в системе 1С:ERP Управление предприятием (версий 2.4 и 2.5) пользователи часто сталкиваются с ситуацией, когда штатный отчет «Продажи» или «Выручка и себестоимость продаж» выводит пустые значения в колонке Серия. При этом в складских отчетах те же самые серии отображаются корректно. Давайте подробно разберем, почему так происходит, как устроена архитектура хранения данных в системе и какие шаги необходимо предпринять для решения этой проблемы.

Анализируем архитектуру хранения данных по сериям

Для начала нам необходимо понять, откуда отчеты по продажам черпают информацию. В отличие от складских отчетов, которые работают с регистром Товары на складах, отчеты финансового блока (продажи, себестоимость) строятся на базе регистра накопления ВыручкаИСебестоимостьПродаж.

Проанализируем структуру этого регистра. В нем нет прямого измерения Серия. Вместо этого используется измерение АналитикаНоменклатуры, которое ссылается на справочник КлючиАналитикиНоменклатуры. Именно в этом справочнике система объединяет комбинации номенклатуры, характеристик и — в определенных случаях — серий.

Важный момент: если поле Серия в справочнике КлючиАналитикиНоменклатуры не заполнено, то в любых финансовых отчетах (продажи, валовая прибыль) вы увидите пустое значение, даже если физически товар отгружался с указанием серии в документе.

Выясняем причину: влияние политики учета серий

Разберем, почему система может «игнорировать» серию при формировании ключей аналитики. Все дело в настройках Политики учета серий, которая задается для конкретного Вида номенклатуры. Рассмотрим основные варианты настроек:

  1. Управление остатками серий: При такой политике система отслеживает серии только для складского учета (где лежит товар). Для финансового учета (сколько прибыли принес товар) серия считается несущественной деталью. В целях оптимизации базы данных 1С не создает отдельный финансовый разрез под каждую серию.
  2. Справочное указание серий: Серии фиксируются только в документах «для информации», они не влияют ни на остатки, ни на финансовый результат.
  3. Учет себестоимости по сериям: Это единственный вариант политики, при котором серия становится полноправным участником финансового учета. В этом случае система обязана фиксировать серию в ключе аналитики номенклатуры, чтобы корректно рассчитать себестоимость каждой конкретной партии (серии).

Таким образом, если у вас выбрана политика «Управление остатками серий», серии в стандартных отчетах по продажам отображаться не будут. Это поведение заложено в логику типового решения для минимизации количества записей в ключевых таблицах аналитики.

Шаг 1: Настройка политики учета серий

Рассмотрим порядок действий для исправления ситуации. Чтобы серии начали попадать в отчеты по продажам, нам необходимо изменить настройки в карточке Вид номенклатуры.

Последовательность действий:

  1. Переходим в раздел НСИ и администрирование — Классификаторы номенклатуры — Виды номенклатуры.
  2. Открываем нужный вид номенклатуры и переходим на вкладку Основное, в раздел Серии.
  3. Находим поле Политика учета серий. Если для вашего склада (или группы складов) установлена политика, отличная от «Учет себестоимости по сериям», ее необходимо изменить.
  4. Создаем новую политику учета серий, выбрав тип политики Учет себестоимости по сериям.

Обратите внимание: Изменение политики в «живой» базе, где уже есть движения товаров, — процедура сложная. Система может заблокировать изменение, если по данной номенклатуре есть остатки или документы. В таком случае потребуется либо ввод новых карточек номенклатуры, либо полная очистка движений для редактирования настройки.

Шаг 2: Проверка и перепроведение документов

Просто изменить настройку недостаточно для того, чтобы «старые» продажи отобразились с сериями. Ключи аналитики формируются в момент проведения документа реализации. Проанализируем, что нужно сделать после смены политики:

  1. Необходимо убедиться, что в справочнике КлючиАналитикиНоменклатуры начали появляться записи с заполненным полем Серия.
  2. Потребуется перепровести документы РеализацияТоваровУслуг за отчетный период.
  3. В некоторых случаях может потребоваться перезаполнение табличной части документов, чтобы система «подхватила» новые правила формирования аналитики.

Альтернативное решение: Использование складских отчетов

Если по каким-то причинам вы не можете или не хотите включать «Учет себестоимости по сериям» (например, это избыточно для вашего учета и сильно раздувает базу), разберем альтернативный способ получения данных. При критическом росте объёма данных на сервере для уменьшения размера базы используется многопоточная свёртка 1С:ERP, которая параллельно очищает регистры и помечает старые документы на удаление.

Посмотрим на отчет «Движения серий товаров». Хотя он считается складским, в нем можно настроить фильтрацию:

  1. Установите отбор по полю Хозяйственная операция.
  2. Выберите значение Реализация клиенту.

В данном отчете серии будут видны всегда, так как он берет данные из складского контура (регистр ДвиженияСерийТоваров), где серии фиксируются независимо от политики финансового учета.

Техническое решение для программиста: Кастомный отчет

Если бизнес-требования диктуют необходимость видеть и выручку, и серии в одном окне, а политика учета серий настроена как «Управление остатками», нам придется прибегнуть к разработке внешнего отчета. Проанализируем логику запроса для такого отчета.

Нам потребуется соединить данные двух регистров. Основным источником сумм будет РегистрНакопления.ВыручкаИСебестоимостьПродаж, а источником серий — складские регистры. Связку эффективнее всего делать по регистратору (документу продажи).

Пример логики запроса на языке 1С:


ВЫБРАТЬ
    Продажи.Организация,
    Продажи.Номенклатура,
    Продажи.Количество,
    Продажи.ВыручкаРегл,
    ДвиженияСерий.Серия
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрНакопления.ДвиженияСерийТоваров КАК ДвиженияСерий
ПО 
    Продажи.Регистратор = ДвиженияСерий.Регистратор
    И Продажи.Номенклатура = ДвиженияСерий.Номенклатура
    И Продажи.Характеристика = ДвиженияСерий.Характеристика

Используя такое соединение, мы сможем «подтянуть» серийные номера в отчет по продажам, не перегружая финансовую аналитику системы лишними разрезами учета. Однако помните, что при частичных отгрузках одной позиции разными сериями в рамках одного документа, соединение может потребовать дополнительной детализации по номерам строк или использования промежуточных временных таблиц.

Подводим итоги

Мы выяснили, что отсутствие серий в отчетах по продажам 1С:ERP 2.4 — это не ошибка программы, а следствие настроенной Политики учета серий.

Если вам нужен штатный отчет — используйте политику «Учет себестоимости по сериям».

Если вам достаточно оперативной информации — используйте отчет «Движения серий товаров» с фильтром по операциям реализации.

Для сложных случаев, когда менять политику нельзя, а отчет необходим — оптимальным решением станет создание внешнего отчета через Систему Компоновки Данных (СКД), объединяющего финансовый и складской контуры.

← На главную