
В 1С нередко возникает ситуация, когда необходимо разорвать связь между документами для корректного отражения операций или устранения ошибок. Наиболее частые причины – отмена проведённой операции, корректировка данных или подготовка к повторной обработке.
Прямое удаление ссылок через интерфейс зачастую невозможно из-за ограничений системы и сохранения целостности данных. В таких случаях целесообразно использовать специальные приемы: отмену проведения документа, ручное снятие отметок ссылок в регистрах или использование встроенных обработок для снятия взаимосвязей.
Одним из наиболее надёжных методов является отмена проведения документа с последующим изменением или удалением, что гарантирует корректность базы данных. В ряде конфигураций возможен вариант с использованием функций конфигуратора для поиска и очистки ссылок, однако это требует аккуратности и понимания структуры.
Этот материал подробно рассматривает конкретные способы удаления связей между документами, включая инструкции по работе с интерфейсом и обходные решения, позволяющие минимизировать риски потери данных и обеспечить прозрачность учета.
Как найти документы с установленными связями в 1С

Для выявления документов с установленными связями в 1С используют инструменты поиска и фильтрации по ссылкам и реквизитам, отвечающим за связь между объектами.
- Откройте нужный справочник или журнал документов, где требуется найти связанные записи.
- Используйте фильтры по реквизитам типа «Ссылка», «СвязанныйДокумент» или другим полям, хранящим идентификаторы связанных документов.
- В конфигураторе выполните запрос к базе данных с использованием языка запросов 1С (например, SELECT из регистра сведений или таблиц документов с условием на поле связи).
- Пример запроса для поиска документов, связанных с конкретным документом:
ВЫБРАТЬ Документ.Ссылка, Документ.Дата ИЗ Документ.ЗаказПокупателя КАК Документ ГДЕ Документ.СвязанныйДокумент = &СсылкаДокумента
- В интерфейсе 1С используйте функционал “Поиск по связям” или “Связанные документы”, если он предусмотрен для вашей конфигурации.
- Для массовой проверки связей создайте обработку, которая перебирает документы и фиксирует наличие заполненных реквизитов связи.
Важный момент: связи могут храниться в регистрах сведений, журналах документов или в реквизитах табличных частей. Учитывайте структуру конфигурации при выборе метода поиска.
Метод разрыва связей через обработку «Разрыв связей между документами»
Обработка «Разрыв связей между документами» входит в состав стандартных поставок 1С:Предприятие (например, в конфигурациях УТ, УПП, ERP) и предназначена для удаления ссылок между документами без удаления самих документов. Это особенно полезно при корректировке цепочек движения товаров или перераспределении финансовых документов.
Чтобы использовать обработку, откройте ее через меню Все функции – Обработки – Сервис. В зависимости от конфигурации, путь может отличаться. Название может содержать уточнение: «для администратора» или «служебная».
После открытия выберите вид документа, из которого требуется удалить связи. Далее укажите период, за который нужно провести анализ. Программа отобразит список документов, содержащих ссылки на другие объекты системы.
Важно: перед выполнением обработки рекомендуется создать резервную копию базы, так как операция необратима и влияет на логику документов в цепочке.
Выделите нужные строки и нажмите кнопку Разорвать связи. При этом будут удалены ссылки типа «Документ основан на…», а также ссылки на регистры, обеспечивающие сквозной учет. Связанные документы при этом останутся в базе, но потеряют логическую связь между собой.
При необходимости массового разрыва связей используйте фильтры по организациям, ответственным или складам для сокращения выборки. Это снижает риск случайного удаления нужных связей.
Рекомендация: после выполнения обработки перепроведите документы вручную или через групповую обработку, чтобы обновить движения в регистрах без учета удалённых связей.
Использование ручного удаления ссылок в форме документа

