Как убрать лишнего контрагента из базы 1С без потери истории

· 10 мин

Содержание

Напрямую удалить клиента из 1С 8.3 нельзя: сначала контрагента помечают на удаление, а потом запускают обработку Администрирование → Обслуживание → Удаление помеченных объектов. Она проверяет, нет ли на клиента ссылок в документах. Если ссылок нет — запись исчезает из базы. Если есть — программа выведет список документов, и удаление не пройдёт, пока вы с этими ссылками не разберётесь.

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

Ниже — как это сделать в типовых конфигурациях на платформе 8.3 с интерфейсом «Такси»: Бухгалтерии 3.0, ЗУП 3.1, Управлении торговлей 11 и ERP.

Почему клиента нельзя стереть одним нажатием

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

Поэтому удаление разбито на два шага:

  • 🔸 Пометка на удаление — вы помечаете запись как кандидата на удаление. Она остаётся в базе, перечёркнутая значком, и продолжает работать.
  • 🔸 Удаление помеченных объектов — отдельная процедура, которая проверяет ссылки и физически убирает запись, если удалять её безопасно.

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

В Управлении торговлей и ERP «клиент» — это не одна запись, а связка: партнёр (кого вы обслуживаете) и контрагент (юрлицо или ИП, с кем оформляете документы). У одного партнёра может быть несколько контрагентов. Чтобы убрать клиента полностью, пометьте и партнёра, и привязанных к нему контрагентов.

Помечаем клиента на удаление и очищаем базу

Стандартный путь работает в любой типовой конфигурации. Разберём по шагам.

  1. Откройте список контрагентов. В Бухгалтерии 3.0 это Справочники → Контрагенты, в УТ 11 и ERP — раздел с партнёрами и контрагентами (CRM и маркетинг или Продажи).
  2. Найдите нужного клиента. Выделите строку.
  3. Нажмите клавишу Delete либо команду Ещё → Пометить на удаление в командной панели списка. Запись перечеркнётся.
  4. Перейдите в обработку удаления: Администрирование → Обслуживание → Удаление помеченных объектов.
  5. Выберите режим. Автоматически удалить все помеченные уберёт сразу всё помеченное в базе. Выборочно — покажет список, где можно оставить галочки только на нужных контрагентах.
  6. Нажмите Удалить. Программа проверит ссылки и либо удалит клиента, либо покажет, что мешает.

В УТ 11 и ERP раздел обслуживания находится в НСИ и администрирование; в вашей версии название подраздела может немного отличаться, но обработка удаления помеченных объектов есть во всех типовых.

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

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

Если ссылок на клиента нет, на этом всё — запись удалена. Если программа вывела список документов, читайте следующий раздел.

Что делать, если на клиента есть ссылки в документах

Это самая частая ситуация. Программа пишет что-то вроде Удаление невозможно, так как на объект есть ссылки, и показывает список: накладные, счета, договоры, платёжки. Пока хотя бы одна ссылка жива, клиент не удалится.

Варианты действий зависят от того, что это за ссылки.

На клиента ссылаются документы — как поступить?

Чтобы посмотреть, где именно используется контрагент, не обязательно запускать удаление. В карточке клиента или в списке есть команда Ещё → Отчёт по объекту (в разных конфигурациях — «Связанные документы» или аналог). Она покажет все ссылки на запись. По этому списку сразу видно, можно удалять клиента или нет.

Слияние дублей: переносим историю на нужного контрагента

Если один и тот же клиент заведён дважды (например, с разным написанием ИНН или названия), удалять дубль «в лоб» нельзя — на него уже навешаны документы. Сначала надо перенести все ссылки на основную запись, и только потом удалить освободившийся дубль.

Для этого в типовых конфигурациях есть обработка Поиск и удаление дублей. Открывается из списка контрагентов командой Ещё → Поиск и удаление дублей либо из раздела обслуживания администрирования.

Порядок работы:

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

Главное преимущество: вся история (документы, взаиморасчёты, движения) остаётся — она просто переподчиняется основному контрагенту. Ничего не теряется.

Есть и более мощный инструмент — внешняя обработка Поиск и замена значений (ПоискИЗаменаЗначений). Её применяют специалисты, когда нужно заменить ссылки на один объект ссылками на другой по всей базе, а не только в рамках поиска дублей. Открывается через Файл → Открыть в режиме «Предприятие»; для этого в правах должно быть разрешено интерактивное открытие внешних обработок. Это ручной инструмент для сложных случаев — на рядовой задаче хватает штатного Поиска и удаления дублей.

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

Почему удалять клиента напрямую через SQL нельзя

Иногда советуют «просто удалить строку в таблице MS SQL или PostgreSQL». Делать так нельзя ни на рабочей базе, ни на копии, которую вы потом вернёте в работу.

