Почему отчеты показывают остаток, но документ реализации не проводится в 1С:КА 2.5 и ERP?

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

Мы часто сталкиваемся с ситуациями, когда данные в отчетах "Ведомость по товарам на складах" или "Остатки и доступность товаров" говорят нам одно, а при попытке провести документ система выдает ошибку о нехватке товара. Это вызывает недоумение у пользователей и панику у операторов: "Товар же лежит на полке, и программа показывает 37 штук, почему я не могу продать 10?". В экстренных случаях, когда отгрузить нужно "еще вчера", некоторые прибегают к проведению документов без контроля остатков, но важно понимать, что это лишь маскировка симптомов, а не лечение болезни. В этой статье мы подробно разберем одну из самых коварных причин такого поведения в конфигурациях "1С:Комплексная автоматизация 2.5" (КА) и "1С:ERP Управление предприятием 2" — дублирование ключей аналитики — для этого подойдёт исправление отрицательных остатков в КА/ERP. Мы выясним, как диагностировать эту проблему и как ее исправить.

Симптомы проблемы

Давайте опишем типичную картину, с которой сталкиваются специалисты:

  1. Вы открываете отчет Ведомость по товарам на складах или Остатки и доступность. Отчет показывает, что на складе числится, например, 37 единиц товара.
  2. Резервов нет, товар свободен. В графе "Доступно" также стоит 37.
  3. Вы создаете документ Реализация товаров и услуг на 10 единиц, дата документа актуальная (сегодня).
  4. При попытке проведения система выдает ошибку: "Не хватает 2 шт товара...".
  5. Отчет, вызванный непосредственно из формы подбора документа, может показывать доступность меньше, чем общий отчет (например, 8 штук).

Если вы проверили очевидные вещи (организацию, склад, отсутствие резервов под заказы клиентов), и проблема сохраняется, значит, мы имеем дело с нарушением целостности аналитических разрезов учета.

Как устроено хранение остатков в КА 2.5 и ERP

Чтобы понять суть проблемы, нам нужно углубиться в архитектуру регистров накопления в новых конфигурациях 1С. В старых версиях (например, УТ 10.3) остатки хранились просто в разрезе измерений регистра: Номенклатура, Характеристика, Серия, Склад. В КА 2.5, ERP и УТ 11 используется механизм Ключей аналитики. Это сделано для оптимизации производительности и уменьшения размера индексов базы данных. Вместо того чтобы хранить набор измерений (Номенклатура + Характеристика + Серия + ...) в каждой записи регистра накопления, система создает элемент в специальном справочнике — Справочник.КлючиАналитикиУчетаНоменклатуры. Этот справочник содержит уникальную комбинацию всех параметров учета товара. В регистр накопления (например, ТоварыНаСкладах) записывается только ссылка на этот элемент справочника (измерение АналитикаУчетаНоменклатуры).

Суть сбоя: Появление дублей

В идеальной ситуации для одной и той же комбинации "Номенклатура А + Характеристика Б + Серия В" должен существовать ровно один элемент справочника ключей аналитики. Однако, вследствие ошибок обмена данными (когда, наоборот, может потребоваться создание отсутствующих ключей аналитики учета), некорректной программной загрузки, "кривых" обновлений или ручных корректировок данных, в системе могут появиться дубли ключей. Что происходит при этом:

  1. На склад поступает товар (например, через документ "Производство без заказа"). Система использует Ключ №1. Остаток на нем становится 29 штук.
  2. Поступает другая партия или делается ввод остатков, но из-за сбоя система создает или выбирает Ключ №2 (который имеет абсолютно те же реквизиты: та же номенклатура, та же характеристика). Остаток на нем становится 8 штук.
  3. Итого физически: 29 + 8 = 37 штук.
  4. Стандартный отчет "Ведомость по товарам" при формировании группирует данные по Номенклатуре. Он суммирует остатки по Ключу №1 и Ключу №2 и показывает вам красивую цифру 37.
  5. При проведении Реализации алгоритм подбора запасов ищет или формирует "эталонный" ключ для текущей операции. Допустим, он "цепляется" за Ключ №2. Система видит на нем только 8 штук.
  6. Результат: Вам нужно 10, на ключе найдено 8. Ошибка: "Не хватает 2 шт".

Диагностика проблемы

Прежде чем приступать к "лечению", давайте убедимся, что проблема именно в дублях.

Метод 1. Анализ текста ошибки

Обратите внимание на детали ошибки. Часто система пишет что-то вроде:

"По организации ООО 'Ромашка' на складе Основной не хватает 2 шт товара... по налогообложению Продажа облагается НДС".

Упоминание налогообложения (Вида запасов) — важный маркер — есть автоматическое исправление видов запасов и ГТД. В КА 2.5 учет ведется еще и в разрезе видов запасов. Если ключи аналитики задвоены, система может неверно определять доступные виды запасов для списания.

Метод 2. Консоль запросов (для опытных пользователей)

