Каждый бухгалтер хотя бы раз сталкивался с ситуацией, когда при начале работы с базой 1С:Бухгалтерия 3.0 ИНН контрагентов (и даже собственной организации) внезапно окрашиваются в красный цвет с предупреждением: «Недействителен» или «Нет в базе ФНС». Ситуация становится еще более загадочной, когда в соседней базе или на сервере в резервной копии те же самые контрагенты отображаются корректно и горят зеленым цветом.
В этой статье мы подробно разберем внутреннее устройство механизмов проверки контрагентов в 1С, выясним технические причины подобного поведения системы и рассмотрим пошаговые методы исправления этой ошибки.
Для начала проанализируем, как именно программы «1С» взаимодействуют с внешними источниками для валидации реквизитов. Очень часто пользователи путают две совершенно разные технологии:
api.orgregister.1c.ru. Основная его задача — автозаполнение реквизитов новых юридических лиц и индивидуальных предпринимателей по ИНН в справочнике. Напрямую за подцветку контрагентов красным в текущих документах он не отвечает.npchk.nalog.ru/FNSNDSCAWS_2). Этот сервис проверяет актуальность существующих записей ЕГРЮЛ/ЕГРИП для корректного формирования книг покупок, книг продаж и деклараций по НДС. Именно он отвечает за индикацию контрагентов («красный» или «зеленый») в списках документов.Выясним причину, почему в двух идентичных базах на одном сервере состояние одного и того же контрагента может кардинально отличаться. Всё дело в механизме оптимизации запросов и работе регламентных заданий.
В системе 1С настроено периодическое фоновое задание, которое запускает проверку контрагентов по расписанию (обычно в ночное время). Результаты этой проверки сохраняются в локальный кэш базы данных. Схема развития проблемы выглядит следующим образом:
npchk.nalog.ru) испытывал технические сбои, отдавал пустые ответы или возвращал ошибку о том, что организации не найдены в реестре.Самым быстрым и технологичным способом решить эту проблему без программирования является очистка кэша веб-сервисов в самой информационной базе. Для этого выполним следующие шаги:
e1cib/list/РегистрСведений.КэшПрограммныхИнтерфейсовnpchk.nalog.ru или api.orgregister.1c.ru).Рассмотрим ситуацию, когда администратору базы данных требуется программно очистить кэш или автоматизировать этот процесс. Мы можем написать простую обработку, которая очистит нужные записи в регистре сведений КэшПрограммныхИнтерфейсов.
Проанализируем пример кода на языке 1С, который выполняет выборочную очистку записей, связанных с сервисами ФНС и контрагентов:
// Создаем набор записей для работы с регистром
НаборЗаписей = РегистрыСведений.КэшПрограммныхИнтерфейсов.СоздатьНаборЗаписей();
// Выполняем очистку регистра
// В реальной практике для полной очистки кэша достаточно записать пустой набор без отборов:
НаборЗаписей.Записать();
ЗаписьЖурналаРегистрации("ОчисткаКэша",
УровеньЖурналаРегистрации.Информация, , ,
"Кэш программных интерфейсов успешно очищен вручную.");
После очистки кэша нам необходимо заставить программу заново отправить запросы в ФНС. Для этого выполним запуск регламентного задания:
Проанализируем еще одну частую причину сбоя — устаревший релиз конфигурации. Если ваша база работает на старых версиях (например, как указано в вопросе автора — 3.0.51.21), проверка будет постоянно ломаться.
Дело в том, что ФНС России периодически обновляет свои шлюзы, протоколы безопасности и структуры XML-документов. Старые версии 1С продолжают обращаться к отключенным адресам или отправлять устаревшие схемы запросов, на что сервер ФНС возвращает ошибку соединения или пустой результат.
В этом случае выполним следующие рекомендации:
Важный совет для бухгалтера: Если программа неожиданно выдала предупреждение об отсутствии контрагента в базе ФНС, не спешите останавливать платежи и отгрузки. Перейдите на официальный портал ФНС РФ в ручной сервис «Предоставление сведений из ЕГРЮЛ/ЕГРИП в электронном виде», введите ИНН контрагента и сформируйте выписку. Если на официальном сайте выписка создается без проблем и статус компании активен — значит, проблема носит временный технический характер интеграции на стороне вашей локальной базы 1С.