Проблема формирования актуальной отчетности в конфигурациях, поддержка которых официально прекращена (например, 1С:Бухгалтерия предприятия 2.0 или 1С:7.7), является критической для многих компаний. Основная сложность заключается в том, что ФНС регулярно меняет форматы выгрузки XML-файлов, добавляет новые поля и разделы, а старая программа продолжает выгружать данные в устаревшем формате, который не принимается порталом налоговой или операторами ЭДО. Разберем подробно, как можно решить эту задачу, не прибегая к немедленному переходу на версию 3.0.
Это самый простой и часто используемый метод. Большинство современных операторов электронного документооборота (Контур.Экстерн, СБИС, Такском) имеют встроенные механизмы «умного» импорта. Проанализируем, как это работает:
Важный нюанс: Если декларация содержит тысячи строк, ручная правка в интерфейсе оператора может быть затруднительна. В этом случае рассмотрим более технологичные методы.
Бесплатная программа от ФНС «Налогоплательщик ЮЛ» часто служит «мостиком» между старой учетной системой и налоговой инспекцией. Рассмотрим алгоритм совместной работы:
Если количество документов велико, а «Налогоплательщик ЮЛ» не справляется, наиболее надежным способом будет использование актуальной типовой базы 1С 3.0 в качестве транзитного узла. Выясним, как реализовать этот процесс:
Для этого не нужно переводить всю компанию на новую версию. Достаточно иметь одну пустую базу БП 3.0 актуального релиза. Перенос данных можно осуществить через универсальную обработку ВыгрузкаЗагрузкаДанныхXML. Проанализируем последовательность действий:
НДСПокупки, НДСПродажи, НДСПредъявленный.Иногда требуется быстро подправить уже выгруженный файл. Рассмотрим, на что стоит обратить внимание в структуре XML. Главный атрибут в шапке файла — это версия формата ВерсФорм. Например, переход с версии 5.08 на 5.09 или 5.10 требует не только смены цифры, но и проверки структуры узлов.
Посмотрим на пример структуры заголовка файла:
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ИД_ВАШЕГО_ФАЙЛА" ВерсПрог="1С:Бухгалтерия 2.0" ВерсФорм="5.10">
<Документ КНД="1151001" Период="21" ОтчетГод="2024" НомКорр="0">
...
</Файл>
Проанализируем ситуацию, когда необходимо программно пересчитать колонки. Если в старой конфигурации данные выгружаются в колонку «18%», а в новом формате они должны быть в колонке «20%», потребуется небольшая обработка, которая переберет узлы XML. В языке 1С это реализуется через объект ЧтениеXML и ЗаписьXML.
Рассмотрим пример кода, который может послужить основой для трансформации файла:
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу);
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ПутьКНовомуФайлу, "windows-1251");
Пока Чтение.Прочитать() Цикл
ТипУзла = Чтение.ТипУзла;
Если ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяУзла = Чтение.Имя;
Запись.ЗаписатьНачалоЭлемента(ИмяУзла);
Пока Чтение.ПрочитатьАтрибут() Цикл
ИмяАтрибута = Чтение.Имя;
ЗначениеАтрибута = Чтение.Значение;
// Пример замены версии формата
Если ИмяУзла = "Файл" И ИмяАтрибута = "ВерсФорм" Тогда
ЗначениеАтрибута = "5.10";
КонецЕсли;
Запись.ЗаписатьАтрибут(ИмяАтрибута, ЗначениеАтрибута);
КонецЦикла;
ИначеЕсли ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
Запись.ЗаписатьКонецЭлемента();
КонецЕсли;
КонецЦикла;
Чтение.Закрыть();
Запись.Закрыть();
Нужно четко понимать, что есть вещи, которые невозможно решить простой правкой XML. Выясним причины возможных отказов:
РНПТ (Регистрационный номер партии товара). Если вы торгуете мониторами, холодильниками или другой прослеживаемой техникой, ваша декларация будет содержать пустые графы там, где налоговая требует данные. В этом случае использование «буферной базы» 3.0 становится единственным выходом, так как там можно дозаполнить эти сведения.Подводя итог, отметим: если ваша организация продолжает работать в 1С 2.0, наиболее эффективным и безопасным способом сдачи НДС является выгрузка данных в «Налогоплательщик ЮЛ» или использование функций конвертации в Контур.Экстерн/СБИС. Это минимизирует риски технических ошибок в структуре файла и позволяет сосредоточиться на проверке самих сумм налога.