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