В каком регистре хранятся данные по неотгруженным заказам в 1С:Управление торговлей 11.4

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

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

Основной источник данных: Регистр накопления «Заказы клиентов»

Проанализируем работу базового механизма. В большинстве случаев для получения информации о невыполненных обязательствах перед покупателями следует обращаться к регистру накопления ЗаказыКлиентов. Этот регистр является «точкой правды» для управленческого учета в разрезе заказов.

Рассмотрим, как формируются движения в этом регистре:

  1. Приход: Происходит в момент проведения документа Заказ клиента, если в строках установлен статус «К выполнению» или «Отгрузить». Система фиксирует количество товара, которое мы обязались поставить.
  2. Расход: Фиксируется при проведении документа Реализация товаров и услуг. Именно в этот момент обязательство считается выполненным с точки зрения взаимоотношений с клиентом.
  3. Отмена: Если клиент отказался от части позиций, и в заказе был установлен флаг Отменено, система также делает движение «Расход», чтобы обнулить остаток обязательства.

Таким образом, остаток по регистру ЗаказыКлиентов — это и есть количество товара, которое осталось отгрузить. Если остаток положительный, значит, товар еще не прошел по накладным реализации.

Пример простейшего запроса для получения остатков по регистру:


ВЫБРАТЬ
    ЗаказыКлиентовОстатки.ЗаказКлиента КАК Заказ,
    ЗаказыКлиентовОстатки.Номенклатура КАК Номенклатура,
    ЗаказыКлиентовОстатки.КоличествоОстаток КАК ОстатокКОтгрузке
ИЗ
    РегистрНакопления.ЗаказыКлиентов.Остатки(&Период, ) КАК ЗаказыКлиентовОстатки
ГДЕ
    ЗаказыКлиентовОстатки.КоличествоОстаток > 0

Нюансы ордерной схемы: Регистр «Товары к отгрузке»

Выясним причину, по которой иногда данных из регистра ЗаказыКлиентов недостаточно. Если на предприятии используется ордерный склад, процесс отгрузки разделяется на два этапа: менеджер выписывает накладную (финансовый документ), а кладовщик собирает товар (складской документ Расходный ордер на товары).

Разберем ситуацию: менеджер создал Реализацию товаров и услуг, но кладовщик еще не успел собрать товар. С точки зрения регистра ЗаказыКлиентов, товар считается отгруженным (остаток обнулился). Однако фактически товар все еще лежит на полке склада.

Для таких случаев необходимо анализировать регистр накопления ТоварыКОтгрузке. Он показывает:

Если ваша задача — увидеть товары, которые «еще не покинули ворота склада», вам нужно комбинировать данные ЗаказыКлиентов и ТоварыКОтгрузке.

Влияние статусов и отмен в заказе

Посмотрим на ситуацию со стороны логики бизнес-процесса. В УТ 11.4 крайне важно учитывать поле Вариант обеспечения в табличной части заказа. Рассмотрим, как это влияет на регистры:

  1. Если установлено «Отгрузить» — товар сразу попадает в регистр ЗаказыКлиентов как обязательство к немедленному исполнению.
  2. Если установлено «К обеспечению» или «Резервировать по мере поступления» — товар также отражается в регистре как планируемый, но фактическая отгрузка по нему невозможна до момента обеспечения.
  3. Закрытие заказа: Если менеджер принудительно устанавливает заказу статус Закрыт, система автоматически формирует движения, «схлопывающие» все остатки по регистрам. Это означает, что если заказ не был отгружен, но был закрыт (например, из-за неактуальности), в остатках регистров его больше не будет.

Для корректного отчета программисту следует дополнительно проверять реквизит Отменено в строках. Хотя регистр накопления учитывает отмены, при прямой работе с табличными частями документов (если вы решите строить отчет не по регистрам) об этом легко забыть.

Глубокий анализ: Регистр «Распределение запасов»

Проанализируем еще один мощный инструмент — регистр сведений Распределение запасов. В последних версиях УТ 11.4 и 11.5 этот регистр стал ключевым для понимания того, «почему не отгружено».

В нем можно увидеть детализацию:

Если вам нужно не просто получить цифру «не отгружено», а понять, готов ли этот товар к отгрузке физически (есть ли он в свободном остатке или в резерве), используйте данные этого регистра.

Итоговые рекомендации по реализации запроса

Подводя итог, для построения качественного отчета по неотгруженным товарам, рекомендуем придерживаться следующего алгоритма:

  1. Используйте виртуальную таблицу Остатки регистра накопления ЗаказыКлиентов.
  2. Обязательно делайте отбор по активным заказам (статус К выполнению), так как закрытые заказы могут искажать логику, если они были закрыты с ошибками в движениях.
  3. При использовании ордерных складов добавляйте анализ регистра ТоварыКОтгрузке, чтобы разделять понятия «отгружено по документам» и «отгружено фактически».
  4. Учитывайте, что формула расчета неотгруженного остатка в общем виде выглядит так: Заказано - Реализовано - Отменено.

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


ВЫБРАТЬ
    Остатки.ЗаказКлиента КАК Заказ,
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрНакопления.ЗаказыКлиентов.Остатки(&Период, ЗаказКлиента.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказовКлиентов.КВыполнению)) КАК Остатки
ГДЕ
    Остатки.КоличествоОстаток > 0

Такой подход позволит вам всегда иметь актуальную картину по невыполненным обязательствам компании перед клиентами.

← На главную