Интеграция 1С с госсистемами 2026: маркировка, ЕГАИС, ФНС

Интеграция 1С с госсистемами 2026: маркировка, ЕГАИС, ФНС

Коротко: В 2026 году интеграция 1С с госсистемами перешла на уровень API-first: Честный ЗНАК требует передачи данных в течение 3 часов, ЕГАИС перешёл на версию 3.0 с XML-схемами нового формата, а налоговый мониторинг ФНС охватывает компании с оборотом от 800 млн руб. Правильная архитектура интеграции сокращает время отклика до 200 мс и снижает количество ошибок передачи на 70%.

Почему 2026 год стал переломным для интеграций 1С с государством?

Государственные информационные системы России прошли серьёзную трансформацию: от файлового обмена через ЭДО к полноценным REST/SOAP API с асинхронными очередями. Для бизнеса, работающего на платформе 1С, это означает необходимость пересмотра архитектуры интеграционного слоя.

Ключевые изменения 2025–2026 годов затронули три крупнейших государственных системы: систему маркировки товаров маркировка в 1С (Честный ЗНАК), ЕГАИС для алкогольной продукции и систему налогового мониторинга ФНС. Каждая из них обновила протоколы взаимодействия, расширила перечень товарных групп и ужесточила требования к срокам передачи данных.

Компании, не успевшие адаптировать интеграционные решения, столкнулись с административными штрафами, блокировкой продаж и претензиями со стороны регуляторов. По данным ФНС, в первом квартале 2026 года количество предписаний по нарушениям в части электронной отчётности выросло на 34% по сравнению с аналогичным периодом прошлого года.

Как устроена современная архитектура интеграции 1С с госсистемами?

Современный подход предполагает многоуровневую архитектуру, где 1С выступает источником первичных данных, а интеграционный слой отвечает за трансформацию, маршрутизацию и гарантированную доставку.

Основные компоненты интеграционного слоя

  • Брокер сообщений — RabbitMQ или Apache Kafka для асинхронной обработки очередей событий из 1С
  • API-шлюз — nginx или Kong для управления авторизацией, rate limiting и мониторингом запросов
  • Сервис трансформации — конвертация внутренних форматов 1С в XML/JSON-схемы госсистем
  • Хранилище состояний — Redis или PostgreSQL для отслеживания статусов переданных документов
  • Планировщик повторных попыток — автоматическая отправка при временной недоступности внешних API

В рамках 1С интеграция реализуется через регламентные задания, HTTP-сервисы и механизм фонового обмена. Рассмотрим базовый пример отправки данных через HTTP-запрос:


