Исходная задача
Есть нетиповая УТ, предположим, версии 10.3.14.4, очень сильно крученая. Необходимо настроить односторонний обмен с БП 2.0 последней редакции, желательно при помощи плана обмена для регистрации новых объектов и выгрузки таковых в БП.
Набор инструментов
1. Нетиповая УТ (aka NUT), открытая в конфигураторе, запущенная в режиме предприятия.
Смотрим в планы обмена - ага, есть ОбменУправлениеТорговлейБухгалтерияКОРП, есть и механизмы регистрации, то что нам нужно.
2. Типовая БП (aka BP), запущенная в режиме предприятия.
3. Типовая (!) УТ (aka TUT) какой-нибудь последней редакции, способная обмениваться с имеющейся БП, открытая в конфигураторе.
Собственно настройка
1. Находим в конфигураторе TUT обработку ПомощникНастройкиОбменаДаннымиСБухгалтерияПредприятияКОРП. Выгружаем её во внешнюю через вызываемое правой кнопкой мыши контекстное меню, пункт "Сохранить как внешнюю обработку, отчет..."
2. В ней же находим макет ПравилаОбмена_УТ_БПКОРП, сохраняем его в текстовый файл, переименовываем расширение в .xml, получаем готовые правила обмена. Почти готовые. То есть их надо открыть в блокноте, найти строку "Параметры.Вставить("ПервыйОбмен", Истина)" и вместо Истина поставить Ложь. Сохраняем, откладываем.
3. Идем в NUT, режим предприятие.
4. Открываем сохраненную обработку из TUT. Перед нами помощник настройки обмена данными. Идем пошагово, включаем экспертный режим, попутно устанавливаем все необходимые для себя настройки (не буду расписывать, кто хоть раз настраивал такой обмен, знает всё назубок).
5. Доходим до выгрузки справочников. Тут начинается самое интересное.
6. Обработчик выгрузки нет-нет, да и будет натыкаться на метаданные и их значения, которых нет в нашей старой NUT. Что делать?
7. Поскольку NUT совсем нетиповая - не стесняемся в методах. У нас открыт конфигуратор TUT! Находим объект, контрол-ц, идем в конфигуратор NUT, в соответствующем месте конфигурации контрол-в. Закрываем предприятие NUT, обновляем конфигурацию NUT, открывает предприятие NUT, открываем помощник обмена, проходим по уже созданной настройке до выгрузки справочников и делаем то же самое, до победного конца.
Мне понадобилось так скопировать-вставить значения перечисления ВидыОперацийРеализацияТоваров, несколько других перечислений, документ КорректировкаПоступления, несколько регистров сведений, пожалуй и всё, по времени это было недолго.
Да, на новые ссылочные объекты метаданных лучше назначить типовой роли Пользователь право на чтение, мало ли где используется реквизит неопределенного вида ДокументСсылка или СправочникСсылка, или запрос без РАЗРЕШЕННЫЕ и т.п.
8. Добились выгрузки справочников. Идем в BP, запускаем встроенный стандартный помощник настройки обмена с конфигурацией "Управление торговлей", подхватываем файл настройки, полученный из NUT, создаем настройку обмена. Для одностороннего обмена идем в справочник НастройкиОбменаДанными, находим нашу настройку, и на вкладке "Настройки обмена данными", в табличной части "Настройки выгрузки" ставим все объекты "Не выгружать".
9. Загружаем в BP при помощи того же встроенного в BP стандартного помощника настройки обмена данными справочники из NUT, выгружаем обратно получившиеся ссылки на объекты в BP (все происходит автоматом).
10. Возвращаемся опять в предприятие NUT. Загружаем справочники из BP, переходим к этапу выгрузки документов.
11. Вот тут интересное НО. При переходе на этот этап помощник обмена данными заменяет имеющиеся правила обмена в сохраненной настройке в справочнике "Настройки обмена данными" на типовой макет правил из конфигурации NUT! А он у нас там, разумеется, древний как сама NUT. Поэтому заходим в сохраненную настройку и заменяем старые правила на заранее подготовленные, сохраняем и выгружаем документы. При возникновении "катаклизмов" уже знаем что делать (контрол-ц, контрол-в).
Далее, используя стандартные процедуры обмена, выполняем обмен между базами данных когда угодно.
Что еще можно сказать в защиту метода (копи-паст объектов). Использовал его для настройки обмена из нетиповой "Торговля и склад 7.7" в типовую БП 3.0, только там, как ни странно, все было несколько попроще. Наверное потому что обмен выполняется через обычную одностороннюю выгрузку для последующей загрузки в БП 3.0 обработкой УниверсальныйОбменДаннымиXML.
Конвертация данных всё же понадобится потом, для настройки выгрузки документов, для которых нет реквизитов в нетиповой УТ, типа СчетФактураВыданный или СчетФактураПолученный и т.д.
Если по какой-то причине для первичного обмена документами, документы для выгрузки таки не зарегистрировались - можно воспользоваться групповой обработкой регистрации документов для выбранного плана обмена:
Спасибо за внимание к моим "многобукаф")