В конфигурациях 1С, где предусмотрено отображение связанных объектов, ссылки можно удалить вручную прямо в форме документа. Для этого необходимо открыть форму нужного документа, перейти к реквизитам или табличным частям, где отображаются ссылки на другие объекты (например, заказы, счета, накладные), и воспользоваться функцией очистки или удаления элемента.
Если ссылка представлена в виде поля с типом «СправочникСсылка», «ДокументСсылка» или аналогичным, достаточно нажать на кнопку «X» (очистить), которая обычно присутствует справа от поля. При отсутствии кнопки очистки, следует убедиться, что в свойствах элемента управления в конфигураторе разрешена очистка (свойство «РазрешитьОчистку» должно быть установлено в Истина).
В случае, если ссылка содержится в табличной части, нужно выбрать соответствующую строку и удалить её через команду «Удалить» в контекстном меню либо кнопкой на панели. После этого необходимо записать документ, чтобы изменения вступили в силу.
Для сложных объектов, где ссылки формируются программно, ручное удаление может быть недоступно. В таких случаях следует временно отключить программную проверку заполненности ссылок (если предусмотрена), внести изменения вручную, затем включить проверку обратно.
Важно контролировать, чтобы удаление ссылки не нарушало бизнес-логику. Например, удаление ссылки на заказ из расходной накладной может привести к потере связанной аналитики или ошибок при проведении.
Удаление связей через редактирование регистра сведений
Связи между документами в 1С часто реализуются через регистры сведений, в которых хранятся ссылки на связанные объекты. Для удаления таких связей необходимо найти соответствующую запись в регистре и удалить её вручную или через обработку.
Откройте конфигуратор, перейдите в нужный регистр сведений. Например, если связь реализована через регистр «СвязанныеДокументы», откройте его содержимое в режиме 1С:Предприятие. Найдите запись, содержащую ссылку на нужный документ.
Используйте отбор по полям, содержащим ссылку на документ-источник или документ-приемник. Например, если поле «ДокументИсточник» содержит нужный объект, включите отбор и убедитесь в корректности найденной строки.
Удалите найденную строку. Это разорвёт связь между документами, не затрагивая сами объекты. При необходимости включите версионирование или сделайте резервную копию перед удалением для возможности отката.
Если записи создаются автоматически, проверьте наличие активных обработчиков событий. Отключите их временно, чтобы связь не восстанавливалась при следующем открытии документа.
Для массового удаления используйте пользовательскую обработку:
| 1 | Создайте внешнюю обработку с формой |
| 2 | Добавьте выборку по регистру сведений с отбором по нужному документу |
| 3 | В цикле удалите найденные записи с помощью метода Удалить() |
Проверьте результат через интерфейс или в режиме отладки. Убедитесь, что ссылки не отображаются в связанных документах или формах истории.
Как удалить связь, не нарушая целостность данных

Перед удалением связи необходимо точно определить тип связей: двунаправленные (обратные ссылки) или однонаправленные (реквизиты-ссылки). В 1С чаще всего используются ссылочные реквизиты, указывающие на другой документ. Удаление такой связи требует корректного обнуления поля без удаления самого объекта.
Шаг 1. Использование обработки «Групповое изменение реквизитов»
Откройте конфигуратор или интерфейс пользователя с правами администратора. Запустите стандартную обработку «Групповое изменение реквизитов». Выберите нужный тип документа, установите фильтр по значению реквизита-ссылки, затем задайте новое значение – Неопределено. Это безопасно удалит связь без физического удаления данных.
Шаг 2. Проверка ссылочной целостности через «Поиск ссылок»
Используйте стандартную обработку «Поиск ссылок на объект». Если удаляемый объект фигурирует в других документах или регистрах, система отобразит все зависимости. Убедитесь, что ссылки не критичны для проводок или аналитики, иначе удаление приведёт к ошибкам расчётов.
Шаг 3. Корректировка движений
Если документ участвует в движениях регистров, требуется отмена проведения. После этого произведите очистку ссылок, затем выполните перепроведение при необходимости. Без этого возможны несоответствия в отчетах и регистрах накопления.
Шаг 4. Проверка результатов
Воспользуйтесь внешней обработкой или запросом для контроля: выполните выборку объектов, где реквизит должен быть пустым. Это гарантирует отсутствие остаточных связей.
Важно: не используйте прямое удаление записей из базы через SQL – это нарушает целостность метаданных и может вызвать сбои в обработке транзакций. Всегда работайте средствами платформы 1С или через безопасные внешние обработки.
Автоматизация удаления связей с помощью сценариев 1С

