Как вывести список контрагентов, отсутствующих в базе ФНС, в 1С:Бухгалтерия 3.0?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Налоговый учет IT и автоматизация бизнеса
← На главную

Многие пользователи при попытке отфильтровать список контрагентов по статусу «Отсутствует в базе ФНС» сталкиваются с тем, что стандартные возможности динамического списка не позволяют этого сделать. Система выдает ошибку, связанную с некорректным использованием полей отбора. Давайте разберемся, почему так происходит и как правильно решить эту задачу.

Почему не работает простой отбор в списке контрагентов?

Проблема заключается в архитектуре хранения данных. Статус проверки контрагента — это не реквизит справочника Контрагенты. Эти данные хранятся во внешнем объекте — регистре сведений (как правило, с названием СостоянияКонтрагентов). Когда вы открываете карточку контрагента, система программно обращается к этому регистру и выводит информацию о статусе, полученную ранее через сервис 1С:Контрагент или внешние API ФНС.

Так как поле состояния не является прямой частью справочника, динамический список формы не может наложить по нему прямой фильтр. Попытка настроить отбор через параметры данных вызывает системную ошибку, так как система ожидает работы с реквизитами, доступными в рамках основного запроса списка.

Как реализовать вывод списка контрагентов?

Для решения задачи по получению отчета или списка всех «проблемных» контрагентов, нам потребуется воспользоваться Системой компоновки данных (СКД). Это позволит нам объединить данные справочника с данными регистра сведений.

  1. Создание внешнего отчета: Создайте новый внешний отчет на СКД. В качестве основного набора данных выберите справочник Контрагенты.
  2. Настройка связи: Добавьте в отчет второй набор данных — таблицу регистра сведений СостоянияКонтрагентов.
  3. Связи наборов данных: Установите связь между ними по полям ИНН и КПП. Это ключевой этап, так как именно по этим идентификаторам система сопоставляет контрагента с данными в базе ФНС.
  4. Настройка отбора: В настройках СКД выведите поле статуса (например, Состояние или РезультатПроверки) в блок отборов. Теперь вы сможете задать условие, чтобы вывести только тех контрагентов, у которых состояние равно значению «Отсутствует в базе ФНС».

Важные аспекты работы с проверкой данных ФНС

При анализе полученного списка важно учитывать несколько технических нюансов:

Анализ состояния контрагентов программно

Если вам необходимо программно обратиться к данным проверки, вы можете использовать запрос к регистру сведений. Разберем пример логики такого запроса:


ВЫБРАТЬ
    Контрагенты.Наименование КАК Наименование,
    СостоянияКонтрагентов.Состояние КАК Статус
ИЗ
    Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрСведений.СостоянияКонтрагентов КАК СостоянияКонтрагентов
ПО
    Контрагенты.ИНН = СостоянияКонтрагентов.ИНН
    И Контрагенты.КПП = СостоянияКонтрагентов.КПП
ГДЕ
    СостоянияКонтрагентов.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияКонтрагентов.ОтсутствуетВБазеФНС)

Используя этот подход, вы получите гибкий инструмент для контроля данных. Проанализировав ситуацию таким образом, вы сможете не только вывести список «проблемных» контрагентов, но и массово пометить их для последующей проверки или уточнения данных у клиентов. Помните, что регулярный аудит справочника контрагентов помогает избежать ошибок в налоговой отчетности и повышает точность учета.

← На главную