Как правильно выполнить свертку взаиморасчетов в 1С:УТ 10.3 при ведении учета по документам расчетов?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Свертка информационной базы в 1С:Управление торговлей 10.3 — это стандартная, но технически сложная процедура. Одной из самых острых проблем при этом является перенос остатков по взаиморасчетам. Если в договорах с контрагентами установлена настройка "Вести расчеты по документам расчетов", типовой механизм свертки часто создает ситуацию, при которой старые документы (Реализации, Поступления, Платежные поручения) невозможно удалить, так как на них ссылаются документы ввода остатков. В итоге база практически не уменьшается в объеме, а "хвосты" тянутся в новый период.

В данной статье мы разберем, как разорвать эту связь, навести порядок в регистрах и корректно перенести задолженность, не сохраняя лишний балласт в системе.

Причина проблемы: детализация до документа

Проанализируем ситуацию: когда в договоре стоит флаг Вести расчеты по документам расчетов, система требует, чтобы каждое движение в регистрах взаиморасчетов было привязано к конкретной сделке или документу оплаты. При автоматической свертке программа просто берет текущие остатки и подставляет в качестве "документа расчетов" старые торговые документы. Поскольку на эти документы теперь ссылаются новые записи ввода остатков, их нельзя пометить на удаление и физически стереть из базы. Рассмотрим способы решения этой проблемы.

Решение 1: Использование технического объекта «Документ расчетов (ручной учет)»

Самый правильный и методически верный способ в УТ 10.3 — это замена ссылок на старые торговые документы специальным универсальным объектом. Разберем по шагам, как это работает:

  1. В конфигурации существует документ ДокументРасчетовСКонтрагентом (в интерфейсе он часто называется "Документ расчетов с контрагентом (ручной учет)").
  2. Вместо того чтобы в документе ВводОстатковПоВзаиморасчетам указывать старую «Реализацию товаров и услуг», мы создаем один или несколько таких технических документов.
  3. Если бухгалтерии важно видеть "старение" дебиторской задолженности, мы создаем несколько технических документов с датами реального возникновения долга. Если достаточно общей суммы — создаем один документ на общую сумму остатка по договору.
  4. После того как во всех вводах остатков ссылки заменены на ДокументРасчетовСКонтрагентом, старые документы становятся свободными от ссылок и их можно безболезненно удалить.

Решение 2: Изменение детализации учета в договорах

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

Суть метода заключается в переходе на учет "По договору в целом". Для этого в старой базе до даты свертки необходимо:

  1. Создать новые договоры с видом «По договору в целом» или программно изменить текущие (что сложнее из-за наличия движений).
  2. Выполнить переброску остатков с аналитики по документам на общую аналитику договора с помощью документа КорректировкаДолга.
  3. При свертке остатки лягут на чистый договор без требования указывать документ-основание.

Важно: этот метод лишит вас возможности автоматически отслеживать, по какой именно накладной пришла оплата, но решит проблему технической чистоты базы.

Решение 3: Схлопывание остатков в регистрах перед сверткой

Часто документы не удаляются потому, что по регистрам висит одновременно и «плюс», и «минус» (например, аванс и долг), которые не были зачтены вовремя. Проанализируем ситуацию в регистрах накопления. В УТ 10.3 за расчеты отвечают:

Перед сверткой крайне важно запустить обработку "Проведение взаимозачета" или воспользоваться документом КорректировкаДолга с операцией "Проведение взаимозачета". Если сальдо по контрагенту на дату свертки станет нулевым (схлопнутся авансы и долги), то свертка вообще не создаст документов по этому контрагенту, и вся история успешно удалится.

Программный подход: Создание ДРК (Документов расчетов)

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


// Логика подмены документов расчетов на технические
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ ДокументРасчетов ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаСвертки, )";
Результат = Запрос.Выполнить().Выгрузить();

Для Каждого Строка Из Результат Цикл
    // Создаем новый технический документ
    НовыйДРК = Документы.ДокументРасчетовСКонтрагентом.СоздатьДокумент();
    НовыйДРК.Дата = Строка.ДокументРасчетов.Дата;
    НовыйДРК.Организация = Организация;
    НовыйДРК.Контрагент = Строка.ДокументРасчетов.Контрагент;
    НовыйДРК.ДоговорКонтрагента = Строка.ДокументРасчетов.ДоговорКонтрагента;
    НовыйДРК.Записать();
    
    // Далее в документах Ввода остатков заменяем старую ссылку на НовыйДРК.Ссылка
КонецЦикла;

Ловушка НДС: Что нельзя удалять?

Выясним причину, по которой даже после успешной замены документов расчетов могут возникнуть проблемы. Это НДС с авансов. Если вы плательщик НДС, программа должна знать, по какому платежному документу был начислен НДС с аванса, чтобы при отгрузке принять его к вычету.

Если вы свернете авансы просто в ДокументРасчетовСКонтрагентом, связь со счетом-фактурой на аванс может разорваться. В этом случае мы рекомендуем:

Подводим итоги

Чтобы свертка базы УТ 10.3 прошла успешно и база реально уменьшилась в размере, придерживайтесь следующей стратегии:

  1. Предварительная очистка: Максимально схлопните встречные задолженности (авансы и долги) корректировками долга до даты свертки.
  2. Техническая замена: Используйте ДокументРасчетовСКонтрагентом вместо реальных накладных при вводе остатков.
  3. Проверка аналитики: Убедитесь, что по всем трем регистрам взаиморасчетов остатки совпадают, иначе свертка сформирует некорректные движения.
  4. Удаление объектов: После формирования остатков используйте обработку "Удаление помеченных объектов". Если объект не удаляется — используйте "Поиск ссылок", чтобы найти, где еще задействован старый документ (например, в установке цен или заказах).

Такой системный подход позволит вам получить чистую базу с актуальными остатками и корректно работающими механизмами зачета оплат в будущем.

← На главную