В конфигурации «1С:Управление торговлей» редакции 10.3 часто возникает необходимость программно или оперативно получить остаток номенклатуры, доступный для продажи или резервирования. В отличие от более поздних конфигураций (например, УТ 11), в УТ 10.3 отсутствует отдельный регистр СвободныеОстатки. Рассмотрим, как правильно рассчитать свободный остаток с учетом всех особенностей системы и используемых регистров.
Проанализируем стандартный механизм подбора номенклатуры в типовой конфигурации «1С:Управление торговлей 10.3». Посмотрим, какие регистры накопления участвуют в формировании итогового доступного количества товара.
Формула расчета свободного остатка строится на сложении физических остатков по различным типам складов и торговых точек и вычитании зарезервированных или подготовленных к передаче позиций:
Свободный остаток = (ТоварыНаСкладах + ТоварыВРознице + ТоварыВНТТ) - (ТоварыВРезервеНаСкладах + ТоварыКПередачеСоСкладов)
Разберем подробнее каждый регистр накопления, входящий в данную формулу:
ТоварыНаСкладах — содержит фактический физический остаток товаров на оптовых и ордерных складах.ТоварыВРознице — учитывает остатки товаров в розничных торговых точках (РТТ).ТоварыВНТТ — содержит остатки товаров в неавтоматизированных торговых точках (НТТ).ТоварыВРезервеНаСкладах — фиксирует количество товара, зарезервированное под заказы покупателей или внутренние заказы.ТоварыКПередачеСоСкладов — содержит количество товара, на которое оформлены документы реализации или перемещения, но фактическая отгрузка со склада по ордерной схеме еще не произошла.При написании собственных запросов или отчетов в «1С:Управление торговлей 10.3» необходимо учитывать ряд важных архитектурных особенностей и настроек системы:
1. Влияние ордерной схемы документооборота
Если на складе применяется ордерный учет, физическое движение товара фиксируется документами ПриходныйОрдерНаТовары и РасходныйОрдерНаТовары, а финансовый учет ведется накладными. Если финансовая реализация проведена, но расходный ордер еще не выписан, товар числится в регистре ТоварыКПередачеСоСкладов. Чтобы исключить повторную продажу уже списанного по документам товара, это количество вычитается из доступного остатка.
2. Отсутствие резервирования в разрезе организаций
Выясним важную деталь: учет в регистре ТоварыВРезервеНаСкладах ведется только в разрезе складов и номенклатуры (с учетом характеристик и серий). По этой причине невозможно корректно рассчитать свободный остаток по конкретной организации, используя только регистр ТоварыОрганизаций. Резерв всегда относится к складу в целом.
3. Права доступа и группы доступности складов
На видимость свободных остатков в форме подбора номенклатуры и при автоматическом резервировании под заказы влияют настройки справочника ГруппыДоступностиСкладов. Если пользователю ограничили доступ к конкретной группе складов, остатки по этим складам не будут отображаться и участвовать в расчете доступности.
4. Учет ожидаемых поступлений
Если требуется рассчитать не только текущий физически доступный остаток, но и прогнозируемый (с учетом скорых поставок), к базовой формуле добавляют данные из регистра накопления ЗаказыПоставщикам за вычетом размещенных в них заказов покупателей.
Рассмотрим, как проверить корректность полученных расчетов в пользовательском режиме:
При возникновении «зависших» резервов (когда документ реализации был изменен без корректировки заказа-основания) рекомендуется использовать документ ЗакрытиеЗаказовПокупателей либо исправлять движения документом КорректировкаЗаписейРегистров.