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