Ситуация, когда при попытке провести документ Реализация товаров и услуг система выдает ошибку «Превышен свободный остаток», является одной из самых распространенных в конфигурации «Управление торговлей» версии 11 (включая 11.1). Особенно часто это случается в схемах, где задействовано несколько организаций (Интеркампани), ордерный склад или сложные статусы обеспечения заказов. Рассмотрим подробно, почему возникает эта ошибка и как её устранить, проанализировав внутренние механизмы работы системы.
В УТ 11 свободный остаток напрямую зависит от того, что указано в колонке «Действие» табличной части документа Заказ клиента. Проанализируем логику системы: если в заказе по строке товара стоит статус «К обеспечению» или «Обеспечить позднее», 1С считает, что этого товара для данного заказа физически нет или он еще не зарезервирован для отгрузки. Фраза «Сорвано обеспечение» в отчетах или форме заказа означает, что планируемая дата поставки или отгрузки уже прошла, а товара на остатке, согласно настройкам системы, не хватает. Для удобного управления резервами и пакетного переключения статусов подойдет обработка для изменения действий в заказах клиентов.
Что нужно сделать:
Заказ клиента, на основании которого создана реализация.Реализация товаров и услуг списать товар со склада, используя ранее созданный резерв.Одной из самых неочевидных причин ошибки является механизм работы с видами запасов. В УТ 11 данные для проведения берутся не только из основной табличной части «Товары», но и из скрытой технической таблицы ВидыЗапасов. Она хранит информацию о том, какой именно товар (собственный, комиссионный, какой организации) и по какой ГТД будет списан.
Рассмотрим ситуацию: вы создали реализацию, когда товара на организации еще не было (например, до оформления передачи между организациями). Система сформировала «пустые» виды запасов. Затем вы оформили Передачу товаров, но реализация продолжает выдавать ошибку. Это происходит потому, что таблица видов запасов в реализации сама не обновилась.
Пошаговое решение:
Реализация товаров и услуг зайдем в меню «Еще» и выберем пункт «Открыть виды запасов».Когда продажа ведется от лица одной организации, а товар фактически лежит на другой, система использует механизм «Интеркампани». Проанализируем настройки, которые могут блокировать проведение:
Во-первых, проверим Настройку передачи товаров между организациями в разделе «Регламентированный учет». Там должно быть явно разрешено владельцу (Организация А) передавать товар продавцу (Организация Б). Для контроля остатков и автоматического формирования документов передачи между юрлицами можно использовать помощник передачи товаров организаций.
Во-вторых, обратим внимание на налогообложение. Если в документе Передача товаров стоит тип «Продажа облагается НДС», а в реализации — «Продажа не облагается НДС» (например, из-за разных режимов налогообложения организаций), 1С создаст разные аналитики запасов. Система увидит товар с НДС, но не сможет его продать без НДС, так как это разные ВидыЗапасов. Выясним причину расхождения и приведем типы налогообложения к единому знаменателю.
В 1С время документа имеет критическое значение. Рассмотрим пример: Передача товаров сделана 10.09 в 12:00, а Реализация товаров и услуг тем же числом в 09:00. В момент времени 09:00 свободного остатка на организации-продавце еще нет, поэтому реализация не проводится.
Рекомендация: установим время всех поступлений и передач на начало дня (00:00:00), а время документов отгрузки — на конец дня или просто позже документов прихода. Это позволит избежать коллизий в регистре Свободные остатки.
Если на предприятии используется ордерная схема, то остатки в системе делятся на «финансовые» и «складские». Проанализируем ситуацию: финансовый документ (Реализация) может не проводиться, если складской документ (Расходный ордер на товары) уже «застолбил» этот товар.
Посмотрим на регистр накопления Товары к отгрузке. Если в нем зависли записи по вашему товару со статусами «К отбору» или «В работе», значит, складская служба начала процесс отгрузки, но не завершила его, либо сделала это некорректно. Пока ордер не будет проведен в статусе «Отгружен», свободный остаток может отображаться неверно для новых реализаций.
Если визуальный анализ не помогает, придется обратиться к «первоисточникам» — регистрам накопления. Проанализируем движения по следующим регистрам:
Свободные остатки: здесь ресурс «В резерве со склада» увеличивается заказом и уменьшается реализацией. Проверьте, нет ли «лишних» заказов, которые зарезервировали товар.Товары организаций: проверьте остаток в разрезе организации, склада и номера ГТД (если ведется учет по ГТД).Распределение запасов: это технический регистр в УТ 11.1, который часто становится причиной глюков. Если данные в нем разошлись с физическими остатками, поможет только корректировка или запуск фонового задания по исправлению отрицательных остатков.Если вы решите искать ошибку в коде, обратите внимание на общий модуль ПроведениеСервер, процедура ВыполнитьКонтрольРезультатовПроведения. Именно там сосредоточена вся логика проверки остатков. Проанализируем фрагмент запроса, который система строит для проверки:
// Примерный алгоритм сбора данных для контроля
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Количество,
| ЕСТЬNULL(СвободныеОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстатки.ВРезервеОстаток, 0) КАК СвободныйОстаток
|ИЗ
| ВременнаяТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&МоментВремени, ) КАК СвободныеОстатки
| ПО ТаблицаТовары.Номенклатура = СвободныеОстатки.Номенклатура";
В этой процедуре система сопоставляет данные из вашей реализации с данными регистров. Если вы видите, что в регистрах всё в порядке, а реализация все равно «ругается», проверьте соответствие характеристик и серий — малейшее расхождение в этих измерениях приведет к ошибке отсутствия остатка.
Рассмотрим краткий чек-лист для быстрого исправления проблемы:
Соблюдение этих шагов позволяет решить проблему в 99% случаев без привлечения программиста и внесения правок в конфигурацию.