К статье
Практический материал

Справочники и Данные · 10 мин

Как настроить объединение данных в 1С с помощью внешней программы

Как настроить объединение данных в 1С с помощью внешней обработки: подготовка базы, выбор инструмента, настройка правил, тестовый запуск и проверка результата.

Объединение данных в 1С — задача, которая возникает при устранении дублей контрагентов, слиянии справочников после обновления конфигурации или консолидации информации из нескольких баз. Штатные механизмы типовых конфигураций покрывают не все сценарии, поэтому на практике часто применяют внешние обработки: файлы с расширением .epf, которые подключаются к базе без изменения конфигурации.

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

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

Подготовка базы перед запуском внешней обработки

Первое и обязательное действие — создание резервной копии. В файловой базе достаточно скопировать файл 1Cv8.1CD в отдельную папку при завершённой работе всех пользователей. В клиент-серверном варианте копию делают средствами СУБД (MS SQL, PostgreSQL) или через выгрузку в dt из конфигуратора. Выгрузка в dt занимает больше времени, но позволяет развернуть копию на другом сервере для тестирования.

Второй шаг — завершение работы пользователей или перевод базы в монопольный режим. Объединение меняет ссылки в документах и регистрах; если в это время пользователь редактирует документ, возможны конфликты блокировок и частичная запись изменений. Для файловой базы достаточно попросить всех выйти, для серверной — установить блокировку сеансов через консоль кластера или типовую функцию «Блокировка работы пользователей».

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

Выбор и подключение внешней обработки

Внешние обработки для объединения бывают трёх типов: типовые из состава конфигурации (например, «Поиск и удаление дублей» в конфигурациях на БСП), публичные разработки с профильных ресурсов и обработки, написанные под конкретную задачу. Типовой инструмент предпочтителен: он учитывает особенности конфигурации, права доступа и ведёт журнал выполнения.

Подключить файл .epf можно двумя способами. Разовый запуск — через меню «Файл → Открыть» в режиме 1С:Предприятие: обработка откроется и будет работать до закрытия окна. Постоянное подключение — через раздел «Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки», если конфигурация поддерживает этот механизм: тогда обработка появится в списке и будет доступна пользователям с соответствующими правами.

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

Ключевой этап — определение, по каким полям программа будет считать элементы дублями. Для контрагентов это обычно ИНН и КПП, для физических лиц — ФИО и дата рождения, для номенклатуры — наименование и артикул. Слишком узкое правило (например, только точное совпадение наименования) пропустит дубли с опечатками; слишком широкое — объединит разные объекты.

Второй параметр — правило выбора главного элемента, на который будут перенесены все ссылки. Стандартные варианты: элемент с наибольшим количеством ссылок в документах, самый ранний или самый поздний по дате создания, элемент с наиболее полным заполнением реквизитов. Для контрагентов логично выбирать запись с актуальными реквизитами, для номенклатуры — ту, что используется в последних документах.

Отдельно настраивается поведение при конфликтах реквизитов: что делать, если у дублей заполнены разные значения одного поля (например, разные адреса). Обычно доступны варианты «взять значение главного элемента», «взять непустое значение» или «оставить как есть». Выбор зависит от того, какая запись актуальнее.

Порядок настройки правил
  1. 1
    Создайте резервную копию и завершите работу пользователей
  2. 2
    Откройте обработку и укажите область поиска (справочник, вид объектов)
  3. 3
    Задайте поля сравнения: ИНН/КПП для контрагентов, артикул для номенклатуры
  4. 4
    Настройте правило выбора главного элемента и поведение при конфликтах реквизитов
  5. 5
    Выполните поиск дублей без записи и вручную просмотрите найденные группы
  6. 6
    Снимите отметки с пар, которые объединять нельзя
  7. 7
    Запустите тестовый режим (имитацию), затем — рабочее выполнение

Тестовый запуск и контроль перед записью

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

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

