Интеграция между современными конфигурациями на управляемых формах и «старыми» решениями на обычных формах всегда вызывает множество вопросов. В данной статье мы проанализируем ситуацию переноса данных из 1С:Бухгалтерия предприятия 3.0 (БП 3.0) в 1С:Управление производственным предприятием 1.3 (УПП 1.3). Этот вектор обмена считается «инвертированным», так как обычно данные мигрируют из управленческих систем в учетные, но в ряде случаев (например, при консолидации учета или переходе на другую модель управления) требуется обратный процесс.
Рассмотрим основные подходы, разберем их преимущества и недостатки, а также выясним, какой инструмент лучше выбрать в зависимости от ваших задач.
Первый вопрос, который встает перед разработчиком: какую версию конфигурации «Конвертация данных» использовать? Ответ зависит от периодичности обмена и готовности к поддержке правил.
Разберем подробнее, почему использование КД 3.0 для УПП требует серьезной подготовки. УПП 1.3 не проектировалась под формат Enterprise Data, поэтому при настройке обмена мы столкнемся со следующими моментами:
Отсутствие встроенной поддержки: В отличие от современных конфигураций (ERP, КА 2.4, БП 3.0), в УПП нет встроенного модуля для обработки XDTO-пакетов формата Enterprise Data. Чтобы запустить обмен, придется использовать внешние обработки-коннекторы или существенно дорабатывать конфигурацию УПП.
Версионность формата: Фирма «1С» регулярно выпускает новые версии формата (например, 1.10, 1.15). Если БП 3.0 обновится и начнет использовать версию, которую ваша самописная часть в УПП еще не умеет обрабатывать, обмен прервется. Поэтому при настройке в БП важно жестко фиксировать версию обмена.
Проанализируем ситуацию с точки зрения наполнения данными. УПП 1.3 — это система с высокой степенью детализации. При переносе данных из «упрощенной» БП 3.0 в «сложную» УПП 1.3 неизбежно возникнет дефицит информации.
Рассмотрим ключевые сложности:
Номенклатурные группы, Заказы на производство, а также четкое разделение на подразделения организации и подразделения предприятия. Этих данных в БП 3.0 часто просто нет, поэтому при загрузке в УПП придется использовать «значения по умолчанию» или сложные алгоритмы сопоставления.Контрагенты и Номенклатура.Если разработка правил в КД кажется слишком трудозатратной, рассмотрим вариант написания обработки на базе COM-соединения. В этом случае одна база (например, УПП) напрямую подключается к другой (БП) и считывает данные.
Посмотрим на пример логики подключения:
// Пример инициализации подключения к БП 3.0 из УПП 1.3
ПутьКБазе = "File=""C:\Bases\BP3"";Usr=""Admin"";";
V83 = Новый COMОбъект("V83.Application");
Попытка
Соединение = V83.Connect(ПутьКБазе);
Исключение
Сообщить("Не удалось подключиться: " + ОписаниеОшибки());
Возврат;
КонецПопытки;
// Выборка документов
ЗапросБП = Соединение.NewObject("Запрос");
ЗапросБП.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ Дата >= &ДатаНачала";
ЗапросБП.SetParameter("ДатаНачала", ТекущаяДата() - 86400);
Выборка = ЗапросБП.Execute().Choose();
Пока Выборка.Next() Цикл
// Логика создания документа в УПП на основе данных из БП
КонецЦикла;
Плюсы метода:
Минусы метода:
Выясним причину большинства ошибок при загрузке данных в УПП. Чаще всего они связаны с незаполненными обязательными реквизитами, которых нет в БП. Рассмотрим, как их обрабатывать:
Документы выпуска продукции: Перенос выпуска из БП в УПП практически не имеет смысла, так как УПП требует сложной привязки к затратам (РАУЗ или партионный учет). Если вы все же это делаете, убедитесь, что в УПП корректно заполнены Спецификации и Счета учета.
Зарплата и кадры: Если учет ведется в БП, в УПП рекомендуется переносить только сводные данные документом Отражение зарплаты в регламентированном учете. Попытка синхронизировать детальный кадровый учет в обратную сторону (из БП в УПП) приведет к конфликтам в регистрах сведений по сотрудникам.
Использование расширений: Для БП 3.0 рекомендуется создать расширение, которое будет добавлять в документы специальные реквизиты (например, «ID_для_УПП» или дополнительные аналитики). Это позволит сохранить типовую БП на поддержке, но при этом передавать в УПП необходимые данные для заполнения управленческих регистров.
Проанализировав ситуацию, мы можем сделать следующие выводы:
1. Если вам нужно один раз перенести данные — используйте КД 2.0. Это самый быстрый и предсказуемый путь для разовой задачи.
2. Если планируется регулярный обмен — инвестируйте время в КД 3.0 (Enterprise Data). Несмотря на сложность первичной настройки в УПП, вы избавите себя от необходимости постоянно обновлять правила при каждом выходе релиза БП 3.0.
3. Для небольших специфических задач или разовой синхронизации отдельных справочников вполне подойдет COM-соединение, написанное в виде внешней обработки.
Помните, что ключевой успех любого обмена — это чистота нормативно-справочной информации (НСИ). Перед запуском любого процесса миграции обязательно проведите аудит справочников Контрагенты и Номенклатура на предмет дублей.