В типовых конфигурациях 1С:ERP и 1С:Комплексная автоматизация 2.4 пользователи часто сталкиваются с задачей анализа внутренних перемещений товаров. Стандартный отчет Ведомость по товарам на складах отлично показывает остатки и общие обороты, но по умолчанию в нем крайне сложно увидеть «шахматку» — откуда пришел товар и куда он ушел. Рассмотрим подробно, как решить эту задачу штатными средствами системы без привлечения программистов.
Проанализируем архитектуру системы. Основной отчет по складским остаткам строится на регистре накопления Товары на складах. Этот регистр спроектирован для контроля остатков в разрезе конкретных мест хранения. Когда происходит перемещение, система делает две записи в регистр: «Расход» со склада А и «Приход» на склад Б. Эти записи в рамках регистра напрямую не связаны друг с другом по аналитике склада. Однако вся необходимая информация содержится в самих документах-регистраторах и в специализированных регистрах движения.
Разберем самый оперативный метод, который позволяет увидеть данные сразу после проведения документа Перемещение товаров, не дожидаясь закрытия месяца и расчета себестоимости. Мы воспользуемся механизмом расширенной настройки компоновки данных.
Регистратор.Регистратор и нажмем на «плюс». В раскрывшемся списке полей документа перемещения выберем:
Регистратор.Склад-отправительРегистратор.Склад-получательВажный нюанс: Чтобы в отчете не было пустых строк для документов закупки или продажи, обязательно установим отбор на закладке Фильтры: Регистратор.Тип Равно Перемещение товаров. Это позволит превратить обычную ведомость в специализированный реестр перемещений.
Существует более «профессиональный» технический способ получения этих данных. В программе есть регистр накопления Движения Номенклатура — Номенклатура. Рассмотрим, почему он нам полезен. В отличие от остаточных регистров, этот регистр оборотов специально предназначен для фиксации корреспондирующих движений.
Для настройки выполним следующие шаги:
Движения Номенклатура — Номенклатура.В этом регистре измерения Склад и КорСклад (корреспондирующий склад) являются базовыми. Мы можем настроить структуру отчета так, чтобы в строках была Номенклатура, а в колонках — КорСклад. Это даст нам классическую шахматную форму отчета по перемещениям. Этот метод работает быстро и корректно отражает именно межузельные обороты.
Если нам важно видеть не только количество, но и стоимостную оценку перемещенных товаров, проанализируем отчет по себестоимости. Рассмотрим вариант отчета Анализ движений товаров.
В настройках этого отчета по умолчанию присутствует группировка по видам запасов и хозяйственным операциям. Найдем операцию Перемещение товаров.
Система разделяет приходную и расходную части. Главное преимущество этого отчета в том, что он опирается на регистр Себестоимость товаров, который является основным для управленческого баланса.
Однако помните, что количественные данные здесь актуальны всегда, а вот корректные суммы появятся только после выполнения обработки Закрытие месяца.
Выясним, какие еще штатные инструменты могут помочь. В разделе Склад и доставка — Отчеты по складу есть отчет Контроль перемещений товаров. Многие его игнорируют, считая, что он нужен только для заказов.
На самом деле, если ваша компания использует цепочку Заказ на перемещение — Перемещение товаров, этот отчет становится идеальным инструментом. В нем изначально заложены колонки:
Склад-отправительСклад-получательКоличество (согласно заказу)Количество (отгружено)Количество (принято)Если перемещения оформляются по статусам (например, товар уже уехал со склада А, но еще не доехал до склада Б), используем отчет Товары в пути (отгрузка). Он покажет все зависшие перемещения в разрезе отправителей и получателей, что критически важно для инвентаризации остатков, находящихся в трафике.
Для реализации задачи по анализу перемещений мы рекомендуем использовать комбинацию методов:
Ведомость по товарам с группировкой по полям регистратора.Универсальный отчет по регистру Движения Номенклатура — Номенклатура.При использовании Универсального отчета вы можете столкнуться с необходимостью фильтрации по хозяйственным операциям. В коде системы это выглядит примерно так (на уровне метаданных):
// Пример структуры запроса к регистру в СКД
ВЫБРАТЬ
ДвиженияНоменклатураНоменклатураОбороты.Склад КАК СкладОтправитель,
ДвиженияНоменклатураНоменклатураОбороты.КорСклад КАК СкладПолучатель,
ДвиженияНоменклатураНоменклатураОбороты.Номенклатура,
ДвиженияНоменклатураНоменклатураОбороты.КоличествоОборот КАК Количество
ИЗ
РегистрНакопления.ДвиженияНоменклатураНоменклатура.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ДвиженияНоменклатураНоменклатураОбороты
ГДЕ
ДвиженияНоменклатураНоменклатураОбороты.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеремещениеТоваров)
Используя данные механизмы, вы сможете полностью контролировать логистические потоки внутри предприятия без написания собственных отчетов «с нуля».