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