При работе в программе «1С:Управление торговлей» версии 11.4 (а также в родственных конфигурациях «1С:Комплексная автоматизация 2.4» и «1С:ERP 2.4») пользователи часто сталкиваются с неприятной ситуацией. В конце месяца при оформлении межфирменных продаж (механизм Интеркампани) документ Передача товаров между организациями наотрез отказывается проводиться. Программа выдает ошибку о нехватке нескольких единиц товара по конкретному номеру ГТД (грузовой таможенной декларации) у организации-отправителя.
Самое загадочное в этой ситуации — то, что при анализе остатков через стандартные отчеты (например, Ведомость по товарам организаций) или при прямом запросе к регистру накопления Товары организаций свободный остаток по данному ГТД присутствует и его должно с лихвой хватить для успешного проведения документа. В этой статье мы подробно разберем, почему возникает эта ошибка, как устроен данный механизм «под капотом» 1С, и рассмотрим проверенные практические способы решения проблемы.
Чтобы понять, почему программа «ругается» на нехватку ГТД при их фактическом наличии, нам необходимо изучить логику работы механизмов УТ 11.4. Начиная с версии 11.4, архитектура подсистемы Интеркампани была существенно переработана. Давайте проанализируем ключевые факторы, влияющие на возникновение этой ошибки.
Резервы товаров организаций. При проведении документа Передача товаров между организациями алгоритм 1С не просто проверяет остатки на текущую дату. Он производит расчет так называемого «минимального остатка» по шкале времени вперед. Если в каком-то из последующих дней месяца этот ГТД зарезервирован другим документом продажи (даже если он проведен более поздней датой или более поздним временем), система считает, что в текущий момент времени списывать этот ГТД нельзя, иначе в будущем возникнет дефицит.Резервы товаров организаций остаются незакрытые «фантомные» записи. Для пользователя товар и ГТД выглядят свободными, но для алгоритма проведения передачи они жестко заблокированы зависшим резервом.Давайте рассмотрим подробные пошаговые сценарии, которые помогут нам исправить эту ошибку и успешно провести документы передачи товаров.
---
Многие пользователи пытаются вводить документы передачи вручную или через простой список «Оформить передачи». Однако наиболее надежным способом в УТ 11.4 является использование специализированного помощника, встроенного в процедуру закрытия месяца. Рассмотрим, как правильно им воспользоваться.
Разберем этот процесс по шагам:
---
Рассмотрим организационный и методологический подход к решению проблемы. Оформление одной сводной передачи товаров концом месяца — весьма популярная практика среди бухгалтеров, однако с точки зрения логики учета НДС и партионного учета в УТ 11.4 она таит в себе множество проблем.
Если организация продает товар, фактически принадлежащий другому юридическому лицу, то в течение месяца в программе числится продажа «из минуса» (по организации-продавцу). Передача в конце месяца должна «закрыть» этот минус. Но если продажи этого товара велись ежедневно разными партиями и по разным ГТД, то при попытке свернуть все это в один документ в конце месяца алгоритм распределения партий ГТД запутывается в хронологии и выдает ошибку.
Решение: Настроим систему так, чтобы документы Передача товаров между организациями формировались ежедневно (хотя бы за те дни, в которых были зафиксированы продажи «чужого» товара). Это можно делать как вручную в конце каждого дня через рабочее место «Передачи к оформлению», так и с помощью типового регламентного задания. Ежедневные передачи выстраивают строгую хронологическую цепочку: сначала товар поступил на баланс организации-владельца -> в этот же день передан организации-продавцу -> в этот же день продан конечному покупателю. При такой схеме партии ГТД списываются корректно, и коллизии с «будущими» резервами просто не возникают.
---
Если «фантомные» резервы уже прочно засели в системе и Помощник закрытия месяца не справляется (например, выдает ошибку о превышении лимита итераций распределения видов запасов), нам потребуется прибегнуть к жесткому перепроведению документов с предварительным сбросом их движений.
Выполним следующие шаги совместно:
Реализация товаров и услуг и документов Передача товаров между организациями, начиная с этой даты и до конца текущего месяца (или даже до конца рабочей базы, если в следующем месяце уже есть проведенные документы).Резервы товаров организаций и освободить партии ГТД.Передача товаров между организациями (чтобы официально передать ГТД на организацию-продавца).Реализация товаров и услуг. Реализации увидят уже готовые, переданные остатки ГТД и без проблем распределят виды запасов.---
Чтобы точно выяснить, какой именно документ заблокировал злополучные 2 единицы ГТД, воспользуемся мощным диагностическим инструментом — Универсальным отчетом. Обычные отчеты по товарам нам здесь не помогут.
Настроим Универсальный отчет по шагам:
ОрганизацияАналитикаУчетаНоменклатуры.Номенклатура (Товар)НомерГТДДокументИсточник (если доступно, для отслеживания инициатора резерва)Проанализируем полученные результаты. Сравнив остатки в регистре Товары организаций и регистре Резервы товаров организаций, мы сразу увидим расхождение. Например, в реальных остатках ГТД числится свободным, а в резервах под какую-то старую (возможно, уже измененную или помеченную на удаление) реализацию висит бронь. Найдя этот документ-источник, мы сможем зайти в него, перезаполнить виды запасов или перепровести его, чтобы снять ошибочный резерв.
---
В особо запущенных случаях, когда документов очень много и ручное перепроведение невозможно или занимает слишком много времени, программист может принудительно очистить зависшие «фантомные» записи в регистре резервов с помощью внешней обработки.
Рассмотрим пример кода на встроенном языке 1С, который позволяет полностью очистить движения по регистру Резервы товаров организаций для конкретного документа, вызывающего проблемы, без вреда для других данных:
// Создаем набор записей регистра для проблемного документа
НаборЗаписей = РегистрыНакопления.РезервыТоваровОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ПроблемныйДокументСсылка);
// Записываем пустой набор, тем самым полностью удаляя движения документа по этому регистру
НаборЗаписей.Записать(Истина);
Сообщить("Движения по регистру 'Резервы товаров организаций' успешно очищены для: " + ПроблемныйДокументСсылка);
После запуска такого кода для сбойных документов реализации или передач, система позволит заново перепровести их в правильной последовательности, сформировав корректные и актуальные записи в регистрах учета ГТД.
Проблема с проведением передач и нехваткой ГТД в УТ 11.4 — это следствие усложнения механизмов контроля за межфирменными продажами. Чтобы минимизировать возникновение подобных ошибок в будущем, рекомендуем придерживаться следующих правил: