При переходе из программы 1С:Бухгалтерия предприятия 3.0 (БП) в 1С:Управление торговлей 11.4 (УТ) пользователи часто сталкиваются с ситуацией: в исходной базе по счету 62 или 60 сальдо по контрагенту равно нулю, однако после работы типовой обработки переноса данных в УТ 11 внезапно фиксируется задолженность. Давайте разберем, почему так происходит, как работает алгоритм выгрузки и на что обратить внимание при проверке данных.
Первая и самая частая причина — это наличие встречных остатков по разным субсчетам или объектам аналитики в БП. В бухгалтерских отчетах (например, в «Оборотно-сальдовой ведомости» по счету 62) сальдо может выглядеть нулевым, если оно «свернуто» по контрагенту в целом. Однако типовые правила обмена анализируют данные глубже.
Рассмотрим ситуацию: у нас есть остаток по дебету счета 62.01 (задолженность покупателя) и такая же сумма по кредиту счета 62.02 (аванс от покупателя). С точки зрения общего итога долг равен нулю, но программа видит две разные записи. Правила переноса выгружают эти суммы как две отдельные операции: «Долг клиента» и «Аванс клиента». В результате в УТ 11 мы увидим и задолженность, и аванс одновременно.
Чтобы выявить эту проблему, проанализируем настройки отчета ОСВ в БП 3.0. Нам необходимо сформировать ведомость с включенными группировками по Договорам и обязательно по Документам расчетов с контрагентами. Если вы увидите в одной строке «плюс», а в другой «минус» — это и есть причина «лишних» остатков в целевой базе.
Типовая обработка переноса использует сложные правила (XML), в которых прописаны алгоритмы выборки данных. Проанализируем фрагмент кода из обработчика ПВД_ПередОбработкой, который определяет, какие настройки учета должны быть переданы:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Организации.Ссылка) КАК КоличествоОрганизаций
|ПОМЕСТИТЬ втОрганизации
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.Ссылка В(&Организации);
|
|ВЫБРАТЬ
| СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток
|ПОМЕСТИТЬ втКредитыДепозиты
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоКраткосрочнымКредитамИЗаймам), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоДолгосрочнымКредитамИЗаймам)), , Организация В (&Организации)) КАК ХозрасчетныйОстатки;";
Этот код показывает, что система анализирует не только привычные счета расчетов с покупателями и поставщиками, но и счета 66 и 67 (расчеты по кредитам и займам). Если по вашему контрагенту есть движения по этим счетам (например, заем сотруднику или краткосрочный заем от сторонней организации), эти данные также могут попасть в общую таблицу взаиморасчетов при выгрузке.
Выясним причину использования такого широкого охвата: в УТ 11 отсутствует план счетов в его классическом понимании. Все расчеты ведутся в регистрах накопления: Взаиморасчеты с клиентами, Взаиморасчеты с поставщиками и Расчеты с клиентами по документам. Алгоритм пытается «собрать» все возможные долги из бухгалтерии и распределить их по этим регистрам.
Еще один важный момент в алгоритме — определение того, как именно будут учитываться расчеты: в рублях, валюте или условных единицах. Рассмотрим следующий фрагмент кода:
Если Источник.РасчетыВУсловныхЕдиницах Тогда
ПорядокОплаты = "РасчетыВВалютеОплатаВРублях";
Иначе
ПорядокОплаты = ?(Источник.ВалютаВзаиморасчетов = Константы.ВалютаРегламентированногоУчета.Получить(),
"РасчетыВРубляхОплатаВРублях",
"РасчетыВВалютеОплатаВВалюте");
КонецЕсли;
Здесь система определяет ПорядокОплаты, который напрямую влияет на то, в какой раздел документа «Ввод начальных остатков» в УТ 11 попадут данные. Если в БП договор помечен как «В условных единицах», а в УТ 11 вы ожидаете увидеть обычные рублевые расчеты, возникнет несоответствие, которое также может привести к визуальным ошибкам в отчетах по задолженности.
Помимо очевидных счетов, проанализируем список счетов, которые часто «подтягиваются» типовой обработкой:
Если в БП сальдо по счету 62 равно 0, но по счету 76.05 (или другому субсчету 76-го счета) по этому же контрагенту висит остаток, он обязательно перекочует в УТ 11 как задолженность.
Рассмотрим порядок действий для локализации ошибки переноса:
Контрагенты. В настройках выберите конкретного контрагента и добавьте детализацию по Договорам и Документам расчетов. Это самый эффективный способ увидеть «хвосты», которые не видны в обычной ОСВ.втКредитыДепозиты или аналогичные выборки по взаиморасчетам. Это позволит точно понять, какой счет «дает» лишнюю сумму.В системе 1С:Управление торговлей 11 очень важно, как именно детализируются расчеты: по договору в целом, по заказам или по накладным. Если в БП учет велся в разрезе документов расчетов, а в УТ 11 в настройках договора указана детализация «По договорам», система при загрузке может «схлопнуть» все документы в один виртуальный объект расчетов.
И наоборот: если в БП учет был упрощенным, а в УТ 11 требуется жесткая детализация, система создаст технические документы «Ввод остатков», которые могут некорректно отображаться в отчетах Ведомость расчетов с клиентами, если не была выполнена процедура распределения авансов и зачета долгов.
Важный совет: Перед выгрузкой остатков в БП 3.0 рекомендуется выполнить обработку «Групповое перепроведение документов» и убедиться, что зачет авансов выполнен корректно. Это минимизирует количество «развернутых» сальдо и существенно облегчит процесс переноса данных в УТ 11.4.