При переходе на новую схему работы, когда учет начинает вестись в связке «1С:Управление торговлей 11.4» (УТ) и «1С:Бухгалтерия предприятия 3.0» (БП), многие специалисты сталкиваются с неприятным сюрпризом. Оказывается, типовая синхронизация через универсальный формат EnterpriseData отлично переносит текущие документы, но не содержит встроенного «мастера» для миграции начальных остатков из торговой базы в бухгалтерскую. Рассмотрим подробнее, почему так происходит и какими проверенными способами можно решить эту задачу.
Архитектура обмена между УТ и БП построена на событийной модели: вы проводите документ в торговой базе, он регистрируется к обмену и улетает в бухгалтерию. Однако остатки — это не просто документ, это срез данных. В УТ 11 остатки хранятся в регистрах накопления, а в БП они должны попасть в специализированный документ ВводНачальныхОстатков, который делает проводки по счетам бухгалтерского учета. Из-за разницы в аналитиках (в УТ нет счетов учета, есть только Группы финансового учета) прямой перенос «один в один» программно затруднен без предварительной настройки сопоставления.
Разберем три наиболее эффективных метода переноса, от простых «ручных» до продвинутых технических.
Этот метод считается «золотым стандартом» для небольших и средних баз. Он позволяет контролировать каждую цифру и корректно сопоставить номенклатуру и контрагентов. Проанализируем последовательность действий:
ЗагрузкаДанныхИзТабличногоДокумента. Найти ее можно через меню «Функции для технического специалиста».ВводНачальныхОстатков по нужному разделу учета (например, «Товары»).Преимущество: Бухгалтер видит, что загружается, и может сразу проставить счета учета (41.01, 60.01 и т.д.), если они не подставились автоматически по правилам группы настроек фин. учета.
Если позиций номенклатуры тысячи и ручная работа с Excel пугает, применим техническую хитрость. Разберем, как заставить стандартную синхронизацию перенести остатки под видом обычных движений.
Суть метода заключается в следующем:
ПриобретениеТоваровУслуг датой, предшествующей началу учета (например, 31.12.2019).ВводНачальныхОстатков (через копирование данных в табличную часть) или просто оставим документ поступления, изменив в нем счета учета на вспомогательный счет 000.Для программистов 1С существует путь через расширение возможностей универсального формата. Выясним причину, по которой это не работает «из коробки»: в типовой БП часто отсутствуют правила обработки (ПОД) для входящего объекта Document_ВводОстатков, хотя сам формат EnterpriseData его поддерживает.
Если мы решим пойти по этому пути, нам потребуется:
Document_ВводОстатков.Пример программного создания документа (концептуально) при получении данных может выглядеть так:
// Пример логики при обработке загрузки
НовыйДок = Документы.ВводНачальныхОстатков.СоздатьДокумент();
НовыйДок.Дата = ОбъектДанных.Дата;
НовыйДок.Организация = ОбъектДанных.Организация;
// Заполнение табличной части из структуры EnterpriseData
Для Каждого СтрокаТЧ Из ОбъектДанных.Товары Цикл
НоваяСтрока = НовыйДок.Данные.Добавить();
НоваяСтрока.Номенклатура = СтрокаТЧ.Номенклатура;
НоваяСтрока.Количество = СтрокаТЧ.Количество;
// Логика определения счета учета
НоваяСтрока.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
КонецЦикла;
НовыйДок.Записать();
Однако помните, что этот метод требует глубоких знаний Конвертации данных 3.0 и может «слететь» при обновлении конфигурации, если не использовать расширения.
Независимо от выбранного способа, проанализируем контрольный список параметров, без которых учет в БП не пойдет:
НДСПредъявленный).Подводя итог, можно сказать: если база небольшая — используйте Excel и типовую обработку загрузки. Это обеспечит максимальную чистоту данных. Если же вы настраиваете регулярный процесс для множества узлов — смотрите в сторону доработки правил EnterpriseData.