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