Почему не переносятся документы ввода начальных остатков при синхронизации УТ 11 и БП 3.0 и как решить эту проблему

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Бухгалтерский учет Торговля и дистрибуция
← На главную

При настройке синхронизации данных между конфигурациями 1С:Управление торговлей 11 (УТ) и 1С:Бухгалтерия предприятия 3.0 (БП) пользователи часто сталкиваются с неприятной ситуацией. Документы ввода начальных остатков, созданные в УТ 11, упорно не появляются в БП 3.0. При этом сам процесс синхронизации завершается успешно, в журнале регистрации нет сообщений об ошибках, а другие документы (например, реализации или поступления) переносятся без каких-либо проблем.

В этой статье мы подробно разберем, почему так происходит, выясним технические причины этого поведения и рассмотрим эффективные практические способы решения этой задачи.

Выясняем причину: особенности формата EnterpriseData

Для начала проанализируем архитектуру обмена данными. Современная типовая синхронизация между конфигурациями 1С построена на базе универсального формата обмена EnterpriseData (стандарт XML/XDTO). Этот формат стандартизирует передачу бизнес-сущностей между различными информационными базами.

Логика работы этого механизма накладывает определенные методологические ограничения:

  1. Методология разделения учета: Разработчики фирмы 1С исходят из того, что регламентированный и налоговый учет являются первичными для формирования отчетности. Ввод начальных остатков активов, обязательств и капитала должен выполняться непосредственно в бухгалтерской программе (БП 3.0) с помощью специализированного помощника. УТ 11 предназначена для оперативного учета, и перенос исторических остатков из нее в бухгалтерию в автоматическом режиме не предусмотрен методологически.
  2. Техническое ограничение правил загрузки в БП: На стороне конфигурации-источника (УТ 11) документ ввода остатков может быть зарегистрирован к выгрузке и даже успешно выгружен в XML-файл пакета обмена. Однако в конфигурации-приемнике (БП 3.0) в правилах обработки формата EnterpriseData физически отсутствуют алгоритмы загрузки для объектов типа ввода остатков. Бухгалтерская программа просто игнорирует эти узлы данных при чтении пакета, не выдавая при этом ошибок прерывания.

Развеиваем миф о галочке «Выгружать информативные остатки»

В настройках синхронизации УТ 11 многие замечают опцию «Выгружать информативные остатки» и пытаются активировать ее в надежде решить проблему. Давайте разберем по шагам, что на самом деле делает этот флаг, чтобы не допускать ошибок.

Эта настройка предназначена исключительно для обмена данными с внешними кассовыми и мобильными приложениями (например, «1С:Касса», «1С:РМК» или мобильное приложение торгового представителя). При ее включении в УТ 11 запускается регламентное задание, которое рассчитывает доступные остатки товаров на складах и записывает их в служебный регистр сведений РегистрыСведений.ДоступностьТоваровДляВнешнихПользователей.

Для бухгалтерии эта информация абсолютно бесполезна. БП 3.0 не содержит аналогичных регистров оперативных остатков и не умеет обрабатывать эти данные. Таким образом, включение этой опции никак не поможет перенести начальные остатки в бухгалтерскую базу.


Способ 1. Обходной путь через временные документы («Смекалка»)

Рассмотрим самый быстрый практический способ, который не требует программирования и изменения правил обмена. Суть метода заключается в использовании временных документов поступления товаров в качестве «транспорта» для переноса номенклатуры и остатков.

Выполним процедуру по шагам:

  1. В базе УТ 11 создайте новый документ ПриобретениеТоваровУслуг (Поступление товаров и услуг). Дату документа установите на один день раньше даты начала ведения учета (например, если учет в БП начинается с 01.01.2024, то документ создаем от 31.12.2023).
  2. Заполните табличную часть этого документа всеми товарами, остатки которых необходимо перенести. Укажите реальное количество. Цены можно указать нулевые или равные себестоимости (для корректного формирования рублевых сумм остатков).
  3. Запустите типовую синхронизацию данных. Временный документ поступления успешно перенесется в БП 3.0. Вместе с ним в бухгалтерскую базу перенесутся все сопутствующие справочники: номенклатура, контрагенты, договоры, склады и единицы измерения.
  4. В базе БП 3.0 откройте перенесенный документ поступления. На его основе (или путем копирования строк табличной части) создайте и заполните документ ВводНачальныхОстатков. Это позволит быстро заполнить огромные табличные части без ручного ввода.
  5. После того как остатки в БП 3.0 успешно введены, проведены и проверены, вернитесь в УТ 11 и удалите (или распроведите) временный документ приобретения, чтобы он не удваивал складские остатки в оперативной базе. В БП 3.0 этот временный документ также следует удалить.