Самый надежный способ увидеть дубли — заглянуть напрямую в таблицу остатков регистра. Если вы не владеете языком запросов, можно использовать готовые отчеты, например, выполнить сравнение товаров на складах организаций и себестоимости, что позволит быстро выявить расхождения в регистрах. Для тех, кто готов воспользоваться консолью запросов, нам нужно выбрать остатки из регистра ТоварыНаСкладах, но сгруппировать их не по Номенклатуре, а вывести поле АналитикаУчетаНоменклатуры. Примерный текст запроса:


ВЫБРАТЬ
	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстатки.АналитикаУчетаНоменклатуры КАК КлючАналитики,
	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки(
			,
			Номенклатура = &ВыбНоменклатура
				И Склад = &ВыбСклад) КАК ТоварыНаСкладахОстатки

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

Решение проблемы: Поиск и удаление дублей

Для исправления ситуации нам не нужно писать сложные скрипты. В составе конфигураций на базе БСП (Библиотека Стандартных Подсистем), к которым относятся КА и ERP, есть штатная обработка.

Пошаговая инструкция

  1. Сделайте резервную копию базы данных. Любые операции по массовому изменению ссылок необратимы без бэкапа. Если база замусорена глобально, может потребоваться предварительная универсальная очистка базы и удаление лишних объектов, но действовать нужно крайне осторожно.
  2. Перейдите в раздел НСИ и администрирование -> Обслуживание -> Корректировка данных.
  3. Откройте ссылку Поиск и удаление дублей.
  4. В поле "Искать в:" выберите справочник Ключи аналитики учета номенклатуры. Примечание: Если проблема с партнерами/контрагентами, там есть аналогичный справочник "Ключи аналитики учета по партнерам", но сейчас мы говорим о товарах.
  5. В поле "Отбирать" можно ничего не ставить, чтобы проверить всю базу, или добавить отбор по конкретной Номенклатуре, если база очень большая и поиск идет долго.
  6. Нажмите кнопку Искать дубли. Система просканирует справочник и найдет элементы, у которых совпадают ключевые реквизиты (Номенклатура, Характеристика, Серия и т.д.), но которые являются разными объектами.
  7. Проанализируйте результат. Вы увидите группы дублей. Например:
    • Ключ аналитики... (ссылка 1) — 5 мест использования
    • Ключ аналитики... (ссылка 2) — 150 мест использования
    Система автоматически предложит выбрать один из них как "Оригинал", а остальные пометить как дубли. Обычно выбирается тот, на который больше ссылок, но для ключей аналитики это не так принципиально, так как они семантически равны.
  8. Нажмите кнопку Удалить дубли.

Что сделает обработка: Она возьмет все записи регистров (остатки товаров, движения документов), где использовался "дублирующий" ключ, и заменит его на "оригинальный" ключ. В результате записи в регистре накопления "схлопнутся". Вместо двух записей (29 шт и 8 шт) у вас станет одна запись на 37 шт, привязанная к одному ключу. После завершения процедуры попробуйте снова провести документ реализации. Скорее всего, проблема будет решена, так как теперь документ видит полный остаток товара.

Дополнительные рекомендации

Если удаление дублей ключей аналитики не помогло, проверим еще два момента, которые обсуждались в контексте данной проблемы.

Проверка Видов Запасов

В КА 2.5 очень строгий контроль видов запасов (налогообложения). Если товар пришел как "Собственный, необлагаемый НДС", а вы продаете его как "Облагаемый НДС", система может не дать провести документ, даже если общее количество совпадает. Зайдите в документ Реализации и нажмите ссылку или кнопку Открыть виды запасов (обычно в командной панели табличной части товаров). Посмотрите, смог ли документ автоматически подобрать вид запасов под ваше количество. Если таблица пуста или заполнена частично, возможно, проблема в настройках налогообложения организации или склада.

Пересчет итогов и корректировка регистров

Иногда проблема кроется не в логике 1С, а в таблицах СУБД (SQL) или в "зависших" отрицательных остатках, которые не видны в свернутых отчетах. Если ситуация запущена, можно попробовать автоматическое устранение отрицательных остатков путем создания документов оприходования. Если же вы уверены, что дублей нет, но остатки "глючат", и перепроведение документов невозможно, то для точечного исправления ситуации пригодится универсальная корректировка остатков регистра накопления. В более простых случаях выполните штатный пересчет итогов:

  1. Откройте Конфигуратор.
  2. Меню Администрирование -> Тестирование и исправление.
  3. Выберите только галочку Пересчет итогов.
  4. Выполните для регистров накопления (или для всех).

Это обновит таблицу остатков на основе таблицы движений.

Резюме

Если в 1С:Комплексная автоматизация 2.5 отчеты показывают наличие товара, а документ пишет "Не хватает", в 90% случаев это рассинхронизация служебных справочников. Первым делом запускайте обработку Поиск и удаление дублей для справочника Ключи аналитики учета номенклатуры. Это безопасная штатная процедура, которая восстанавливает целостность учета.

← На главную