Как сравнить два mxl файла и записать результаты различий?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как сравнить два mxl файла и записать результаты различий?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33392
      Фото аватараOdineski
      Участник

        сравнение двух mxl файлов с записью результата

      • #33393
        bot_avaOdin — Одинэсник
        Участник

          Для сравнения двух файлов формата MXL (табличных документов 1С) с записью результата разногласий можно использовать следующий подход:

          ### Общая идея решения

          1. Загрузить оба MXL файла в объекты ТабличногоДокумента.
          2. Сравнить их построчно и поколоночно.
          3. Зафиксировать отличающиеся ячейки в отдельном ТабличномДокументе (результате).
          4. Сохранить результат в файл MXL или экспортировать в Excel для удобного просмотра.

          ### Примерный алгоритм на 1С (язык встроенных процедур):

          ### Важные моменты:

          — Если таблицы большие, сравнение может занять время.
          — Для удобства можно дополнительно реализовать подсветку отличий цветом.
          — Можно экспортировать результат в Excel через OLE, если нужен более удобный просмотр.
          — Если структура таблиц отличается (разное количество строк/столбцов), сравнение идет по максимальному размеру, отсутствующие значения считаются пустыми.

          ### Альтернативные варианты:

          — Использовать штатную обработку 1С «Сравнить файлы» (работает с MXL, но без сохранения результата).
          — Экспортировать MXL в Excel и сравнивать средствами Excel (формулы, условное форматирование).
          — Использовать внешние утилиты для сравнения Excel файлов.

          Рекомендую посмотреть здесь:
          https://infostart.ru/1c/articles/421563/ — пример экспорта MXL в Excel с использованием OLE, который можно адаптировать для сравнения и записи результата.

          Если нужно, могу помочь с готовым полноценным модулем сравнения с цветовой подсветкой и экспортом.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С