Разрыв связи между документами в 1С 8.3: основание, оплата, подчинённость
Содержание
Чтобы отвязать документ в 1С 8.3, откройте тот документ, который ссылается на другой (подчинённый), и очистите в нём поле со ссылкой: «Основание», «Счёт на оплату», «Договор», строку в табличной части. После записи связь исчезнет из структуры подчинённости. Если документ проведён, перепроведите его, чтобы пересчитались движения.
Отдельной кнопки «Отвязать» в типовых конфигурациях нет. Связь в 1С — это всегда реквизит одного документа, который хранит ссылку на другой. Найти этот реквизит и есть вся работа. Ниже — где он лежит в типичных случаях и что делать, если поле недоступно для правки.
Откуда берутся связи между документами
Пользователь видит связь в двух местах: в отчёте «Структура подчинённости» и в сообщении «Объект не может быть удалён, на него есть ссылки». Под капотом это одно и то же — ссылочный реквизит.
Связь возникает тремя путями:
- 🔗 Ввод на основании. Создали реализацию из счёта на оплату — в реализации заполнилось поле со ссылкой на счёт.
- ✍️ Ручной выбор. Бухгалтер сам выбрал счёт в платёжке или заказ в поступлении.
- ⚙️ Автоматическое заполнение. Счёт-фактуру программа создаёт сама и записывает в неё ссылку на реализацию или поступление.
Направление связи важно. Пример: счёт на оплату № 15 и реализация № 42, введённая на его основании. Ссылку на счёт хранит реализация, а в самом счёте никакого поля с номером 42 нет. Подчинённый документ знает о «родителе», а «родитель» о подчинённом — нет. Поэтому отвязывают всегда со стороны подчинённого: правят тот документ, который был введён позже.
Структуру подчинённости в БП 3.0 открывает кнопка с иконкой иерархии в командной панели документа, а также команда «Структура подчинённости» в меню Ещё. В отчёте видно дерево: что введено на основании этого документа и на основании чего введён он сам.
Связь и движения — разные вещи
Часто под «отвязать документ» понимают ещё и отвязку от проводок. Это другая операция — отмена проведения. Ссылки при ней остаются, исчезают только записи в регистрах.
| Что хотите убрать | Что сделать | Что останется |
|---|---|---|
| Ссылку на документ-основание | Очистить реквизит в подчинённом документе | Движения обоих документов |
| Проводки и движения | Ещё → Отменить проведение | Документ и все его ссылки |
| Документ целиком | Пометить на удаление, затем удалить помеченные | Ничего, если на него нет ссылок |
Как отвязать документ через форму: четыре частых случая
Реализация или поступление, введённые на основании
- Откройте подчинённый документ (например, реализацию).
- Найдите поле со ссылкой на основание. В реализации БП 3.0 это поле счёта на оплату в шапке или на вкладке с дополнительными реквизитами.
- Нажмите кнопку очистки поля (крестик справа) или выделите значение и нажмите
Shift+F4. - Нажмите
Провести и закрыть. - Откройте структуру подчинённости бывшего основания и убедитесь, что документа там нет.
Если поля не видно, загляните в Ещё → Изменить форму: часть реквизитов в типовых формах скрыта по умолчанию.
Оплата, привязанная к счёту или реализации
В банковских и кассовых документах БП 3.0 связь живёт в табличной части «Расшифровка платежа». Там два места:
- 📄 колонка счёта на оплату — для анализа оплат по счетам;
- 💰 способ погашения задолженности:
Автоматически,По документуилиНе погашать. При варианте «По документу» в строке указан конкретный документ расчётов.
Чтобы отвязать платёж от реализации, поставьте способ погашения «Автоматически» — программа закроет долг по очерёдности. Или выберите «По документу» и укажите другую реализацию. Колонку счёта на оплату можно просто очистить.
После перепроведения проверьте Отчёты → Оборотно-сальдовая ведомость по счёту по 62 или 60 с детализацией по документам расчётов. Сумма должна «переехать» на нужный документ.
Счёт-фактура, созданный не к тому документу
Счёт-фактура ссылается на свой документ-основание. Если программа создала его не к той реализации, менять основание у существующего счёта-фактуры обычно хуже, чем пересоздать:
- Пометьте ошибочный счёт-фактуру на удаление.
- Откройте правильную реализацию и создайте счёт-фактуру из её формы (ссылка внизу формы документа).
- Проверьте номер: удалённый счёт-фактура уже занял номер в нумерации.
Если счёт-фактура уже отправлен покупателю или попал в сданную декларацию по НДС, удалять его нельзя — правьте через корректировочный или исправительный документ.
Строка в табличной части
Некоторые документы держат несколько оснований сразу: сводный счёт-фактура, акт сверки, авансовый отчёт со списком выданных авансов. Тут отвязка — удаление строки табличной части. Выделите строку, нажмите Delete, запишите и перепроведите документ.
Перепроведение после разрыва связей: по одному и группой
Очистили ссылку — движения подчинённого документа пересчитаются только при перепроведении. Зачастую этого мало. Если связь влияла на взаиморасчёты или себестоимость, «поехали» и последующие документы.
Когда нужно перепроводить группу:
- 📦 отвязали поступление от заказа, а товар по нему уже списан реализациями;
- 💳 переписали оплаты на другие документы расчётов за прошедшие месяцы;
- 📅 правки затронули закрытый месяц.
В БП 3.0 для этого есть обработка «Групповое перепроведение документов», её команда находится в разделе Операции. Она проводит документы заново в хронологическом порядке, поэтому остатки и взаиморасчёты пересчитываются последовательно, а не вразнобой. Порядок:
- Укажите период — от даты самого раннего изменённого документа до текущей даты.
- Сохраните резервную копию базы.
- Запустите перепроведение и дождитесь окончания. На крупной базе это занимает от десятков минут до нескольких часов.
- После обработки заново выполните «Закрытие месяца» за затронутые периоды.
Перепроведение идёт под нагрузкой на базу. Запускайте его вне рабочего времени: пользователям, которые работают в это время с теми же документами, программа будет выдавать ошибки блокировки.
Если проверка показывает ошибки (не хватает остатков, не заполнены счета учёта), обработка их выводит списком. Документы с ошибками остаются непроведёнными, их надо поправить вручную и провести.
Что мешает отвязать документ: даты запрета, блокировки, права
Дата запрета изменения
Самая частая причина, почему поле не редактируется или документ не записывается, — закрытый период. В БП 3.0 даты запрета включаются в разделе Администрирование, в настройках пользователей и прав. Там же видно, до какой даты закрыт период и для каких пользователей.
Порядок действий:
- Согласуйте изменение с главным бухгалтером: правка закрытого периода меняет данные уже сданной отчётности.
- Временно сдвиньте дату запрета на день раньше даты документа.
- Отвяжите документ, перепроведите связанные документы.
- Верните дату запрета на место.
Блокировка объекта другим пользователем
Если документ открыт у коллеги, программа не даст его записать и сообщит о блокировке объекта. Попросите коллегу закрыть документ. Если сеанс «завис», администратор может посмотреть активных пользователей: Администрирование → Обслуживание → Активные пользователи.
Завершение чужого сеанса обрывает работу человека без сохранения. Сначала позвоните или напишите ему, а принудительно завершайте сеанс только когда он подтвердил, что сохранил всё нужное.
Права доступа
Изменять проведённые документы может не каждый. Типичная ситуация: менеджер по продажам вводит счета и реализации, но править проведённые оплаты ему не положено. Если поле серое, а даты запрета нет, проверьте профиль групп доступа пользователя. Решение — выполнить отвязку от имени пользователя с полными правами или выдать нужную роль на время.
Документ проведён и закрыт регламентными операциями
Некоторые документы программа связывает сама при закрытии месяца, например расчёт себестоимости. Отвязать их вручную нельзя и не нужно: отмените «Закрытие месяца» за период, внесите правки, закройте месяц заново.
Массовая отвязка и правка таблиц базы данных
Когда ссылок сотни, ручная правка не вариант. Есть три пути — от безопасного к рискованному.
| Способ | Когда подходит | Риски |
|---|---|---|
| «Поиск и удаление дублей» | Нужно заменить один элемент или документ другим во всех ссылках | Замена необратима без резервной копии |
| Внешняя обработка на встроенном языке | Нужно очистить конкретный реквизит у выборки документов | Ошибка в коде затронет все документы выборки |
| Прямой SQL-запрос к таблицам СУБД | Не подходит для рабочей базы | Нарушение целостности, ошибки при обновлении, потеря данных |
Поиск и удаление дублей
Обработка входит в БСП и есть в БП 3.0, ЗУП 3.1 и УТ 11: Администрирование → Обслуживание, группа «Корректировка данных». Она показывает все места использования объекта и заменяет ссылки на выбранный оригинал. Для отвязки документов подходит, когда ошибочный документ надо подменить правильным везде сразу.
Обработка на встроенном языке
Шаблон для внешней обработки, которая очищает реквизит у всех документов, ссылающихся на заданный. Имена документа и реквизита замените на свои — их видно в Конфигураторе в дереве метаданных.
&НаСервереБезКонтекста
Процедура ОтвязатьНаСервере(ДокументОснование)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.ИмяДокумента КАК Док
|ГДЕ
| Док.ИмяРеквизита = &Основание
| И НЕ Док.ПометкаУдаления";
Запрос.УстановитьПараметр("Основание", ДокументОснование);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
ДокОбъект.ИмяРеквизита = Документы.ИмяДокументаОснования.ПустаяСсылка();
Если ДокОбъект.Проведен Тогда
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Запись в режиме проведения сразу пересчитывает движения. Если какой-то документ не проведётся (например, из-за остатков), обработка остановится с ошибкой — поправьте документ и запустите снова.
Сначала запустите обработку на копии базы. Перед этим сохраните выборку документов в таблицу, чтобы потом сверить результат.
Почему не стоит править таблицы СУБД напрямую
В SQL-таблицах 1С ссылки хранятся в двоичном виде, а имена таблиц и полей обезличены (_Document123, _Fld456). Запрос в обход платформы не вызывает проверки, не пересчитывает движения и не обновляет зависимые регистры. Результат — расхождения в отчётах, которые потом ищут неделями.
Перед любой массовой правкой сделайте резервную копию базы и проверьте результат на копии. Для файловой базы это выгрузка в .dt через Конфигуратор → Администрирование → Выгрузить информационную базу, для серверной — бэкап средствами СУБД.
Ошибки при отвязке документов
- 🧾 Очистили основание, но не перепровели. Ссылки нет, а движения по взаиморасчётам остались прежними. Отчёты показывают долг по документу, которого уже «не касается» оплата.
- 📅 Правка в закрытом периоде без перезакрытия месяца. Себестоимость и финансовый результат остаются рассчитанными по старым данным.
- 🗑 Удалили основание раньше подчинённых. Программа не даст удалить объект со ссылками, но если объект удалили непосредственно, без контроля ссылок (это доступно только администратору), в подчинённых останутся битые ссылки вида
<Объект не найден>. - 🔁 Отвязали оплату от счёта, но не от реализации. Колонка счёта очищена, а способ погашения «По документу» продолжает закрывать прежнюю реализацию.
- 📤 Правка документов, по которым уже сдана отчётность. Изменение суммы взаиморасчётов или НДС в сданном периоде требует уточнённой декларации.
Можно ли отвязать документ, не отменяя проведение?
Что делать с битой ссылкой «Объект не найден»?
Администрирование → Тестирование и исправление) — запускайте его только на копии и при монопольном доступе к базе.