Типичные ошибки
01
Объединение по одному наименованию — сливаются разные контрагенты с одинаковыми названиями, ссылки из документов уходят на чужое юрлицо
02
Запуск без тестового режима — ошибки правил обнаруживаются уже после записи, откат только из копии
03
Объединение помеченных на удаление элементов с рабочими без проверки — главным может стать устаревшая запись
04
Игнорирование регистров сведений — после объединения теряются адреса, контакты или цены, привязанные к удалённому дублю
05
Работа в многопользовательском режиме без блокировки — конфликты блокировок и частичная замена ссылок

Выполнение объединения и проверка результата

После успешного теста запускайте рабочее выполнение. На крупных базах процесс может занять значительное время — не прерывайте его закрытием сеанса, это оставит данные в промежуточном состоянии. Если обработка ведёт журнал, сохраните его: в журнале фиксируется, какие элементы объединены и какие объекты изменены.

После завершения выполните контрольные проверки. Откройте несколько документов, где раньше был дубль, и убедитесь, что ссылка заменена на главный элемент. Проверьте регистры сведений (контактная информация, цены, штрихкоды) — данные должны быть привязаны к правильному объекту. Сформируйте отчёт по справочнику: дублей по заданному правилу остаться не должно.

Контрольные точки

Как проверить результат

Ссылки в документах
Норма

В документах указан главный элемент, документы открываются без ошибок

Тревожный признак

Пустые или битые ссылки вида «Объект не найден»

Регистры сведений
Норма

Контакты, цены и штрихкоды привязаны к главному элементу

Тревожный признак

Записи регистров потеряны или привязаны к удалённому дублю

Повторный поиск дублей
Норма

По заданному правилу дубли не находятся

Тревожный признак

Обработка снова показывает те же группы

Отчёты и обороты
Норма

Обороты по контрагенту/номенклатуре консолидированы в одной строке

Тревожный признак

Данные раздваиваются или исчезли из отчётов

Ограничения и альтернативные способы

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

Учитывайте и ограничения по правам: замена ссылок требует права на изменение всех затрагиваемых объектов — документов, регистров, справочников. Если у пользователя, запускающего обработку, нет прав на часть объектов, замена будет выполнена частично без явной ошибки. Поэтому объединение лучше выполнять под учётной записью с полными правами.

Сравнение вариантов

Внешняя обработка объединения

Подходит для массового устранения дублей внутри одной базы; требует копии и тестового прогона, не меняет конфигурацию

Типовой «Поиск и удаление дублей»

Встроен в конфигурации на БСП, учитывает права и особенности объектов; ограничен стандартными правилами сравнения

Групповое изменение реквизитов

Для точечной замены значений в небольшом числе объектов; не переносит ссылки автоматически

Конвертация данных / планы обмена

Для слияния разных баз; требует настройки правил обмена и навыков разработки

Частые вопросы

Можно ли отменить объединение после выполнения?

Штатной кнопки «отменить» у обработок объединения нет. Откат возможен только восстановлением базы из резервной копии, созданной до запуска. Поэтому копия — обязательное условие, а тестовый режим — способ избежать отката.

Что происходит с дублями после объединения?

Зависит от настроек обработки. Обычно дубли помечаются на удаление либо удаляются напрямую после переноса ссылок. Безопаснее вариант с пометкой: его можно проверить и окончательно удалить позже через «Удаление помеченных объектов».

Почему обработка не находит очевидные дубли?

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

Можно ли объединять элементы в разных группах справочника?

Да, большинство обработок ищут дубли по всему справочнику независимо от иерархии. Но проверьте настройки: в некоторых обработках поиск по умолчанию ограничен текущей группой.

Затрагивает ли объединение закрытые периоды?

Да, замена ссылок выполняется во всех документах, включая прошлые периоды. Сами суммы документов не меняются, но если по базе настроена дата запрета изменения данных, обработка может завершиться ошибкой на объектах закрытого периода — тогда дату запрета временно сдвигают или выполняют замену с соответствующими правами.

Итог

Что важно запомнить

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