// Функция отправки HTTP-запроса к API государственной системы
Функция ОтправитьЗапросВГоссистему(АдресAPI, ТелоЗапроса, Токен)

	// Создаём HTTP-соединение
	Подключение = Новый HTTPСоединение(
		АдресAPI,
		443,
		,,
		,
		30, // Таймаут соединения в секундах
		Новый ЗащищённоеСоединениеOpenSSL()
	);

	// Формируем заголовки запроса
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
	Заголовки.Вставить("Authorization", "Bearer " + Токен);
	Заголовки.Вставить("X-API-Version", "2.0");

	// Создаём HTTP-запрос
	Запрос = Новый HTTPЗапрос("/api/v2/documents", Заголовки);
	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, "UTF-8");

	Попытка
		// Выполняем POST-запрос
		Ответ = Подключение.ОтправитьДляОбработки(Запрос);

		// Проверяем код ответа
		Если Ответ.КодСостояния = 200 Или Ответ.КодСостояния = 201 Тогда
			Возврат Ответ.ПолучитьТелоКакСтроку();
		Иначе
			Сообщение = "Ошибка API: " + Ответ.КодСостояния + " — " + Ответ.ПолучитьТелоКакСтроку();
			ЗаписатьОшибкуИнтеграции(Сообщение);
			Возврат Неопределено;
		КонецЕсли;
	Исключение
		ЗаписатьОшибкуИнтеграции(ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;

КонецФункции

// Процедура записи ошибок интеграции в регистр сведений
Процедура ЗаписатьОшибкуИнтеграции(ТекстОшибки)

	МенеджерЗаписи = РегистрыСведений.ЖурналИнтеграций.СоздатьМенеджерЗаписи();
	МенеджерЗаписи.Период = ТекущаяДата();
	МенеджерЗаписи.ТипОшибки = "API";
	МенеджерЗаписи.ОписаниеОшибки = ТекстОшибки;
	МенеджерЗаписи.Записать();

КонецПроцедуры

Как правильно настроить интеграцию с маркировкой Честный ЗНАК в 2026?

Система маркировки Честный ЗНАК в 2026 году охватывает более 20 товарных групп. Новые группы, введённые в 2025–2026 годах, включают бытовую химию, антисептики, корма для животных и ряд промышленных товаров. Для каждой группы действуют собственные форматы кодов и сроки передачи данных.

Ключевые требования к интеграции в 2026 году

  • Передача сведений об обороте маркированных товаров — не позднее 3 часов с момента операции
  • Поддержка API версии 4.x с OAuth 2.0 авторизацией через УКЭП
  • Обязательная верификация кодов маркировки при приёмке через API /v4/true-api/codes/check
  • Формирование УПД с атрибутами маркировки в формате FIAS 5.02
  • Логирование всех операций с кодами в течение 5 лет

Рассмотрим пример получения и проверки кодов маркировки при приёмке товара в 1С:


// Процедура проверки кодов маркировки при приёмке товара
Процедура ПроверитьКодыМаркировки(ДокументПриёмки)

	Настройки = ПолучитьНастройкиИнтеграцииЧестныйЗНАК();

	// Собираем коды маркировки из табличной части документа
	СписокКодов = Новый Массив;
	Для Каждого СтрокаТЧ Из ДокументПриёмки.Товары Цикл
		Если ЗначениеЗаполнено(СтрокаТЧ.КодМаркировки) Тогда
			СписокКодов.Добавить(СтрокаТЧ.КодМаркировки);
		КонецЕсли;
	КонецЦикла;

	// Если нет кодов — выходим
	Если СписокКодов.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;

	// Формируем тело запроса для API Честный ЗНАК
	СтруктураЗапроса = Новый Структура;
	СтруктураЗапроса.Вставить("codes", СписокКодов);
	СтруктураЗапроса.Вставить("productGroup", НастройкиИнтеграции.ТоварнаяГруппа);

	ТелоЗапроса = ЗаписатьJSON(СтруктураЗапроса);

	// Отправляем запрос на проверку
	Токен = ПолучитьТокенЧестныйЗНАК(Настройки);
	РезультатJSON = ОтправитьЗапросВГоссистему(
		"markirovka.crpt.ru",
		ТелоЗапроса,
		Токен
	);

	Если РезультатJSON = Неопределено Тогда
		Сообщить("Ошибка проверки кодов маркировки. Обратитесь к администратору.");
		Возврат;
	КонецЕсли;

	// Разбираем ответ
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(РезультатJSON);
	Результат = ПрочитатьJSON(Чтение);

	// Обрабатываем невалидные коды
	Для Каждого КодРезультат Из Результат.codes Цикл
		Если КодРезультат.valid <> Истина Тогда
			Сообщить("Невалидный код маркировки: " + КодРезультат.code);
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры

// Функция получения токена авторизации Честный ЗНАК
Функция ПолучитьТокенЧестныйЗНАК(Настройки)

	// Проверяем кэш токена в регистре сведений
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ТокеныДоступа.Токен,
		|	ТокеныДоступа.ДатаИстечения
		|ИЗ
		|	РегистрСведений.ТокеныДоступаГоссистем КАК ТокеныДоступа
		|ГДЕ
		|	ТокеныДоступа.Система = &Система
		|	И ТокеныДоступа.ДатаИстечения > &ТекущееВремя";

	Запрос.УстановитьПараметр("Система", "ЧестныйЗНАК");
	Запрос.УстановитьПараметр("ТекущееВремя", ТекущаяДата());

	Результат = Запрос.Выполнить();
	Если НЕ Результат.Пустой() Тогда
		Выборка = Результат.Выбрать();
		Выборка.Следующий();
		Возврат Выборка.Токен;
	КонецЕсли;

	// Получаем новый токен через УКЭП
	Возврат ПолучитьНовыйТокенЧерезУКЭП(Настройки);

КонецФункции

Что изменилось в ЕГАИС 3.0 и как адаптировать интеграцию?

ЕГАИС версии 3.0, введённый в полноценную эксплуатацию в 2025 году, кардинально изменил формат взаимодействия. Если ранее обмен строился на XML-файлах через локальный UTM (Universal Transport Module), то теперь доступен прямой API с поддержкой асинхронных запросов.

Главные изменения ЕГАИС 3.0

Параметр ЕГАИС 2.x ЕГАИС 3.0
Протокол обмена XML через UTM REST API + XML
Авторизация Сертификат ФСРАР OAuth 2.0 + УКЭП
Срок передачи ТТН До конца рабочего дня Не позднее 1 часа
Формат остатков Регистр 1 и Регистр 2 Единый регистр с партионным учётом
Инвентаризация Ежеквартально По требованию ФСРАР в режиме реального времени

Для организаций, работающих с 1С:Бухгалтерия на Кодерион, интеграция с ЕГАИС 3.0 требует обновления конфигурации и настройки нового транспортного модуля. Пример формирования товарно-транспортной накладной (ТТН) для ЕГАИС:


// Функция формирования XML-документа ТТН для ЕГАИС 3.0
Функция СформироватьТТНдляЕГАИС(ДокументОтгрузки)

	// Создаём XML-документ
	Запись = Новый ЗаписьXML;
	Запись.УстановитьСтроку();
	Запись.ЗаписатьОбъявлениеXML();

	// Корневой элемент документа ЕГАИС
	Запись.ЗаписатьНачалоЭлемента("WayBill");
	Запись.ЗаписатьАтрибут("xmlns", "http://fsrar.ru/WEGAIS/WB");
	Запись.ЗаписатьАтрибут("version", "3");

	// Заголовок накладной
	Запись.ЗаписатьНачалоЭлемента("Header");

	// Номер документа
	Запись.ЗаписатьНачалоЭлемента("NUMBER");
	Запись.ЗаписатьТекст(СокрЛП(ДокументОтгрузки.Номер));
	Запись.ЗаписатьКонецЭлемента();

	// Дата документа в формате ЕГАИС
	Запись.ЗаписатьНачалоЭлемента("Date");
	Запись.ЗаписатьТекст(Формат(ДокументОтгрузки.Дата, "ДФ=гггг-ММ-дд"));
	Запись.ЗаписатьКонецЭлемента();

	// Тип документа
	Запись.ЗаписатьНачалоЭлемента("Type");
	Запись.ЗаписатьТекст("WayBill_v3");
	Запись.ЗаписатьКонецЭлемента();

	Запись.ЗаписатьКонецЭлемента(); // Header

	// Табличная часть — позиции
	Запись.ЗаписатьНачалоЭлемента("Content");
	Для Каждого СтрокаТовара Из ДокументОтгрузки.Товары Цикл

		Запись.ЗаписатьНачалоЭлемента("Position");

		// Код продукции ЕГАИС
		Запись.ЗаписатьНачалоЭлемента("ProductCode");
		Запись.ЗаписатьТекст(СтрокаТовара.Номенклатура.КодЕГАИС);
		Запись.ЗаписатьКонецЭлемента();

		// Количество в декалитрах
		Запись.ЗаписатьНачалоЭлемента("Quantity");
		Запись.ЗаписатьТекст(Формат(СтрокаТовара.Количество, "ЧДЦ=3; ЧРД=."));
		Запись.ЗаписатьКонецЭлемента();

		// Цена без НДС
		Запись.ЗаписатьНачалоЭлемента("Price");
		Запись.ЗаписатьТекст(Формат(СтрокаТовара.Цена, "ЧДЦ=2; ЧРД=."));
		Запись.ЗаписатьКонецЭлемента();

		Запись.ЗаписатьКонецЭлемента(); // Position

	КонецЦикла;

	Запись.ЗаписатьКонецЭлемента(); // Content
	Запись.ЗаписатьКонецЭлемента(); // WayBill

	Возврат Запись.Закрыть();

КонецФункции

Как работает налоговый мониторинг ФНС и что нужно от 1С?

Налоговый мониторинг — режим взаимодействия с ФНС, при котором инспекция получает доступ к учётной системе компании в режиме реального времени вместо традиционных проверок. В 2026 году порог для обязательного перехода снижен до 800 млн рублей годового оборота (ранее — 1 млрд руб.).

Требования ФНС к информационной системе налогоплательщика

  • Предоставление доступа к первичным документам через API АИС «Налог-3» или витрину данных
  • Время ответа на запрос ФНС — не более 5 секунд для стандартных запросов
  • Хранение данных в структурированном виде с возможностью выборки за любой период
  • Поддержка формата XBRL для передачи финансовой отчётности
  • Журналирование всех обращений ФНС к системе
  • Шифрование канала передачи данных (ГОСТ 34.12-2018)

Компании, использующие задачи по 1С:ERP, имеют преимущество: платформа поддерживает встроенный механизм витрины данных для налогового мониторинга. Для 1С:Бухгалтерии требуется дополнительная настройка.


// Процедура формирования витрины данных для налогового мониторинга ФНС
Процедура СформироватьВитринуДанныхФНС(НачалоПериода, КонецПериода)

	// Запрос данных по первичным документам за период
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ПоступлениеТоваров.Ссылка КАК Документ,
		|	ПоступлениеТоваров.Дата КАК ДатаДокумента,
		|	ПоступлениеТоваров.Номер КАК НомерДокумента,
		|	ПоступлениеТоваров.Контрагент.ИНН КАК ИНН_Контрагента,
		|	ПоступлениеТоваров.Контрагент.КПП КАК КПП_Контрагента,
		|	ПоступлениеТоваров.СуммаДокумента КАК СуммаБезНДС,
		|	ПоступлениеТоваров.СуммаНДС КАК СуммаНДС,
		|	""Поступление"" КАК ТипОперации
		|ИЗ
		|	Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваров
		|ГДЕ
		|	ПоступлениеТоваров.Дата МЕЖДУ &НачалоПериода И &КонецПериода
		|	И ПоступлениеТоваров.Проведен = ИСТИНА
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	РеализацияТоваров.Ссылка,
		|	РеализацияТоваров.Дата,
		|	РеализацияТоваров.Номер,
		|	РеализацияТоваров.Контрагент.ИНН,
		|	РеализацияТоваров.Контрагент.КПП,
		|	РеализацияТоваров.СуммаДокумента,
		|	РеализацияТоваров.СуммаНДС,
		|	""Реализация""
		|ИЗ
		|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваров
		|ГДЕ
		|	РеализацияТоваров.Дата МЕЖДУ &НачалоПериода И &КонецПериода
		|	И РеализацияТоваров.Проведен = ИСТИНА
		|УПОРЯДОЧИТЬ ПО
		|	ДатаДокумента";

	Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
	Запрос.УстановитьПараметр("КонецПериода", КонецПериода);

	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();

	// Формируем JSON для витрины данных
	МассивДокументов = Новый Массив;
	Для Каждого Строка Из Выборка Цикл

		СтруктураДокумента = Новый Структура;
		СтруктураДокумента.Вставить("documentType", Строка.ТипОперации);
		СтруктураДокумента.Вставить("documentNumber", Строка.НомерДокумента);
		СтруктураДокумента.Вставить("documentDate", Формат(Строка.ДатаДокумента, "ДФ=гггг-ММ-дд"));
		Ст

Найдите специалиста для решения этой задачи на koderion.ru