Почему при передаче товаров между организациями в 1С:УТ 11 ГТД списывается с другого склада и как это исправить?

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

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

В этой статье мы подробно разберем, почему так происходит, выясним внутреннюю логику работы алгоритмов распределения видов запасов в 1С, проанализируем последствия этой проблемы для учета и рассмотрим все возможные пути решения — от штатных настроек системы до написания программной заплатки.

Выясняем причину: почему система игнорирует склад при распределении ГТД?

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

Когда вы оформляете документ передачи товаров, система обращается к регистру накопления ТоварыОрганизаций. Алгоритм подбора видов запасов распределяет номера ГТД и страны происхождения по следующему принципу:

  1. Подбор выполняется автоматически по методу FIFO/FEFO в рамках всей организации-отправителя, а не конкретного склада, с которого физически отгружается товар.
  2. Для системы приоритетным является своевременное и последовательное списание импортного прихода по юридическому лицу в целом. Если товар по ГТД «А» поступил на склад «Сервис» раньше, чем товар по ГТД «Б» на «Основной» склад, то при передаче с «Основного» склада система все равно попытается списать более старый ГТД «А».

С точки зрения методологии разработчиков 1С, ГТД — это свойство партии товара, принадлежащей конкретному юридическому лицу (организации). Поскольку внутри одной организации перемещение товаров между складами не меняет собственника, программа считает, что физическое местонахождение импортного товара вторично по сравнению с хронологией его закупки организацией.

К каким последствиям приводит такое поведение системы?

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

  1. Развернутое сальдо по видам запасов и номерам ГТД. В количественном выражении по складам учет сходится без проблем. Однако в регистре ТоварыОрганизаций образуется пересортица: на одном складе ГТД уходит в «минус», а на другом зависает «плюсовой» остаток по этому же ГТД.
  2. Ошибки при закрытии месяца. При попытке рассчитать себестоимость в конце отчетного периода регламентная операция может выдать ошибку развернутого сальдо по видам запасов, что заблокирует дальнейший расчет.
  3. Проблемы при выгрузке в «1С:Бухгалтерию». При передаче данных в бухгалтерскую программу некорректно заполненные номера ГТД переносятся «как есть», что в дальнейшем приводит к искажению книги продаж, декларации по НДС и может вызвать серьезные вопросы со стороны налоговых органов при камеральных проверках.

Рассмотрим по шагам четыре практических способа борьбы с этой проблемой, начиная от самых простых пользовательских и заканчивая программными.

Способ 1. Использование регламентного документа исправления развернутого сальдо

Фирма 1С знает о существовании этой архитектурной особенности и предлагает решать её при закрытии месяца. В системе предусмотрен специальный инструмент выравнивания остатков.

Разберем, как это работает:

  1. В конце месяца при запуске процедуры «Закрытие месяца» система автоматически анализирует регистры на наличие развернутого сальдо по ГТД в разрезе складов.
  2. Программа генерирует регламентный документ ИсправлениеРазвернутогоСальдоТоваровОрганизаций.
  3. Данный документ делает корректирующие движения, «схлопывая» возникшие плюсы и минусы по разным ГТД и складам внутри организации, приводя учет к корректному виду.

Минусы способа: Если в вашей базе активно ведется работа «задним числом», цепочки документов постоянно перепроводятся, что приводит к регулярному сбросу распределения видов запасов. Регламентный документ исправления может не справиться с запущенными случаями, а сама база данных замусоривается огромным количеством корректирующих документов.

Способ 2. Ручная корректировка видов запасов в документах

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

Рассмотрим этот процесс подробнее:

  1. Откройте документ «Передача товаров между организациями» и перейдите на вкладку «Товары».
  2. В командной панели табличной части нажмите кнопку «Еще» и выберите пункт «Открыть виды запасов».
  3. В открывшемся диалоговом окне установите флаг «Указать виды запасов вручную».
  4. Система разблокирует строки для редактирования. Теперь вы можете вручную выбрать именно тот вид запасов, который содержит правильный номер ГТД, фактически находящийся на складе отправителя.

Минусы способа: Этот метод абсолютно не подходит для компаний с интенсивным документооборотом из-за колоссальных трудозатрат. Кроме того, при случайном автоматическом перепроведении документов виды запасов могут перезаполниться по умолчанию, если предварительно не заблокировать их изменение программно.

Способ 3. Переход на учет ГТД по сериям номенклатуры (Рекомендация 1С)

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

Давайте разберем по шагам, как настроить эту схему:

  1. В настройках параметров учета включите использование серий номенклатуры.
  2. В справочнике ВидыНоменклатуры для требуемых позиций настройте политику учета серий.
  3. В политике учета серий обязательно выберите тип политики: «Учет себестоимости по сериям».
  4. В настройках состава серии укажите, что серия идентифицирует Номер ГТД и страну происхождения.

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

Способ 4. Программное решение проблемы через расширение конфигурации

Если внедрение серийного учета по каким-то причинам невозможно (например, из-за нежелания усложнять складские операции для кладовщиков), проблему можно решить написанием небольшого расширения конфигурации.

Проанализируем программную суть доработки. За распределение видов запасов отвечает общий модуль, подготавливающий запросы к остаткам товаров организаций. Наша задача — принудительно добавить в условия сопоставления и подбора видов запасов разрез по складу.

Посмотрим на концептуальный пример кода, который необходимо внедрить в расширение для переопределения стандартного поведения системы:


&Вместо("СформироватьЗапросДляПодбораВидовЗапасов")
Процедура Моя_СформироватьЗапросДляПодбораВидовЗапасов(ПараметрыЗапроса, ТекстЗапроса)
    // Вызываем оригинальный метод для построения базового запроса
    ПродолжитьВызов(ПараметрыЗапроса, ТекстЗапроса);
    
    // Внедряем жесткую связь по складу в текст сформированного запроса
    // Нам необходимо найти в тексте запроса соединения с таблицами остатков
    // и дополнить их условием сравнения по измерению "Склад"
    ТекстЗапроса = СтрЗаменить(
        ТекстЗапроса,
        "ПО ВидыЗапасов.Организация = Остатки.Организация",
        "ПО ВидыЗапасов.Организация = Остатки.Организация И ВидыЗапасов.Склад = Остатки.Склад"
    );
КонецПроцедуры

Применение такой доработки заставит алгоритмы распределения видов запасов анализировать остатки строго локально, в пределах склада отгрузки, указанного в документе перемещения или передачи. Это полностью ликвидирует появление «виртуальных» минусов по ГТД на одних складах и плюсов на других.

Резюме и рекомендации

Мы проанализировали специфику работы механизма видов запасов в «1С:Управлении торговлей 11». Подводя итоги, дадим несколько рекомендаций:

  1. Если расхождения по ГТД между складами возникают редко и не мешают вашей учетной политике, достаточно регулярно использовать типовой механизм закрытия месяца и формировать документы исправления развернутого сальдо.
  2. Если вы только внедряете систему или готовы к изменению складских процессов, переведите учет импортных товаров на серии с политикой учета себестоимости. Это самое надежное штатное решение, исключающее любые ошибки распределения.
  3. Если вам важна простота работы пользователей и строгое соответствие ГТД реальным складам отгрузки, используйте механизм расширений для корректировки запросов распределения видов запасов в общем модуле ЗапасыСервер.
← На главную