Справочники и Данные · 10 мин
Как объединить договоры в 1С без потери данных
Как объединить договоры контрагентов в 1С: поиск дублей, перенос документов, замена ссылок, типичные ошибки и проверка результата. Пошаговая инструкция для бухгалтера.
Дубли договоров появляются в базе 1С почти неизбежно: контрагента загрузили дважды из выписки, менеджер создал новый договор вместо поиска существующего, при обмене с сайтом пришла «свежая» карточка. В результате расчёты с одним партнёром размазаны по двум-трём договорам, акты сверки не сходятся, а отчёты по задолженности показывают искажённую картину.
Объединить договоры — значит выбрать один «правильный» договор, перенести на него все документы, проведённые по дублям, и вывести лишние элементы из оборота. В типовых конфигурациях 1С (Бухгалтерия предприятия, Управление торговлей, ERP) для этого есть штатные механизмы, не требующие программирования.
Сложность задачи зависит от того, сколько документов ссылается на дубли и совпадают ли ключевые реквизиты: вид договора (с покупателем, с поставщиком, прочий), валюта, организация. Если реквизиты различаются, простое объединение может быть невозможно или потребует корректировки учётных данных.
Когда объединение договоров оправдано, а когда — нет
Объединять договоры имеет смысл только если они отражают одни и те же хозяйственные отношения: один контрагент, одна организация от вашей стороны, один вид договора и одна валюта расчётов. Типичный случай — два элемента справочника «Договор № 5 от 12.01» и «Договор 5 от 12.01.», созданные разными пользователями.
Нельзя объединять договоры, которые юридически являются разными соглашениями, даже если они заключены с одним контрагентом. Например, договор поставки и договор займа с одной фирмой — это разные основания расчётов, и их слияние разрушит аналитику взаиморасчётов.
Как выбрать действие
Подготовка: что проверить перед объединением
Первый шаг — резервная копия. Замена ссылок затрагивает все документы, где указан договор-дубль, и откатить массовую операцию без копии базы практически невозможно. В файловой базе достаточно скопировать каталог с файлом 1Cv8.1CD, в клиент-серверной — сделать выгрузку через конфигуратор или средствами СУБД.
Далее определите, какой договор останется основным. Критерии выбора: у договора корректно заполнены реквизиты (номер, дата, наименование), он используется в большинстве документов, он не помечен на удаление и не архивный. Обычно оставляют тот элемент, который заведён раньше или лучше заполнен.
Проверьте состав документов по каждому дублю. Удобный способ — отчёт «Ведомость расчётов с контрагентами» или универсальный отчёт по документам с отбором по договору. Зафиксируйте обороты и сальдо по каждому договору до объединения: эти цифры понадобятся для контроля после операции.
Способ 1. Объединение через «Поиск и удаление дублей»
Штатная обработка «Поиск и удаление дублей» находится в разделе «Администрирование → Обслуживание» (в некоторых конфигурациях — «НСИ и администрирование → Поддержка и обслуживание»). Она работает со справочником «Договоры контрагентов» так же, как с контрагентами и номенклатурой.
Откройте обработку, выберите область поиска «Договоры контрагентов». Настройте правила сравнения: по наименованию (с учётом или без учёта регистра), по номеру и дате договора, по владельцу-контрагенту. Чем строже правила, тем меньше ложных совпадений, но и тем больше дублей обработка пропустит.
После поиска программа покажет группы найденных дублей. В каждой группе отметьте основной элемент — именно он останется в базе. Остальные будут заменены на основной во всех объектах и помечены на удаление. Запустите обработку и дождитесь завершения: при большом числе документов операция может занять заметное время.
- 1Сделайте резервную копию базы
- 2Откройте Администрирование → Обслуживание → Поиск и удаление дублей
- 3Выберите справочник «Договоры контрагентов» и задайте отбор по контрагенту
- 4Настройте правила сравнения: номер, дата, наименование
- 5Запустите поиск и проверьте найденные группы вручную
- 6Отметьте основной договор в каждой группе
- 7Выполните объединение и проверьте сальдо расчётов
Способ 2. Ручное объединение через замену ссылок
Если обработка дублей не находит пару (например, наименования сильно различаются) или вы хотите полный контроль над процессом, объедините договоры вручную. Суть метода — перебросить все документы с лишнего договора на основной, а затем пометить лишний на удаление.
Найдите все документы по договору-дублю. Быстрый способ: откройте карточку договора и используйте команду «Ещё → Найти в списках» либо постройте отчёт по взаиморасчётам с отбором по этому договору. В каждом документе замените договор на основной и перепроведите документ.
Альтернатива ручному перебору — обработка «Поиск и замена значений» (входит в состав стандартных подсистем многих конфигураций или доступна как внешняя обработка с диска ИТС). В ней указываете, что заменять (договор-дубль), на что заменять (основной договор) — программа сама проходит по всем ссылкам в базе, включая регистры и документы.
Что делать с закрытыми периодами
Документы в закрытых периодах перепроводить нежелательно — это может сдвинуть регламентированную отчётность. Если замена касается только аналитики справочника, а не сумм, риск минимален, но всё равно сравните оборотно-сальдовую ведомость по счетам расчётов до и после операции. При расхождениях откатите изменения из копии и разбирайте документы по одному.
Проверка результата после объединения
После завершения объединения сформируйте ведомость расчётов с контрагентом в целом по договорам. Сальдо по основному договору должно равняться сумме сальдо всех объединённых договоров до операции. Если раньше по одному дублю висел аванс, а по другому — долг, после объединения суммы должны корректно свернуться.
Проверьте, что договор-дубль больше не используется: откройте его карточку и выполните поиск ссылок на объект (в конфигураторе или через «Ещё → Поиск ссылок» в режиме предприятия). Ссылок быть не должно — тогда элемент можно окончательно удалить через «Удаление помеченных объектов».
Как проверить результат
Равно сумме сальдо всех дублей до объединения
Появилась разница или сальдо «разъехалось» по счетам
Поиск ссылок ничего не находит
Остались документы или регистры со старым договором
Формируется по основному договору, суммы совпадают
Документы выпадают из сверки или дублируются
Помечен на удаление и удалён после контроля
Остался активным и доступен для выбора в документах
Как не допустить новых дублей
Разовое объединение не решает проблему, если причины появления дублей сохраняются. Основные источники: ручное создание договоров без поиска существующих, загрузка выписок и документов из сторонних программ, обмены с сайтом или CRM, где договор идентифицируется по наименованию, а не по уникальному коду.
Практические меры: настройте контроль уникальности при вводе (в ряде конфигураций доступна проверка дублей по номеру и дате), регламентируйте правило именования договоров (единый формат «№ … от …»), а при обменах используйте в качестве ключа синхронизации уникальный идентификатор или стабильный номер, а не строку наименования.
Ограничения и частые вопросы
Штатные средства перекрывают большинство ситуаций, но есть границы. Обработка дублей не объединит элементы, если по ним настроены разные дополнительные соглашения, лимиты или графики оплаты — эти данные придётся переносить вручную. В старых конфигурациях на обычных формах обработка «Поиск и удаление дублей» может отсутствовать — там работает только ручная замена.
Что важно запомнить
Объединяйте только договоры одного контрагенты, вида и валюты. Перед операцией делайте копию базы и фиксируйте сальдо расчётов. Используйте «Поиск и удаление дублей» или замену ссылок, после — сверяйте сальдо и удаляйте дубль только при отсутствии ссылок на него.
FAQ
Можно ли объединить договоры разных контрагентов?
Нет. Договор всегда привязан к конкретному контрагенту, и переносить документы между юридически разными лицами нельзя — это исказит взаиморасчёты и акты сверки. Если контрагент сам задублирован, сначала объедините контрагентов, а затем разбирайтесь с их договорами.
Что будет с документами после объединения договоров?
Во всех документах ссылка на договор-дубль заменяется ссылкой на основной договор. Суммы, даты и товарные составы документов не меняются. Однако если документы перепроводятся, движения по регистрам могут пересчитаться по настройкам нового договора, поэтому сальдо нужно контролировать.
Обработка не находит дубли, хотя они точно есть. Что делать?
Ослабьте правила сравнения: уберите проверку по наименованию и оставьте, например, только номер договора и контрагента. Если и это не помогает, договоры могут различаться по виду или организации — такие пары обработка сознательно не предлагает объединять. Используйте ручную замену ссылок.
Нужно ли перепроводить документы после замены договора?
Если замена выполняется обработкой без открытия документов, перепроведение обычно не требуется — ссылка подменяется напрямую. Но если вы редактируете документы вручную, их нужно провести заново, чтобы движения по регистрам соответствовали новому договору.
Как удалить дубль, если программа пишет, что он используется?
Значит, на элемент остались ссылки — в документах, регистрах сведений или других объектах. Выполните поиск ссылок на объект, замените договор в найденных местах на основной, затем повторите удаление. Удаление помеченных объектов с контролем ссылочной целостности покажет конкретный список мешающих объектов.
Можно ли отменить объединение договоров?
Штатной команды отката нет. Единственный надёжный способ — восстановить базу из резервной копии, сделанной до операции. Поэтому копирование базы перед массовой заменой ссылок — обязательный шаг, а не рекомендация.