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