Обработка отчётов о сравнении конфигураций для проверки правильности обновления



До и после обновления полезно делать отчёт о сравнении объектов Основной конфигурации с конфигурацией Поставщика. Если обновление проведено правильно, то отличий в этих отчётах быть не должно. За некоторыми исключениями. Данная обработка позволяет исключить ПСЕВДООТЛИЧИЯ из процесса сравнения.

Столкнулся давеча с проблемой: после обновления нетиповой конфигурации на новый релиз конфигурации поставщика решил проверить правильность проведённого обновления, убедиться что в процессе обновления не были потеряны ни изменения основной конфигурации ни изменения новой конфигурации поставщика. Для этих целей необходимо сравнить отчёты о сравнении основной конфигурации и конфигурации поставщика до и после обновления. Если обновление проведено правильно, то отличий в этих отчётах быть не должно. За некоторыми исключениями. Данная обработка позволяет исключить ПСЕВДООТЛИЧИЯ из процесса сравнения.

Перед тем как пилить данный велосипед, немного посмотрел интернет и задал вопрос на форуме ИС

Как это работает:

Из отчётов о сравнении удаляются символы и строки, выдающие псевдоотличия.

Необходимые условия:

До и после обновления метаданные конфигурации должны быть одинаково упорядочены. В нашей практике, упорядочиваем по алфавиту. Если этого не сделать, данные будут по разному упорядочены в отчётах о сравнении до и после обновления и применять данный метод будет бессмысленно.

О каких УДАЛЯЕМЫХ псевдоотличиях идёт речь:

  1. Номера позиций в конце строк вида: 
    Объект присутствует только в основной конфигурации: 2401 — 2411 
    Изменено: 280 — 280
    Объект присутствует только в конфигурации поставщика: 890 — 891
  2. Строки вида: 
    #k8SjZc9DxkПорядок объекта изменен
  3. Изменения нечитаемых символов, например: 
    Изменено: 41 — 41 
    < "·//<==ТОиР=·"
    > "·//<==ТОиР="
  4. Лишние пустые строки: 
    Объект присутствует только в конфигурации поставщика: 63 — 64 
    "" 
    "···"

Интерфейс:

  1. Чтобы разобраться, достаточно ткнуть кнопку "Показать работу на примере". В обработку заложено два небольших текстовых файла, на примере которых обработка покажет, что она умеет.
  2. Указываем пути к двум сравниваемым файлам отчёта.
  3. Жмём кнопку "Обработать и сравнить".
  4. Файлы будут обработаны, указаны в качестве файлов результатов, откроется окно сравнения файлов после обработки.
  5. Также можно посмотреть на остальные кнопки, их названия говорят сами за себя.

Результат применения обработки:

ДО ОБРАБОТКИ:

ПОСЛЕ ОБРАБОТКИ:

Особенности исполнения:

  1. Использованы обычные формы. Тестировалось на платформе 8.3.12.1412
  2. При очистке непечатных символов "·" могут быть удалены значащие символы из строковых констант. Необходимость поиска таких отличий в строковых константах крайне маловероятна, поэтому пока никак не обрабатываем.

 
Возможные улучшения в будущем:
опциональность применяемых видов обработки файла
обработка ВСЕЙ группировки строк "#k8SjZc9DxkПорядок объекта изменен". Сейчас считаем, что в группировке одна строка
Упорядочивание группировок — тогда покажется ещё меньше отличий
прогресс бар
выбор файлов из проводника
добавить опцию очистки непечатных символов ТОЛЬКО в начале и конце строки
оптимизация по скорости

————————————

ИНТЕРЕСНЫХ ВАМ ЗАДАЧ, ПЛОДОТВОРНОЙ РАБОТЫ И ОРИГИНАЛЬНЫХ/ОПТИМАЛЬНЫХ РЕШЕНИЙ!!

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *