Содержание:
1. Получение текущих правил обмена 1С
2. Поиск несоответствий в правилах конвертации
3. Поиск несоответствий в правилах регистрации
Распространенная задача: заказчику давным-давно настроили обмен между несколькими конфигурациями. Обмен не типовой (в том смысле, что его нет в поставках конфигураций), построен на механизмах универсального обмена через xml, правила обмена написаны в КД-2. Пришла пора обновиться, например, наложить актуальный типовой релиз на одну из них (или даже на все). КД-2 особенен тем, что его правила обмена привязаны к конкретным конфигурациям и при замене конфигураций эти правила в общем случае станут непригодными.
Вопрос: как скорректировать правила обмена при замене конфигураций?
На просторах интернета можно найти внешние обработки, которые позволяют автоматизировать процесс замены правил конвертации и регистрации для случая замены конфигурации-источника. Мы же рассмотрим более общий «ручной» подход, который сработает при замене конфигурации, как источника, так и приемника, используя инструменты КД-2.
В пример рассмотрим корректировку двух существующих обменов:
· БухгалтерияПредприятия ➡ УправлениеХолдингом 3.1.
· УправлениеХолдингом 3.1 ➡ УправлениеПроизводственнымПредприятием.
Производится замена конфигурации УправлениеХолдингом 3.1 на версию 3.2. Как видно, конфигурация УправлениеХолдингом 3.1 выступает и в качестве приемника, и в качестве источника.
1. Получение текущих правил обмена 1С
Хорошо, если есть база КД-2 с актуальными правилами – тогда просто берем их за основу. Но, если такой базы нет или нет уверенности, что правила актуальны, то это не проблема – их можно вытянуть из обменивающихся баз.
Правила обмена привязаны к конфигурациям, поэтому первое, что делаем - получаем описания конфигураций источника и приемника, для чего используем обработки «Выгрузка описания структуры метаданных» MD83(2)Exp.mdf (поставляются вместе с КД-2). Полученные описания загружаем в КД-2 в справочник «Конфигурации».
Список Конфигурации
Затем из «источника» получаем правила конвертации и правила регистрации. Заходим в «Настройки синхронизации данных» нужного обмена и в командах «Загрузить правила конвертации/регистрации объектов» находим кнопки «Выгрузить…».
Загрузить правила конвертации объектов
Полученные файлы правил загружаем в КД-2:
· Для правил конвертации: Правила обмена – Загрузить правила... Назначаем новую конвертацию, сопоставляем ранее загруженные конфигурации источники и приемник.
Загрузка правил обмена
· Для правил регистрации: Правила регистрации – Загрузить правила... Назначаем новую регистрацию, сопоставляем ранее загруженную конфигурацию - источник.
Загрузка правил регистрации
2. Поиск несоответствий в правилах конвертации
На предыдущем шаге были загружены текущие правила конвертации, оставим их как эталонные, а все корректировки будем делать в копии этих правил. Итак, создаем копию правил конвертации:
· В списке конвертаций становимся на «эталонную» и вызываем «Скопировать конвертацию».
· в т.ч. соглашаемся «Выполнить копирование правил обмена данными».
Скопировать конвертацию
В результате получаем полную копию конвертации, где:
1. меняем «старую» конфигурацию на «новую» (в примере «УправлениеХолдингом 3.1» на «УправлениеХолдингом 3.2»).
2. выполняем «Проверку» (через меню «Сервис» - «Проверка»).
Сервис
Переходим к правилам и видим, что в результате «Проверки» все правила пометились красным, т.е. стали не корректными. Дело в том, что в КД-2 «Правила конвертации свойств/значений» - это справочники, подчиненный справочнику «Правила конвертации объектов», последний, в сою очередь, подчинен справочнику «Конвертации», а мы его заменили.
Правила конвертации объектов
Далее – самое трудоемкое:
· Проверяем все, что связано с замененной конфигурацией – в нашем примере, все, что связано с «Приемником»: Объекты, Свойства/Значения, программный код, выполняющийся на стороне приемника:
o Сопоставляем на уровне Объекта: перевыбираем Объект-приемник.
- именно открываем поле, находим его в «новой» конфигурации – если не находим, значит это первый тип «Несоответствия в конвертациях» - это правило требуется переопределить.
- если находим, то выбираем и сохраняем ➡ получим предупреждение «Источник или приемник изменен» ➡ выполняем «сопоставление по наименования свойств и значений».
Источник или приемник изменен
Результат «выполнения»:
· там, где сопоставление прошло успешно в поле «Комментарий» будет «Установлен новый реквизит».
Код
А вот пример, когда не удалось сопоставить Свойства/Значения (это уже для другого справочника – Организации).
Перевыбрали
В сопоставленных правилах конвертации свойств/значений это выглядит следующим образом: в приемники это свойство очищено, а правило помечено на удаление – это второй тип «Несоответствия в конвертациях» - это правило требуется переопределить.
Правила конвертации объектов
Сопоставленный объект отображается нормальным черным цветом. И так – по всем объектам конвертации.
Объект источник
И, самое сложное (КД-2 здесь не поможет, только глазами): проверяем все обработчики, которые выполняются на стороне замененной конфигурации (в нашем пример – приемника):
· в правилах конвертации Свойств.
· в Алгоритмах\Запросах.
Нужно проверить наименования всех процедур/функций, вызываемых из кода замененной конфигурации, а также перечень их параметров; Проверить обращения к «удаленным» Свойствам и Значениям ➡ если будут найдены несоответствия программного кода между «старой» и «новой» конфигурациями, то это будет третий тип «Несоответствия в конвертациях» - его также требуется переопределить.
3. Поиск несоответствий в правилах регистрации
Исходные правила регистрации мы уже загрузили ранее, они привязаны к «старой» конфигурации и ее плану обмена.
Обмен с УПП 1.3
Оставим эти правила как эталонные и сделаем их копию. Но т.к. в КД-2 нет механизма копирования регистраций вместе с их правилами, то «копию» лучше делать повторной загрузкой правил с созданием новой регистрации, но с привязкой к «старой» конфигурации.
Конфигурация
В новой конфигурации:
· Выбираем план обмена.
· Проверяем, что:
есть свойства, на которых построены отборы по планам обмена и объектам, иначе ➡ несоответствие – его требуется устранить.
Заявка на оплату
· В обработчиках событий нет обращений к неактуальным объектам, свойствам, процедурам и их параметрам, иначе ➡ несоответствие – его требуется устранить.
В статье рассмотрели порядок замены конфигураций в правилах конвертации и регистрации, обратили внимание на места, в которых следует искать несоответствия.
Специалист компании ООО "Кодерлайн"
Игорь Борисенко














