К статье
Практический материал

Администрирование · 9 мин

Как сравнить два документа в 1С

Как сравнить два документа в 1С: сравнение версий, конфигураций, файлов и табличных документов. Пошаговые инструкции, инструменты и типичные ошибки.

Под задачей «сравнить два документа в 1С» пользователи обычно понимают несколько разных ситуаций: проверить две версии одного документа после изменений, сопоставить два похожих документа в базе, сравнить внешние печатные формы или отчёты, а также сопоставить файлы конфигураций. Для каждой из этих задач в платформе 1С:Предприятие есть свой инструмент, и выбор зависит от того, что именно нужно сопоставить.

В типовых конфигурациях на основе Библиотеки стандартных подсистем (БСП) — «Управление торговлей», «ERP», «Бухгалтерия предприятия», «Зарплата и управление персоналом» — встроено версионирование объектов, которое позволяет посмотреть, что и кем менялось в документе. Для сравнения файлов печатных форм и отчётов используется механизм сравнения табличных документов, а для конфигураций — штатное сравнение и объединение в конфигураторе.

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

Определите, что именно нужно сравнить

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

Отдельный случай — сравнение двух разных документов в одной базе, например двух счетов с похожими позициями. Штатного инструмента «сравнить два произвольных документа» в типовых конфигурациях нет: эту задачу решают через отчёты, расшифровки, выгрузку в табличный документ или небольшую обработку.

Маршрут решения

Как выбрать инструмент

Нужно узнать, что менялось в документе и кемВключите версионирование объектов и откройте историю изменений
Нужно сравнить два файла печатной формы или отчёта (mxl, mxl-шаблоны)Используйте «Файл → Сравнить файлы» в режиме 1С:Предприятие
Нужно сравнить конфигурацию с файлом обновления или другой конфигурациейВ конфигураторе: «Конфигурация → Сравнить, объединить с конфигурацией из файла»
Нужно сопоставить два разных документа в базеВыведите оба в табличные документы или используйте обработку сравнения

Сравнение версий одного документа через версионирование

Версионирование объектов — механизм БСП, который сохраняет снимки документа при каждом изменении. Если он включён, вы можете открыть историю и сравнить любые две версии между собой: платформа покажет, какие реквизиты и строки табличных частей изменились, какие значения были и какими стали.

Проверьте, включено ли версионирование: в типовых конфигурациях путь обычно «Администрирование → Общие настройки → Версионирование объектов» (в некоторых конфигурациях раздел называется «Поддержка и обслуживание»). Там задаётся список типов объектов, для которых ведётся история, и срок хранения версий.

Чтобы сравнить версии, откройте нужный документ и в меню «Ещё» найдите пункт «История изменений» (иногда «Версии объекта»). В списке версий выделите две строки через Ctrl и нажмите кнопку сравнения. Откроется отчёт, где различия подсвечены: изменённые реквизиты, добавленные и удалённые строки табличных частей.

Порядок действий с версионированием
  1. 1
    Откройте «Администрирование → Общие настройки → Версионирование объектов» и включите версионирование для нужных типов документов
  2. 2
    Откройте документ, который нужно проверить
  3. 3
    В меню «Ещё» выберите «История изменений»
  4. 4
    Выделите две версии с зажатой клавишей Ctrl
  5. 5
    Нажмите «Сравнить» и изучите отчёт о различиях
  6. 6
    При необходимости восстановите нужную версию кнопкой «Перейти на версию»

Учтите ограничение: версионирование фиксирует только изменения, сделанные после его включения. Историю за прошлые периоды восстановить нельзя, если механизм не работал. Также версии занимают место в базе — для массовых документов разумно ограничивать срок хранения.

Сравнение файлов печатных форм и отчётов

Когда нужно сравнить два сохранённых табличных документа — например, печатную форму до и после доработки или два варианта отчёта — используйте встроенное сравнение файлов. В режиме 1С:Предприятие откройте меню «Файл → Сравнить файлы» и укажите оба файла формата mxl (табличный документ).

Платформа построит отчёт о различиях: расхождения в значениях ячеек, отличающиеся области, различия в оформлении. Это удобно при проверке доработок печатных форм — вы сразу видите, какие ячейки изменились, а не сравниваете документы визуально построчно.

Если исходные данные хранятся не в mxl, сначала выведите документы в табличный вид: сформируйте печатную форму или отчёт и сохраните их через «Файл → Сохранить копию» в формате mxl. Сравнение текстовых файлов (например, модулей, сохранённых в txt) также выполняется этим же пунктом меню.

Сравнение конфигураций в конфигураторе

Для сопоставления двух конфигураций — например, текущей базы с файлом обновления или с конфигурацией поставщика — используется конфигуратор. Откройте базу в конфигураторе и выберите «Конфигурация → Поддержка → Настройка поддержки» не нужно: для сравнения достаточно пункта «Конфигурация → Сравнить, объединить с конфигурацией из файла», где указывается cf-файл.

Результат — дерево объектов с отметками о различиях: изменённые, добавленные, удалённые объекты. Для модулей доступно построчное сравнение текстов — двойной щелчок по объекту открывает окно, где различия подсвечены. Это стандартный инструмент при обновлении доработанных конфигураций.

Сравнение двух разных документов в базе

Штатной кнопки «сравнить два документа» в типовых конфигурациях нет, но задача решается несколькими способами. Самый простой — вывести оба документа в табличные документы (печатные формы) и сравнить их через «Файл → Сравнить файлы», как описано выше. Способ подходит, когда печатная форма отражает все значимые данные.

Второй вариант — открыть оба документа рядом в двух окнах и сопоставить реквизиты вручную. Это приемлемо для небольших документов, но неудобно при больших табличных частях. Для регулярной работы имеет смысл написать или взять готовую внешнюю обработку сравнения объектов: она обходит реквизиты и табличные части двух ссылок и выводит таблицу различий.

Третий вариант — универсальный отчёт или консоль запросов: выберите данные двух документов запросом с объединением и найдите расхождения по суммам и количеству. Такой подход удобен, когда сравниваются только табличные части товаров или услуг.

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

Проверка результата и типичные ошибки

После сравнения убедитесь, что результат интерпретирован правильно. В отчёте о различиях версий пустые строки табличной части могут отображаться как изменение, хотя фактически данные не менялись — проверяйте не только подсветку, но и сами значения. При сравнении mxl-файлов различия в оформлении (шрифт, цвет) отображаются отдельно от различий в данных — не путайте их.

Частая ошибка — попытка сравнить версии документа при выключенном версионировании и вывод о том, что «история не работает». Другая типичная ситуация — сравнение mxl-файлов, сохранённых из разных релизов конфигурации: различия в макетах дают массу ложных расхождений, и анализ нужно начинать с данных, а не с оформления.

Типичные ошибки
01
Ожидание истории изменений при выключенном версионировании — данные за прошлые периоды не восстанавливаются
02
Сравнение mxl-файлов из разных релизов — различия в макетах маскируют реальные расхождения в данных
03
Объединение конфигураций без резервной копии — откатить изменения невозможно
04
Сравнение документов вручную по форме при больших табличных частях — высок риск пропустить расхождение, лучше выгрузить в табличный документ

Часто задаваемые вопросы

Можно ли сравнить два документа Word или PDF из 1С?

Штатных средств сравнения файлов Word и PDF в платформе нет. Сравнивать можно табличные документы (mxl) и текстовые файлы. Если печатная форма выгружена в PDF, сохраните её дополнительно в mxl и сравнивайте в этом формате.

Почему в меню «Ещё» нет пункта «История изменений»?

Пункт появляется только при включённом версионировании для данного типа объектов и при наличии у пользователя соответствующих прав. Проверьте настройку в разделе «Администрирование → Общие настройки» и права доступа.

Можно ли восстановить старую версию документа?

Да, если версионирование было включено на момент изменений. В списке версий выберите нужную и нажмите «Перейти на версию» — текущее состояние при этом сохранится как новая версия, поэтому откат обратим.

Как сравнить тексты модулей двух конфигураций?

В конфигураторе выполните «Сравнить, объединить с конфигурацией из файла», затем в дереве различий откройте нужный объект двойным щелчком — для модулей отобразится построчное сравнение текстов с подсветкой различий.

Замедляет ли версионирование работу базы?

Запись версии добавляет небольшую нагрузку при проведении документов, а сами версии занимают место. Для массовых документов ограничьте срок хранения версий и включайте версионирование только для действительно важных типов объектов.

Итог

Что важно запомнить

Выбор инструмента зависит от задачи: версионирование — для истории изменений одного документа, сравнение файлов — для печатных форм и отчётов, конфигуратор — для конфигураций. Включайте версионирование заранее, а перед объединением конфигураций всегда делайте резервную копию.