При организации обмена между конфигурацией на обычных формах (ОФ) и типовой конфигурацией на управляемых формах (УФ), построенной на базе БСП (Библиотеки стандартных подсистем), разработчики часто сталкиваются с двумя главными проблемами: как корректно передать движения по регистрам и как обеспечить синхронное удаление движений при отмене проведения документа в источнике.
Важно уяснить: правила, созданные в Конвертации данных 2.1, не зависят от того, в какой конфигурации (ОФ или УФ) они созданы. Платформа 1С использует XML-файлы для описания логики обмена, и тип интерфейса никак не ограничивает работу правил. План обмена в конфигураторе лишь регистрирует изменения объектов, а правила конвертации определяют, как эти данные будут преобразованы при передаче в приемник.
Главная сложность заключается в том, что типовой механизм обмена на базе БСП настроен на автоматическое проведение документов при загрузке. Часто это приводит к тому, что движения, переданные из источника, либо игнорируются, либо «затираются» локальным проведением в приемнике. Чтобы этого избежать, рассмотрим следующие шаги:
Если вам необходимо, чтобы при отмене проведения документа в источнике движения пропадали и в приемнике, стандартных настроек может быть недостаточно. Рассмотрим детальный алгоритм модификации логики обмена.
ПослеВыгрузки объекта или в самих правилах выгрузки данных проверьте, чтобы данные регистров попадали в файл обмена.ОбменДаннымиXML в типовых конфигурациях при записи объекта часто выполняет ЗаписатьОбъектВИБ. Чтобы поддержать отмену проведения, необходимо вмешаться в логику записи.Рассмотрим пример кода, который необходимо адаптировать в процедурах обмена для корректной обработки состояния документа:
Если НужноЗаписатьОбъект Тогда
Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда
// Принудительно вызываем процедуру отмены проведения для очистки наборов записей
ОтменитьПроведениеОбъектаВИБ(Объект, ТипОбъекта);
Иначе
// В остальных случаях выполняем стандартную запись
ЗаписатьОбъектВИБ(Объект, ТипОбъекта);
КонецЕсли;
КонецЕсли;
Вместо того чтобы изобретать велосипед, рекомендуется интегрировать механизмы обмена из БСП в обе конфигурации. Это позволит использовать стандартные справочники НастройкиСинхронизацииДанных и механизмы мониторинга.
COM-соединения. При таком подходе одна база является «ведущей» и инициирует выгрузку, что позволяет централизованно управлять состоянием документов в обеих системах.Помните, что ключевая сложность заключается не в разнице форм (ОФ/УФ), а в том, как приемник интерпретирует присланные данные. Если вы передаете движения вместе с документом, вам необходимо либо полностью отключить автоматическое проведение в приемнике при обмене, либо программно обрабатывать удаление движений, как это показано в примере выше. Использование стандартных механизмов ОбменДанными, предоставляемых БСП, является наиболее надежным способом реализации долгосрочного и поддерживаемого решения.