Причин несколько:

  • 🔸 Структура таблиц не документирована. 1С не гарантирует, что имена таблиц и полей сохранятся между релизами, и не публикует их как часть поддерживаемого интерфейса. То, что сработало вчера, завтра может лежать в другой таблице.
  • 🔸 Рушится ссылочная целостность. Прямой DELETE убирает запись из одной таблицы, но ссылки на неё в документах и регистрах остаются. База начнёт выдавать «битые ссылки».
  • 🔸 Разъезжаются итоги и регистры. Суммы по счетам, остатки, взаиморасчёты пересчитываются механизмами платформы. SQL их не трогает — цифры в отчётах перестанут сходиться.
  • 🔸 Теряется поддержка. После ручного вмешательства в СУБД вендор и франчайзи вправе отказать в разборе проблем с базой.

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

Массовое удаление клиентов: как пометить много записей сразу

Когда накопились десятки тестовых или устаревших контрагентов, помечать их по одному долго. Есть способы быстрее.

Выделение группой. В списке контрагентов зажмите Ctrl и кликайте нужные строки по отдельности либо Shift — чтобы выделить диапазон. Затем Ещё → Пометить на удаление пометит все выделенные записи разом. После этого — обработка удаления помеченных.

Пометка по условию. Если нужно убрать клиентов по признаку (например, всех из определённой группы справочника), удобнее сначала отфильтровать список по этому признаку, выделить всё (Ctrl+A) и пометить одной командой.

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

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

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

Удаление клиента в облачной 1С (1С:Fresh)

В облаке 1cfresh.com нет доступа к конфигуратору и к серверу СУБД. Поэтому SQL, внешние обработки и прямое вмешательство в базу недоступны в принципе. Но штатное удаление работает полностью.

Что доступно в облаке:

  • ✅ Пометка контрагента на удаление клавишей Delete или через Ещё.
  • ✅ Обработка Администрирование → Обслуживание → Удаление помеченных объектов.
  • ✅ Поиск и удаление дублей — если он включён в вашу конфигурацию.

Чего в облаке нет:

  • ❌ Запуска произвольных внешних обработок вроде Поиска и замены значений — открытие внешних файлов обработок в сервисе по умолчанию закрыто.
  • ❌ Доступа к таблицам базы данных.

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

Когда клиента лучше не удалять, а архивировать

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

По закону данные бухгалтерского и налогового учёта хранят не меньше пяти лет: это НК РФ (ст. 23) и Федеральный закон № 402-ФЗ «О бухгалтерском учёте» (ст. 29). Удалив контрагента вместе с первичкой, вы нарушите требования к хранению и потеряете историю расчётов, которая пригодится при сверке или проверке.

Поэтому вместо удаления клиента «на пенсии» убирают из активной работы:

  • 📁 Отдельная группа. Создайте в справочнике контрагентов группу вроде «Архив» или «Не работаем» и перенесите туда неактивных клиентов. В быстром выборе при вводе документов они мешать перестанут.
  • 📁 Отбор в списке. Настройте в списке контрагентов отбор по группе, чтобы по умолчанию видеть только действующих.
  • 📁 Свёртка базы. Если цель — разгрузить базу от старых документов целиком, это делают не удалением контрагентов, а свёрткой: специалист формирует остатки на дату и убирает движения за закрытые периоды. После свёртки часть контрагентов освобождается от ссылок, и их уже можно удалить штатно. Процедуру всегда выполняют на копии с предварительным бэкапом.

Удаление оправдано только для «мусора»: тестовых записей, опечаток, дублей и клиентов, которые так и не дошли до первой сделки.

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

Куда денутся документы, если удалить клиента?
Если на клиента есть ссылки, программа его просто не удалит и покажет список документов. Удалить контрагента получится, только когда ни одного документа с ним не останется. Насильно, вместе с документами, штатный механизм удалить не даст.
Можно ли вернуть удалённого контрагента?
Снять пометку можно в любой момент до запуска удаления помеченных объектов. После того как обработка физически удалила запись, вернуть её можно только восстановлением базы из резервной копии.
Почему пометка стоит, а при удалении контрагент не исчезает?
Значит, на него есть живые ссылки. Посмотрите их через Ещё → Отчёт по объекту (или «Связанные документы») — программа покажет, какие документы держат запись.
Чем «Поиск и удаление дублей» отличается от обычного удаления?
Обычное удаление требует, чтобы ссылок не было вовсе. Поиск дублей сначала переносит все ссылки с дубля на основную запись и только потом удаляет освободившийся дубль. Историю вы при этом не теряете.
Удалится ли клиент, если он использован только в закрытом периоде?
Нет. Документы закрытого периода остаются ссылками на контрагента, и трогать их нельзя. Такого клиента архивируют, а не удаляют.

Источники

  • Налоговый кодекс РФ, ст. 23, п. 1, пп. 8 — срок хранения данных учёта и документов
  • Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учёте», ст. 29 — хранение документов