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

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

Как в 1С изменить контрагента во всех документах

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

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

В типовых конфигурациях 1С (Бухгалтерия предприятия, Управление торговлей, ERP) для этого предусмотрены обработки «Поиск и замена значений» и «Групповое изменение реквизитов». В самописных и сильно доработанных конфигурациях может потребоваться программная замена через встроенный язык.

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

Когда требуется замена контрагента и какие есть варианты

Ситуации бывают разные, и от них зависит выбор инструмента. Самая частая — обнаружен дубль контрагента: одна и та же организация заведена дважды, и документы размазаны по двум карточкам. Здесь задача — объединить элементы и перенести все ссылки на одну карточку.

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

Третий сценарий — ошибка оператора: документы завели на неверного контрагента и нужно исправить за конкретный период или по конкретному договору. Здесь работает групповое изменение реквизитов с отбором.

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

Поиск и замена значений

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

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

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

Программная замена

Для нестандартных конфигураций и сложных условий. Требует навыков разработки и тестирования на копии базы.

Подготовка: резервная копия и анализ ссылок

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

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

Обратите внимание на даты документов. Если часть из них находится в закрытом периоде, за который сдана отчётность, замена контрагента изменит данные прошлых периодов. Это может привести к расхождениям с уже сданными декларациями и актами сверок.

Замена через «Поиск и замена значений»

Это основной инструмент для объединения дублей. В типовых конфигурациях обработка находится в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» → «Поиск и замена значений». В некоторых версиях она доступна только пользователю с правами администратора.

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

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

Порядок действий
  1. 1
    Сделайте резервную копию базы
  2. 2
    Откройте Администрирование → Обслуживание → Поиск и замена значений
  3. 3
    Укажите заменяемый элемент (дубль) и элемент-замену (основную карточку)
  4. 4
    Проверьте список найденных ссылок, снимите флажки с объектов, которые менять нельзя
  5. 5
    Запустите замену и дождитесь завершения
  6. 6
    Проверьте результат в отчётах по контрагенту и удалите дубль через пометку на удаление

Групповое изменение реквизитов для точечной замены

Когда менять нужно не всё подряд, а документы по условию, используйте обработку «Групповое изменение реквизитов» (в ряде конфигураций — «Администрирование» → «Обслуживание» → «Корректировка данных», либо вызывается из списка документов кнопкой «Изменить»).

Сначала задайте отбор: вид документа, период, организация, текущий контрагент. Обработка покажет количество документов, попадающих под условие. Затем выберите реквизит «Контрагент» и укажите новое значение.

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

Программная замена в нестандартных конфигурациях

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

Примерный каркас кода: получаем таблицу ссылок через НайтиПоСсылкам с массивом из одного элемента — старого контрагента. Далее для каждой строки определяем тип объекта, получаем объект методом ПолучитьОбъект, заменяем реквизит «Контрагент» и записываем. Документы записываем в режиме записи, а не проведения, чтобы не перепроводить закрытые периоды.

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

Если база участвует в обмене (РИБ, обмен с сайтом, синхронизация между конфигурациями), массовая замена контрагента зарегистрирует изменения для всех узлов и может вызвать большой пакет обмена. Согласуйте замену с администратором обменов и выполняйте её до очередной синхронизации.
ПЗ
Практическое замечание

Проверка результата и типичные ошибки

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

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

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

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

Поиск ссылок на старую карточку
Норма

Ссылки не найдены

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

Остались документы или регистры со старым контрагентом

ОСВ по счетам расчётов
Норма

Сальдо совпадает с суммой сальдо двух карточек до замены

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

Расхождения — часть документов не заменена

Открытие документа
Норма

Контрагент и договор соответствуют друг другу

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

Договор принадлежит старому контрагенту

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

Можно ли заменить контрагента только в проведённых документах?

Да. В обработке «Групповое изменение реквизитов» добавьте в отбор условие «Проведён = Да». В обработке «Поиск и замена значений» такого фильтра нет — там придётся вручную снимать флажки с непроведённых документов в списке найденных ссылок.

Что делать, если после замены документ не проводится?

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

Заменится ли контрагент в регистрах и накоплении?

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

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

Пометьте элемент на удаление, затем выполните «Администрирование» → «Обслуживание» → «Удаление помеченных объектов». Если удаление блокируется, значит где-то остались ссылки — система покажет их список, замените их и повторите удаление.

Есть ли ограничения по правам для такой замены?

Да. Обработки корректировки данных обычно доступны только пользователям с ролью администратора или полными правами. Рядовому бухгалтеру эти команды недоступны, и это осознанное ограничение: массовая замена ссылок — административная операция.

Итог

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

Для объединения дублей используйте «Поиск и замена значений», для точечной замены по условию — «Групповое изменение реквизитов». Перед операцией делайте резервную копию, после — проверяйте отсутствие ссылок на старую карточку, корректность договоров и сальдо в отчётах. Закрытые периоды и базы с обменами требуют отдельного согласования.