Как перенести документы ввода начальных остатков из УТ 11 в БП 3.0?

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

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

Почему типовой обмен не переносит ввод остатков из УТ в БП

Проанализируем архитектурные и методологические причины, из-за которых типовая синхронизация через формат EnterpriseData не поддерживает выгрузку остатков по направлению УТ 11 → БП 3.0:

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

Способ 1. Загрузка через табличный документ (Excel)

Рассмотрим наиболее простой вариант для небольшого и среднего объема данных, не требующий разработки специализированных правил конвертации.

  1. В УТ 11 открываем документ ВводОстатков и сохраняем табличные части (товары, взаиморасчеты) в табличный документ или файл формата Excel. При наличии характеристик на этом этапе выполняем их преобразование: либо объединяем одинаковые позиции, либо формируем уникальные наименования для номенклатуры в БП.
  2. В БП 3.0 создаем новый документ ВводНачальныхОстатков по соответствующему разделу учета (например, «Номенклатура», счета 41.01 или 10.01).
  3. Используем стандартную обработку ЗагрузкаДанныхИзТабличногоДокумента или встроенную команду «Загрузить из файла» в табличной части документа. Настраиваем сопоставление колонок: номенклатура, количество, цена, сумма, склад, счет учета.
  4. Проверяем заполнение аналитики и проводим документ.

Способ 2. Разработка правил в «1С:Конвертация данных 2.1» (КД 2)

Разберем по шагам создание точного механизма переноса с помощью универсального обмена данными:

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

Способ 3. Прямой программный перенос через COM-соединение

Посмотрим на пример внешней обработки, которая запускается на стороне БП 3.0, подключается к УТ 11 через V83.COMConnector и программно формирует документы ввода остатков по товарам на счете 41.01.

Рассмотрим пример кода выборки данных и создания документа:


// Подключение к базе-источнику УТ 11
V83COM = Новый COMОбъект("V83.COMConnector");
ПараметрыПодключения = "File=""C:\Bases\UT""; Usr=""Admin""; Pwd="""";";
СоединениеУТ = V83COM.Connect(ПараметрыПодключения);

// Создание документа в БП 3.0
ДокОстатков = Документы.ВводНачальныхОстатков.СоздатьДокумент();
ДокОстатков.Дата = НачалоДня(ТекущаяДата());
ДокОстатков.Организация = ОрганизацияСсылка;
ДокОстатков.РазделУчета = Перечисления.РазделыУчетаДляВводаОстатков.Товары;

// Запрос к данным УТ 11 через COM
ТекстЗапроса = 
    "ВЫБРАТЬ
    |   Товары.Номенклатура.Наименование КАК Наименование,
    |   Товары.Номенклатура.Артикул КАК Артикул,
    |   Товары.Количество КАК Количество,
    |   Товары.Сумма КАК Сумма
    |ИЗ
    |   Документ.ВводОстатков.Товары КАК Товары
    |ГДЕ
    |   Товары.Ссылка.Проведен = ИСТИНА";

ВыборкаCOM = СоединениеУТ.NewObject("Запрос");
ВыборкаCOM.Текст = ТекстЗапроса;
Результат = ВыборкаCOM.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
    СтрокаТЧ = ДокОстатков.Товары.Добавить();
    
    // Поиск или создание номенклатуры в текущей базе БП
    НоменклатураБП = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Результат.Артикул);
    Если Не ЗначениеЗаполнено(НоменклатураБП) Тогда
        НоменклатураБП = Справочники.Номенклатура.НайтиПоНаименованию(Результат.Наименование);
    КонецЕсли;
    
    СтрокаТЧ.Номенклатура = НоменклатураБП;
    СтрокаТЧ.Количество = Результат.Количество;
    СтрокаТЧ.Стоимость = Результат.Сумма;
    СтрокаТЧ.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах; // Счет 41.01
КонецЦикла;

ДокОстатков.Записать(РежимЗаписиДокумента.Проведение);

Методологические рекомендации при переносе

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

  1. Наличие суммовой оценки: В УТ 11 остатки по складам могут быть введены только в количественном выражении до расчета себестоимости. В БП 3.0 проводки без сумм по счетам 41 и 10 недопустимы — обязательно заполняем стоимость.
  2. Партионный учет и НДС: При переносе остатков по приобретенным ценностям убедимся, что для целей раздельного учета НДС корректно заполнены партии и реквизиты счетов-фактур поставщиков.
  3. Сверка сальдо: После проведения документов сформируем отчет Оборотно-сальдовая ведомость в БП 3.0 и убедимся, что вспомогательный счет 000 закрыт в ноль.
← На главную