Удаление связей между документами можно реализовать через встроенный язык 1С:Предприятие с использованием механизмов обработки данных. Это особенно актуально для комплексных конфигураций, где ручной подход неэффективен.
Для начала необходимо определить объекты, между которыми существуют ссылки. Связи обычно хранятся в реквизитах типа «ДокументСсылка» или «СправочникСсылка». Для поиска таких связей используйте метод Метаданные.ВсеОбъекты() с фильтрацией по типам реквизитов.
Создайте обработку, которая выполняет обход всех документов, в которых возможно наличие ссылок на удаляемый объект. Пример цикла:
Для каждого Объект из Метаданные.ВсеОбъекты() Цикл
Если Объект.Тип = Тип("ДокументОбъект") Тогда
Для каждого Реквизит из Объект.Реквизиты Цикл
Если Реквизит.Тип = Тип("ДокументСсылка.ИмяДокумента") Тогда
// Обработка удаления связи
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
После нахождения ссылки, значение реквизита следует обнулить или установить в значение по умолчанию. Для этого необходимо получить объект документа на запись:
Док = Документы.ИмяДокумента.НайтиПоСсылке(Ссылка); Если Не Док.Пустая() Тогда ОбъектДок = Док.ПолучитьОбъект(); ОбъектДок.СвязанныйДокумент = Неопределено; ОбъектДок.Записать(); КонецЕсли;
В конфигурациях с блокировкой изменения проведённых документов потребуется предварительно отменить проведение и заново провести документ после удаления связи.
Автоматизация также может включать регистрацию изменений в регистре изменений или создание лог-файла, содержащего идентификаторы изменённых объектов. Это упрощает аудит и восстановление данных при ошибках.
Рекомендуется выполнять скрипт в режиме управляемого приложения с включённой блокировкой транзакций, чтобы избежать одновременного изменения данных другими пользователями.
Вопрос-ответ:
Можно ли удалить связь между документами без программирования, через интерфейс 1С?
Да, в большинстве типовых конфигураций 1С предусмотрены способы удаления или отмены связей между документами через пользовательский интерфейс. Например, если документ создан на основании другого, его можно отменить через функцию «Отменить проведение» и удалить ссылку вручную в табличной части или реквизитах. Также в некоторых конфигурациях есть отдельные кнопки или действия, такие как «Разъединить» или «Удалить связь» в контекстном меню. Всё зависит от конкретной реализации.
Что будет, если удалить документ, который является основанием для другого?
Если удалить документ-основание, а документ, созданный на его основе, всё ещё существует, то возможны ошибки при работе с системой, особенно если в нём осталась ссылка на удалённый объект. В типовых конфигурациях 1С система обычно не позволит удалить такой документ без предупреждения. Поэтому сначала нужно разорвать связь между ними или удалить зависимый документ. Также может потребоваться снятие блокировки или ручная правка ссылки, если документ был создан с автозаполнением из основания.
Есть ли способ быстро найти все связанные документы перед удалением связи?
Да, можно использовать стандартную функцию «Связанные документы» (обычно доступна через кнопку или вкладку в форме документа). Она показывает, какие документы были созданы на основании текущего, и наоборот. Это позволяет оценить, какие связи существуют и какие из них можно безопасно удалить. Если такой функции нет, можно воспользоваться универсальным отчетом или запросами через консоль запросов, если у пользователя есть доступ к ним.
Можно ли удалить связь только частично — чтобы один документ больше не был связан, но остальные связи остались?
Да, в некоторых случаях это возможно. Например, если документ ссылается на несколько других в табличной части или в реквизитах, можно вручную удалить конкретную строку или очистить нужное поле. Главное — понимать, какие именно поля или ссылки участвуют в формировании связи, и аккуратно их редактировать. Однако, нужно учитывать, что в зависимости от конфигурации это может повлиять на расчёты, движения по регистрам и другие автоматизированные процессы.
Что делать, если удалить связь не получается — кнопки неактивны или система блокирует операцию?
В таких случаях сначала стоит проверить, нет ли ограничений прав доступа — возможно, пользователь не обладает достаточными полномочиями. Если с правами всё в порядке, стоит посмотреть, не проводится ли документ или не используется ли в других операциях. Иногда помогает отмена проведения и повторное открытие формы. В более сложных ситуациях может потребоваться временное отключение механизма автозаполнения или помощь специалиста, так как в некоторых конфигурациях связи устанавливаются автоматически через обработчики событий, и простое удаление не приводит к нужному результату.
