Как автоматически актуализировать данные справочника Контрагенты в 1С:УНФ

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

В процессе работы любой компании справочник Контрагенты неизбежно устаревает. Директора меняются, компании переезжают, а некоторые и вовсе ликвидируются. Когда в базе находится более тысячи записей, ручное обновление каждой карточки через кнопку "Заполнить по ИНН" становится непосильной задачей. В этой статье мы разберем, как автоматизировать этот процесс, какие инструменты использовать и на что обратить внимание, чтобы не испортить данные в базе.

Использование встроенного API сервиса 1С-Контрагент

Проанализируем программный способ решения задачи. В современных конфигурациях, построенных на базе Библиотеки стандартных подсистем (БСП), таких как 1С:УНФ, существует готовый программный интерфейс для взаимодействия с сервисом. Для получения актуальных сведений о юридическом лице используется специализированный метод.

Рассмотрим основной программный код, который позволяет получить структуру данных по ИНН:


// Пример получения данных через сервис
ИНН_Контрагента = "7701234567";
Данные = РаботаСКонтрагентами.СведенияОЮридическомЛицеПоИНН(ИНН_Контрагента);

Если Данные <> Неопределено Тогда
    // Здесь выполняется обработка полученной структуры
    // Например: Адрес = Данные.ЮридическийАдрес;
КонецЕсли;

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

  1. Создаем выборку нужных нам элементов справочника Контрагенты.
  2. В цикле вызываем метод получения данных.
  3. Полученную структуру данных сопоставляем с реквизитами объекта.
  4. Записываем объект в базу данных.

Пример реализации цикла обновления может выглядеть следующим образом:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Контрагенты.Ссылка КАК Ссылка,
    |	Контрагенты.ИНН КАК ИНН
    |ИЗ
    |	Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |	НЕ Контрагенты.ЭтоГруппа
    |	И Контрагенты.ИНН <> """"";

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Вызов сервиса 1С-Контрагент
    Сведения = РаботаСКонтрагентами.СведенияОЮридическомЛицеПоИНН(ВыборкаДетальныеЗаписи.ИНН);
    
    Если Сведения <> Неопределено Тогда
        ОбъектКонтрагент = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        // Заполняем реквизиты, например Наименование и КПП
        ОбъектКонтрагент.НаименованиеПолное = Сведения.НаименованиеПолное;
        ОбъектКонтрагент.КПП = Сведения.КПП;
        // Важно: здесь же можно обновить адрес и руководителя
        ОбъектКонтрагент.Записать();
    КонецЕсли;
КонецЦикла;

Ограничения и лимиты сервиса 1С-Контрагент

Проанализируем ситуацию с доступностью сервиса. Важно понимать, что сервис 1С-Контрагент не является абсолютно безлимитным. В зависимости от вашего тарифа (ИТС Проф или отдельный пакет "1С-Контрагент"), на аккаунт выделяется определенное количество обращений (обычно около 7200 автозаполнений в год).

Выясним причину возможных ошибок при массовой обработке:

Альтернативные способы актуализации данных

Если штатных возможностей сервиса 1С-Контрагент недостаточно или лимиты не позволяют выполнить полную проверку, рассмотрим альтернативные пути.

1. Использование сторонних API (например, DaData): Многие разработчики интегрируют внешние сервисы. Они часто предоставляют более гибкие условия для массовой стандартизации адресов и поиска контрагентов. Это требует написания собственного HTTP-запроса из 1С, но позволяет обрабатывать десятки тысяч записей без привязки к подписке 1С-Контрагент.

2. Прямые запросы к открытым данным ФНС: Налоговая служба предоставляет доступ к реестрам в формате открытых данных. Выясним, как это работает: программа скачивает архивы данных с сайта ФНС, парсит их и сопоставляет с вашей базой. Это самый трудозатратный в плане разработки способ, но он полностью бесплатен и не имеет лимитов.

3. Групповое изменение реквизитов с произвольным кодом: Посмотрим на пример стандартной обработки "Групповое изменение реквизитов". В режиме разработчика (через Дополнительные параметры) она позволяет выполнять произвольный алгоритм. Это удобнее, чем писать внешнюю обработку с нуля, так как интерфейс подбора контрагентов уже готов. Для удобного запуска этого механизма прямо из карточек или списков можно использовать расширение для группового изменения реквизитов с формы.

Меры предосторожности при массовом обновлении

Перед тем как запускать автоматическое обновление, проанализируем риски потери данных. Мы рекомендуем придерживаться следующих правил:

  1. Создание резервной копии: Это обязательный шаг перед любой массовой модификацией справочников, который можно выполнить автоматически с помощью программы для архивирования и обслуживания информационных баз 1С.
  2. Отделение ликвидированных компаний: Прежде чем обновлять реквизиты, полезно выявить компании, которые прекратили деятельность. Перенос таких контрагентов в отдельную папку "Архив" или "Ликвидированные" поможет избежать путаницы в текущем учете.
  3. Проверка на дубли: Запустите стандартный поиск и замену дублей перед актуализацией. В противном случае вы потратите лимиты сервиса на проверку одной и той же компании несколько раз.
  4. Выборочное обновление: Не стоит обновлять все поля подряд. Например, поле Наименование (краткое) часто используется бухгалтерами для удобства поиска (например, "Ромашка ООО (склад)"), и автоматическая перезапись сотрет эти пометки. Лучше обновлять только юридически значимые поля: НаименованиеПолное, КПП, ЮридическийАдрес.

Рассмотрим подробнее вопрос с адресами. В 1С:УНФ используется формат ФИАС. При автоматическом заполнении через сервис адреса будут приведены к строгому формату ФИАС. Если в вашей базе адреса были заведены вручную "одной строкой", убедитесь, что это не нарушит работу внешних систем (например, логистических сервисов или выгрузок в транспортные компании). Для массового просмотра и корректировки адресов и телефонов подойдёт обработка для работы с контактной информацией объектов.

Резюме

Массовая актуализация справочника Контрагенты — это задача, которая решается сочетанием программного кода и организационных мер. Используя функцию РаботаСКонтрагентами.СведенияОЮридическомЛицеПоИНН, можно автоматизировать 90% рутины. Главное — помнить об ограничениях по ИНН/КПП для филиалов и следить за остатком лимитов в личном кабинете портала 1С.

← На главную