Способ 2. Программный перенос данных (для разработчиков)

Если объем данных слишком велик или требуется автоматизировать процесс для регулярного использования, мы можем написать небольшую внешнюю обработку. Проанализируем пример кода на языке 1С, который может быть запущен в базе БП 3.0 для автоматического создания документов ввода остатков по разделу «Товары на складах» на основании загруженных документов поступления.


// Процедура автоматического создания Ввода остатков на основании перенесенного Поступления
Процедура СоздатьВводОстатковНаОснованииПоступления(ДокументПоступленияСсылка) Экспорт
    
    // Получаем объект документа-источника
    ПоступлениеОбъект = ДокументПоступленияСсылка.ПолучитьОбъект();
    
    // Инициализируем новый документ Ввод начальных остатков
    НовыйВводОстатков = Документы.ВводНачальныхОстатков.СоздатьДокумент();
    НовыйВводОстатков.Дата = ПоступлениеОбъект.Дата;
    НовыйВводОстатков.Организация = ПоступлениеОбъект.Организация;
    НовыйВводОстатков.ОтражатьВБухгалтерскомУчете = Истина;
    НовыйВводОстатков.ОтражатьВНалоговомУчете = Истина;
    
    // Устанавливаем раздел учета для товаров на складах
    НовыйВводОстатков.РазделУчета = Перечисления.РазделыУчетаНовыхОстатков.ТоварыНаСкладах;
    
    // Переносим строки табличной части
    Для Каждого СтрокаТовара Из ПоступлениеОбъект.Товары Цикл
        НоваяСтрока = НовыйВводОстатков.Товары.Добавить();
        НоваяСтрока.Номенклатура = СтрокаТовара.Номенклатура;
        НоваяСтрока.Количество = СтрокаТовара.Количество;
        НоваяСтрока.Склад = СтрокаТовара.Склад;
        
        // Устанавливаем счет учета по умолчанию (например, 41.01)
        НоваяСтрока.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
        
        // Переносим стоимостные показатели
        НоваяСтрока.Сумма = СтрокаТовара.Сумма;
        НоваяСтрока.СуммаНУ = СтрокаТовара.Сумма;
    КонецЦикла;
    
    // Записываем и проводим документ
    Попытка
        НовыйВводОстатков.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Успешно сформирован документ ввода остатков: " + НовыйВводОстатков.Ссылка);
    Исключение
        НовыйВводОстатков.Записать(РежимЗаписиДокумента.Запись);
        Сообщить("Документ записан, но не проведен: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецПроцедуры

Использование подобных обработок значительно ускоряет рутинную работу по переносу номенклатурных позиций и позволяет избежать механических ошибок ввода. Для решения этой задачи можно использовать обработку для прямого переноса остатков товаров из УТ 11 в БП 3.0.


Способ 3. Доработка правил обмена в конфигурации «Конвертация данных»

Для системных администраторов и программистов 1С наиболее надежным и элегантным решением является кастомизация правил обмена. Если вы используете нетиповой обмен или готовы доработать текущие правила, выполните следующие шаги:

  1. Выгрузите структуру метаданных конфигураций УТ 11 и БП 3.0 с помощью обработки MD83Exp.epf.
  2. Загрузите структуры в информационную базу конфигурации «Конвертация данных 2.1» (или версию 3.0, если планируется доработка правил через формат EnterpriseData).
  3. Создайте новое Правило Конвертации Объектов (ПКО) для документа ВводНачальныхОстатков. Настройте сопоставление свойств (реквизитов) документа: организация, дата, отражение в учете, а также табличных частей (разделов учета).
  4. Настройте сопоставление справочников (Номенклатура, Склады, Контрагенты), чтобы при переносе документа остатков автоматически создавались отсутствующие элементы справочников в БП.
  5. Сохраните полученные правила обмена в XML-файл и подключите их через настройки синхронизации в узле обмена вашей информационной базы.

Что еще необходимо проверить при синхронизации?

Если вы используете сторонние правила или пытаетесь переносить данные другими методами, обязательно обратите внимание на следующие важные параметры:

← На главную