Ситуация, когда в 1С:Управление торговлей (УТ) за несколько лет накопились ошибки во взаиморасчетах, в то время как в 1С:Бухгалтерии (БП) учет ведется идеально, встречается достаточно часто. Особенно это характерно для компаний, совершивших переход с версии 10.3 на 11, где логика работы регистров кардинально изменилась. В этой статье мы подробно разберем, как реанимировать торговую базу, не перебивая документы за последние несколько лет, и какие инструменты 1С помогут нам в этом процессе.
Прежде чем приступать к лечению, давайте проанализируем, почему в УТ 11 возникает ситуация «расхождения» с бухгалтерией. В 1С:БП учет строится на проводках по счетам 60 и 62. В 1С:УТ 11.4 используется сложная система регистров накопления, таких как РасчетыСКлиентами, РасчетыСПоставщиками и их детализация по объектам расчетов. Основная причина «каши» — отсутствие ввода начальных остатков по дебиторке и кредиторке в момент запуска базы. Если оплаты (платежные поручения) загружаются и проводятся без привязки к конкретным объектам расчетов (заказам или накладным), программа не может «схлопнуть» долг, и суммы зависают на разных измерениях регистра.
Рассмотрим вариант, при котором мы не создаем новую базу, а исправляем текущую. Согласно правилам учета, инвентаризация расчетов должна проводиться минимум раз в год. В контексте 1С:УТ это означает использование документа СверкаВзаиморасчетов.
Разберем этот процесс по шагам:
ВзаимозачетЗадолженности или КорректировкаЗадолженности, где в качестве объекта расчетов указано пустое значение. Именно такие документы часто «разваливают» регистры, создавая обороты, которые не закрывают реальные долги.КорректировкаЗадолженности. Вместо того чтобы пытаться исправить первичку 2017 года, мы «схлопываем» текущее сальдо. Используем тип операции «Списание задолженности» для очистки зависших сумм или «Взаимозачет», чтобы перебросить долг с пустого объекта на реальный заказ или накладную.Если «мусора» слишком много, лучшим решением будет метод «отсечки». Мы принимаем решение, что с определенной даты (например, с начала нового квартала) данные в УТ будут соответствовать данным в БП. Рассмотрим, как это реализовать технически:
Шаг 1. Обнуление регистров. Нам необходимо очистить текущие остатки по взаиморасчетам в УТ 11, чтобы они не мешали новым данным. Это можно сделать с помощью документа КорректировкаРегистров, выбрав регистры:
РасчетыСКлиентамиРасчетыСПоставщикамиРасчетыСКлиентамиПоСрокамРасчетыСПоставщикамиПоСрокамШаг 2. Загрузка остатков из БП. Поскольку в бухгалтерии учет идеален, мы берем остатки по счетам 60 и 62 на дату отсечки. Сформируем в БП Оборотно-сальдовую ведомость по счету с максимальной детализацией (Контрагент, Договор, Документ расчетов).
Шаг 3. Ввод новых остатков в УТ. Воспользуемся помощником ВводНачальныхОстатков. Введем актуальную задолженность, которая подтверждена бухгалтерией. В качестве объекта расчетов в УТ можно указывать либо конкретные накладные (если они есть в базе), либо использовать технический объект «Первичный документ» для старых долгов.
Выясним причину, почему стандартные отчеты могут показывать неверные данные. В УТ 11.4 существует два режима ведения взаиморасчетов: «Онлайн» и «Оффлайн». Если у вас включен режим «Оффлайн», данные в отчетах обновляются только после выполнения регламентного задания.
Проверим выполнение задания:
Выполнение отложенных движений по расчетам с клиентами/поставщиками.Проанализируем ситуацию: мы почистили УТ, но теперь боимся, что при синхронизации этот процесс затронет «идеальную» БП. Чтобы этого не произошло, необходимо настроить правила обмена:
Важно помнить, что в УТ 11.4 существуют версии взаиморасчетов 11.0 и 22.0. Если ваша база обновлялась с очень старых релизов, возможно, часть документов работает по старой логике, а часть по новой. Переход на версию 22.0 позволяет программе более корректно обрабатывать авансы и переплаты. Для смены версии используется специальный помощник в разделе НСИ и администрирование — Настройка НСИ и разделов — Казначейство и взаиморасчеты.
Важно: Смена версии потребует перепроведения документов, что может изменить финансовый результат прошлых периодов. Поэтому данную процедуру обязательно нужно выполнять сначала на копии базы!
Если вы решили программно очистить базу, можно воспользоваться следующим алгоритмом на встроенном языке 1С:
// Пример логики очистки остатков через КорректировкуРегистров
ДокКорректировка = Документы.КорректировкаРегистров.СоздатьДокумент();
ДокКорректировка.Дата = ДатаОтсечки;
ДокКорректировка.УстановитьНовыйНомер();
// Добавляем движение по регистру РасчетыСКлиентами
НоваяСтрока = ДокКорректировка.ТаблицаРегистровНакопления.Добавить();
НоваяСтрока.Имя = "РасчетыСКлиентами";
// Программно заполняем движения, чтобы обнулить остатки по выбранным контрагентам
// ... (код выборки остатков и формирования записей с противоположным знаком)
ДокКорректировка.Записать(РежимЗаписиДокумента.Проведение);
Таким образом, самым рациональным путем является не перенос данных в новую базу (что лишит вас аналитики продаж за 4 года), а техническое обнуление регистров взаиморасчетов на конкретную дату с последующим вводом корректных остатков из 1С:БП. Это позволит сохранить всю историю товарооборота и при этом начать работу с контрагентами с «чистого листа».