Что делать, если при обмене между УТ 11 и Розницей 2 контрагенты «склеиваются» или выдают ошибку дублирования ИНН?

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

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

Понимание архитектуры «Партнеры» и «Контрагенты» в УТ 11

Прежде всего, проанализируем ключевое отличие Управления торговлей 11 от других конфигураций. В этой программе разделены два понятия:

  1. Партнеры — это управленческие сущности (холдинги, сетевые клиенты), которые используются для ведения CRM, фиксации сделок и взаимодействий.
  2. Контрагенты — это юридические лица (ООО, ИП, Физлица), которые используются для регламентированного учета (выписки счетов-фактур, накладных).

Даже если в настройках системы (НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг) параметр «Независимо вести партнеров и контрагентов» выключен (установлено значение «Ложь»), в базе данных все равно существуют два разных справочника. В этом случае система просто скрывает это разделение в интерфейсе, создавая для каждого Партнера одного Контрагента автоматически.

Выясним причину ошибки: Ошибка дублирования возникает потому, что запись в справочнике Контрагенты уже существует, но она может быть либо помечена на удаление, либо не привязана к тому партнеру, которого вы видите в списке. В результате стандартный поиск в интерфейсе ничего не выдает, а механизм проверки уникальности при записи объекта блокирует операцию.

Поиск «невидимого» контрагента через консоль запросов

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

Откроем консоль запросов и выполним следующий код:


ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.Партнер КАК Партнер,
    Контрагенты.ПометкаУдаления КАК Удален
ИЗ
    Справочник.Контрагенты КАК Контрагенты
ГДЕ
    Контрагенты.ИНН = "9923032"

В результате этого запроса мы часто обнаруживаем, что контрагент с таким ИНН привязан к партнеру «Неизвестный покупатель» или вообще не имеет связи с партнером. Именно из-за этого в интерфейсе при просмотре справочника «Партнеры» мы не видим карточку «Рога и копыта», так как система отображает только управленческие данные.

Исправление связей между Партнером и Контрагентом

Разберем по шагам, что нужно сделать, если вы нашли «заблудившегося» контрагента:

  1. Разрыв неверной связи: Если контрагент «Рога и копыта» привязан к партнеру «Неизвестный покупатель», необходимо зайти в карточку контрагента (через консоль или обработку «Редактирование реквизитов объектов») и очистить поле Партнер.
  2. Создание правильного партнера: Создадим в УТ 11 нового партнера с правильным наименованием.
  3. Восстановление связи: В карточке нового партнера перейдем в раздел «Контрагенты» и выберем существующее юридическое лицо, которое мы нашли запросом. Таким образом, мы «подцепим» старую запись к новому управленческому объекту.

Обратите внимание: Ошибка может повторяться, если не очищены дубли по КПП. Проверьте также комбинацию ИНН+КПП, так как для юридических лиц проверка в УТ 11 часто идет по обоим полям одновременно.

Настройка правил обмена и регистра соответствий

Почему же обмен из Розницы в УТ подставил «Неизвестного покупателя»? Проанализируем ситуацию с обменом данными. В механизме синхронизации 1С существует регистр сведений «Соответствия объектов информационных баз».

Когда документ (например, Реализация товаров) выгружается из Розницы, система ищет соответствие для контрагента:

Если один раз произошло ошибочное сопоставление (например, пользователь вручную сопоставил «Рога и копыта» с «Неизвестным покупателем» в окне сопоставления данных), то программа запомнит этот выбор в регистре. Чтобы это исправить, выполним следующие действия:

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Откроем Состав отправляемых данных для нужного обмена.
  3. Найдем в списке регистра сведений «Соответствия объектов» запись, связывающую объект Розницы с «Неизвестным покупателем» в УТ, и удалим её.

Дополнительные технические нюансы

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

1. Скрытые символы: Проверьте ИНН на наличие невидимых символов или пробелов. Программа при проверке на уникальность может использовать функцию СокрЛП() (удаление пробелов), а запрос ГДЕ ИНН = "12345" может не найти значение " 12345". Используйте в запросе оператор ПОДОБНО "%12345%".

2. Тип контрагента: Убедитесь, что ИНН не занят в справочнике Физические лица. В некоторых версиях конфигураций проверки могут пересекаться, особенно если физлицо зарегистрировано как индивидуальный предприниматель.

3. Использование ЭДО: Если контрагент был заведен через сервис «1С-ЭДО», карточка могла создаться автоматически с заполненными реквизитами, но без привязки к иерархии справочника. В таком случае ищите объект в корне справочника Контрагенты без установленных фильтров по группам.

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

← На главную