Как в 1С:ERP происходит автоматическое списание номеров ГТД при реализации товаров

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

При работе с импортными товарами в 1С:ERP Управление предприятием (а также в 1С:УТ 11 и 1С:КА 2) пользователи часто сталкиваются с тем, что в документах реализации номера ГТД не выбираются вручную в основной табличной части. Система подбирает их автоматически при проведении документа. Это вызывает закономерные вопросы: по какому алгоритму происходит списание, как программа понимает, какой номер «старше», если в самом номере ГТД нет даты, и можно ли влиять на этот процесс?

В этой статье мы подробно разберем внутренние механизмы системы, проанализируем программный код подбора и выясним, как настроить учет так, чтобы ГТД списывались корректно.

Механизм «Видов запасов» и скрытые таблицы

Первое, что важно понять: в современных конфигурациях на базе 1С:ERP учет ГТД отделен от количественного учета в табличной части Товары. Когда вы заполняете реализацию, вы указываете только номенклатуру и количество. Информация о номерах ГТД хранится в технической таблице Виды запасов.

Проанализируем ситуацию: при проведении документа система обращается к остаткам в разрезе организаций и аналитик учета. Если товар импортный, программа должна сопоставить каждую единицу товара с конкретным номером ГТД, который числится на остатках организации. Этот процесс происходит автоматически, и результат записывается в регистры накопления (например, ВыручкаИСебестоимостьПродаж и ТоварыОрганизаций).

Регистр «Даты поступления товаров организаций»

Поскольку справочник НомераГТД сам по себе не содержит даты совершения операции, системе нужен вспомогательный механизм для реализации принципа FIFO (First In, First Out). Для этого используется регистр сведений ДатыПоступленияТоваровОрганизаций.

Рассмотрим, как он работает. При каждом приходе товара (документы ПриобретениеТоваровУслуг) система делает запись в этот регистр, фиксируя дату поступления для комбинации:

Именно эта дата в дальнейшем служит «маяком» для алгоритма списания. Если один и тот же номер ГТД поступал разными партиями, система будет опираться на самую раннюю дату из этого регистра.

Разбор алгоритма сортировки при подборе ГТД

Выясним, в каком именно порядке система выбирает записи из остатков. В программном коде подбора видов запасов используется запрос, в котором прописана специфическая логика упорядочивания. Рассмотрим фрагмент структуры этого запроса:


|УПОРЯДОЧИТЬ ПО
|    НомерСтроки ВОЗР,
|    Приоритет ВОЗР,
|    ТаблицаДокумента.НомерГТД = Остатки.НомерГТД УБЫВ,
|    ДатаПоступления ВОЗР,
|    ДатыПоступления.ДатаПоступления ВОЗР

Проанализируем этот порядок по шагам:

  1. НомерСтроки: обеспечивает соответствие строкам документа.
  2. Приоритет: сначала списываются собственные товары, затем комиссионные (в зависимости от настроек).
  3. Совпадение ГТД: если в документе реализации пользователь все же указал конкретный вид запасов или номер ГТД вручную (через расшифровку), система ставит этот остаток в наивысший приоритет (выражение ТаблицаДокумента.НомерГТД = Остатки.НомерГТД вернет «Истина», что при сортировке УБЫВ поднимет строку вверх).
  4. ДатаПоступления: основная сортировка по методу FIFO, основанная на фактических движениях партий.
  5. ДатыПоступления.ДатаПоступления: уточняющая сортировка из того самого регистра сведений, о котором мы говорили выше.

Важный нюанс: если номер ГТД в документе не указан (стандартная ситуация), то третий пункт сортировки всегда будет давать «Ложь» для всех строк, и списание пойдет строго по датам поступления.

Проблема разделения себестоимости по ГТД

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

Если перед нами стоит задача добиться жесткой связи «Конкретная ГТД = Конкретная себестоимость», нам необходимо использовать механизм Серий номенклатуры. Разберем, как это сделать:

В таком случае списание ГТД будет жестко привязано к выбранной в документе серии, и финансовый результат будет считаться точно по этой партии.

Как изменить подобранный ГТД вручную

Иногда возникают ситуации, когда автоматика подобрала ГТД некорректно (например, для выполнения условий государственного контракта требуется отгрузить товар именно по определенной декларации). Выясним, как это исправить.

В документе реализации в командной панели над табличной частью Товары нужно найти команду Открыть виды запасов. В открывшемся окне мы увидим, какие именно ГТД система планирует списать. Чтобы изменить их, нужно:

  1. Снять флаг Заполнять виды запасов автоматически.
  2. Вручную выбрать нужный номер ГТД из доступных остатков или отредактировать количество.
  3. Нажать «ОК» и провести документ.

После этого система зафиксирует ваш выбор и не будет пересчитывать ГТД при повторном проведении документа (пока флаг автоматического заполнения снят).

Контроль и отчетность

Чтобы убедиться, что учет ГТД не «поплыл», и старые номера не зависли на остатках, проанализируем ситуацию с помощью стандартных отчетов. Рассмотрим отчет Контроль номеров ГТД товаров. Он показывает расхождения между общим количеством товара на складах организации и количеством, распределенным по номерам ГТД.

Если вы видите отрицательные остатки по одним номерам ГТД и излишки по другим при нулевом общем остатке товара — это верный признак того, что кто-то из пользователей вручную менял виды запасов или документы перепроводились «задним числом» без актуализации дат поступления.

Подводя итог, можно сказать, что автоматика 1С:ERP вполне надежна при соблюдении хронологии ввода документов. Однако для полного контроля над ситуацией рекомендуется периодически проверять регистр Даты поступления товаров организаций и использовать инструмент ручной корректировки видов запасов в спорных ситуациях.

← На главную