В процессе работы с конфигурацией 1С:Управление торговлей 11.4 (УТ 11) пользователи и разработчики часто сталкиваются с ситуацией, когда партионный учет (себестоимость) отрабатывает корректно по методу ФИФО, однако номера ГТД в документах реализации подбираются хаотично или вовсе по методу ЛИФО (последний пришел — первый ушел). Разберем детально, почему это происходит, как устроены внутренние механизмы программы и какие существуют способы решения данной проблемы.
Проанализируем архитектуру системы. Главная ошибка — полагать, что в УТ 11 номер ГТД жестко привязан к партии товара в регистре себестоимости. На самом деле, программа ведет два параллельных и независимых потока учета:
Рассмотрим ситуацию: если вы загружаете остатки документов ввода в один день, для регистра СебестоимостьТоваров последовательность может быть определена временем документа, а для ТоварыОрганизаций механизм подбора может использовать иные критерии, если время документов совпадает до секунды.
Согласно документации ИТС, списание по номерам ГТД должно быть упорядочено по датам поставки. Однако на практике система часто «спотыкается» о технические нюансы. Выясним причину, почему типовой запрос может выдавать остатки в обратном порядке:
1. Отсутствие даты в справочнике ГТД. В справочнике НомераГТД есть реквизит «Дата». Если при программной загрузке остатков или импорте данных этот реквизит не был заполнен, система не может выстроить очередь списания по хронологии. В этом случае алгоритм начинает подбирать номера по внутреннему идентификатору (GUID) или по алфавитному порядку кода ГТД.
2. Время документов ввода остатков. Если все остатки введены одной датой и временем, система не видит разницы в «старшинстве» поступлений. Проанализируем состояние регистра ТоварыОрганизаций: если записи имеют идентичный период, порядок выборки в запросе становится непредсказуемым.
3. Влияние Интеркампани. Если в базе включена схема «Интеркампани», механизм подбора ГТД усложняется. Программа в первую очередь пытается списать те номера ГТД, которые числятся за организацией-продавцом. Если их не хватает, подбираются остатки других организаций, при этом хронология ФИФО по всей группе компаний может нарушаться.
Как отмечают эксперты, использование функционала серий — это единственный штатный способ «намертво» связать конкретную физическую единицу товара, его партию и номер ГТД. Рассмотрим, как это настроить:
Во-первых, в виде номенклатуры необходимо включить использование серий. Во-вторых, выбрать политику учета серий с типом «Учет по ГТД» или «Маркировка упаковок».
В этом случае при поступлении товара вы будете обязаны указать серию (которая может быть равна номеру ГТД), и при отгрузке система потребует указания именно этой серии. Это исключает автоматический подбор «на усмотрение программы» и гарантирует, что спишется именно тот номер, который пришел с конкретной партией.
Если использование серий невозможно (например, из-за большого объема данных или нежелания усложнять учет), разберем шаги по исправлению автоматического подбора:
НомераГТД. Даты должны соответствовать реальным датам оформления таможенных деклараций или дат поступления.ВводОстатков по времени. Даже разница в одну секунду позволит системе корректно выстроить очередь в виртуальных таблицах остатков.КлючиАналитикиУчетаНоменклатуры — если ГТД приходят на разные склады или с разными характеристиками, ФИФО будет работать только внутри этих разрезов.Проанализируем ситуацию с точки зрения кода. Подбор ГТД в УТ 11 осуществляется через специализированные запросы в модулях менеджеров документов или в общих модулях распределения запасов. Часто в типовом запросе получения остатков по ГТД отсутствует явная сортировка по периоду поступления, если запрос обращается к виртуальной таблице Остатки.
Пример упрощенной логики запроса, который может привести к ошибке:
ВЫБРАТЬ
ТоварыОрганизацийОстатки.НомерГТД,
ТоварыОрганизацийОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыОрганизаций.Остатки(&МоментВремени, Номенклатура = &Номенклатура) КАК ТоварыОрганизацийОстатки
// Здесь часто отсутствует УПОРЯДОЧИТЬ ПО, что выдает данные в порядке физического расположения в БД
Чтобы исправить это поведение без радикального изменения конфигурации, можно внедрить расширение, которое добавит сортировку по дате регистрации ГТД или по дате документа поступления в таблицу остатков. Однако помните, что в регистре ТоварыОрганизаций нет прямой ссылки на документ поступления, поэтому «дату поступления» придется вычислять по хронологии записей или брать из карточки номера ГТД.
Подводя итог, отметим: УТ 11 не гарантирует соответствие ГТД и партии по умолчанию, так как это разные сущности в системе. Если для вашего учета критично, чтобы ГТД списывались строго по ФИФО в связке с себестоимостью, рекомендуем:
Таким образом, понимание разделения учета на регистры СебестоимостьТоваров и ТоварыОрганизаций позволяет эффективно диагностировать причины «неправильного» списания и выбрать наиболее подходящий метод исправления ситуации.