С 1 апреля 2024 года вступили в силу изменения, согласно которым в номерах ГТД (деклараций на товары) обязательным становится заполнение четвертого блока — порядкового номера товара из графы 32 декларации. Это требование критично для корректного формирования счетов-фактур, УПД и отчетности по прослеживаемым товарам. В системе 1С:ERP 2.5 (особенно ранних версий, таких как 2.5.8) номера ГТД хранятся не просто как реквизит документа, а как часть сложной аналитики в табличных частях ВидыЗапасов и регистрах накопления. В этой статье мы подробно разберем, как автоматизировать процесс приведения базы в соответствие с новыми нормами.
Прежде чем приступать к изменениям, проанализируем, где именно система хранит информацию о номерах ГТД. В 1С:ERP информация дублируется в нескольких местах:
Основная сложность заключается в том, что простое переименование элемента в справочнике НомераГТД не всегда решает проблему. Если одна декларация содержала 10 разных товаров, то теперь вместо одного элемента справочника вам может потребоваться десять разных (по одному на каждую позицию). Это означает, что в документах прошлых периодов нужно не просто обновить текст, а перевыбрать правильную ссылку на новый элемент справочника.
Разберем ситуацию, когда нам необходимо массово дополнить номера ГТД в документах ВводОстатков или ТаможеннаяДекларацияИмпорт. Мы можем использовать механизм расширения или внешнюю обработку для автоматизации создания новых элементов справочника НомераГТД с нужным "хвостом".
Рассмотрим пример кода для обработки строк в документе поступления, который программно создает новый номер ГТД на основании старого и номера позиции:
&НаСервере
Функция ЗаполнитьРазделГТДНаСервере(Раздел)
УстановитьПривилегированныйРежим(Истина);
Для Каждого ИдентификаторСтроки Из Элементы.СобственныеТовары.ВыделенныеСтроки Цикл
Строка = Объект.Товары.НайтиПоИдентификатору(ИдентификаторСтроки);
// Формируем новый строковый номер с учетом раздела (графы 32)
НовыйНомер = "" + СокрЛП(Строка.НомерГТД.Код) + "/" + СокрЛП(Раздел);
// Ищем, существует ли уже такой номер в справочнике
ГТД = Справочники.НомераГТД.НайтиПоКоду(НовыйНомер);
Если ГТД.Пустая() Тогда
// Создаем новый элемент справочника, копируя основные свойства
ГТДОбъект = Справочники.НомераГТД.СоздатьЭлемент();
ЗаполнитьЗначенияСвойств(ГТДОбъект, Строка.НомерГТД, , "ПометкаУдаления,Родитель,Владелец");
ГТДОбъект.Код = НовыйНомер;
ГТДОбъект.Записать();
ГТД = ГТДОбъект.Ссылка;
КонецЕсли;
// Устанавливаем новую ссылку в документ
Строка.НомерГТД = ГТД;
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
КонецФункции
Этот подход позволяет быстро актуализировать входящие документы. Однако помните, что после изменения ГТД в поступлении, остатки на складе "разъедутся" с документами расхода, которые уже были проведены по старым номерам.
Выясним, как заставить 1С:ERP автоматически обновить данные в табличной части ВидыЗапасов без ручного вмешательства в каждую строку. В системе существует служебное дополнительное свойство, которое дает команду программным механизмам пересчитать распределение запасов при проведении.
Проанализируем следующий алгоритм обновления документа:
ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
// Устанавливаем флаг для принудительного перезаполнения видов запасов
ДокументОбъект.ДополнительныеСвойства.Вставить("ПерезаполнитьВидыЗапасов", Истина);
// Проводим документ - система сама подберет актуальные ГТД из остатков
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Важный нюанс: этот метод эффективен, если вы предварительно исправили ГТД в приходных документах и остатках. При перепроведении расходных документов система увидит новые остатки с правильными номерами ГТД и подставит их. Однако использование этого метода в закрытых периодах может повлиять на себестоимость, поэтому будьте крайне осторожны.
Если в вашей базе возникли отрицательные остатки по конкретным номерам ГТД (например, старый номер ушел в минус, а новый висит в плюсе), рассмотрим типовой инструмент 1С:ERP — "Помощник исправления остатков организаций". Найти его можно в разделе "Финансовый результат и контроллинг" — "Обслуживание" — "Регламентные операции".
Посмотрим на шаги работы с этим инструментом:
ТоварыОрганизаций на наличие "пересортицы" по ГТД.Проанализируем ситуацию с точки зрения прослеживаемости. Для товаров, подлежащих прослеживаемости, номер ГТД является основой для РНПТ. Если вы работаете через ЭДО, система при отправке УПД будет проверять формат номера. Если четвертый блок отсутствует, оператор ЭДО или приемная сторона могут отклонить документ.
В новых релизах 1С:ERP (начиная с 2.5.12) реализован функционал автоматического разделения декларации на позиции. Если вы работаете на более старой версии (2.5.8 и ниже), мы рекомендуем:
Номенклатура: установлена ли галочка "Импортный товар" и корректно ли настроен учет по ГТД.ИсправитьПроблемыВДвиженияхИДокументах, которая встроена в механизмы закрытия месяца, для точечного исправления ошибок в движениях без полного перепроведения.Подводя итог, можно сказать, что решение проблемы с ГТД от 01.04.2024 требует комплексного подхода: сначала актуализируются данные в приходных накладных и остатках (через создание новых элементов справочника НомераГТД), а затем каскадно обновляются расходные документы с помощью программного перезаполнения ВидовЗапасов или использования типового помощника исправления остатков.