Отчеты и Аналитика · 13 мин
Как сравнить два отчета в 1С: рабочие способы и пошаговые инструкции
Как сравнить два отчета в 1С: универсальный отчет, сравнение файлов MXL, обработки и типовые механизмы. Пошаговые инструкции, проверка результата и типичные ошибки.
Необходимость сравнить два отчета в 1С возникает регулярно: бухгалтер сверяет оборотно-сальдовую ведомость за разные периоды, менеджер проверяет, почему отчет по продажам «вчера» и «сегодня» показывает разные суммы, а специалист по внедрению ищет расхождения после обновления конфигурации. Универсальной кнопки «сравнить отчеты» в типовых конфигурациях нет, поэтому задача решается несколькими способами — от простого визуального сопоставления до программного сравнения табличных документов.
Выбор способа зависит от того, что именно сравнивается: два экземпляра одного отчета с разными настройками, отчет до и после перепроведения документов, либо отчеты из разных баз (например, рабочей и копии). Ниже разобраны основные методы с точными действиями, ограничениями каждого подхода и признаками того, что сравнение выполнено корректно.
Важно заранее определить критерий сравнения: совпадение итоговых сумм, построчное совпадение детальных записей или совпадение структуры данных. От этого зависит и инструмент, и глубина проверки — иногда достаточно сверить три контрольные цифры, а иногда требуется полный разбор расхождений до документа.
Определите, что именно вы сравниваете
Прежде чем выбирать инструмент, зафиксируйте три параметра задачи. Первый — источник отчетов: одна база или две разные. Сравнение внутри одной базы проще, так как данные доступны одновременно. Сравнение между базами потребует выгрузки результатов в файлы или использования внешних обработок.
Второй параметр — уровень детализации. Если нужно понять, совпадают ли итоги по счету 62 за два периода, достаточно сравнить несколько чисел. Если требуется найти, какой именно документ «ушел» из отчета после перепроведения, понадобится построчное сравнение с расшифровкой.
Третий параметр — повторяемость задачи. Разовая сверка выполняется вручную за несколько минут. Если сравнение нужно регулярно (например, контроль отчетности после каждого обновления), имеет смысл один раз настроить механизм: вариант отчета с группировкой по периодам или внешнюю обработку.
Как выбрать способ сравнения
Способ 1: сравнение через сохранение в MXL
Самый доступный метод, не требующий прав разработчика. Сформируйте первый отчет, затем через меню «Файл — Сохранить копию» (в ряде версий — «Сохранить как») сохраните табличный документ в формате MXL. Повторите для второго отчета. В результате получите два файла, которые можно сравнить.
Для сравнения файлов откройте конфигуратор и используйте пункт меню «Файл — Сравнить файлы». Платформа покажет различия построчно: измененные, добавленные и удаленные строки будут подсвечены. Это удобно, когда отчеты почти совпадают и нужно найти точечные расхождения.
Ограничение метода: сравнение идет по текстовому представлению ячеек. Если в первом отчете сумма выведена как «1 234,56», а во втором — «1234,56» без разделителя разрядов, платформа покажет различие, хотя фактически значения равны. Поэтому перед сохранением приведите оба отчета к одинаковым настройкам форматирования и одинаковой структуре колонок.
- 1Сформируйте первый отчет и зафиксируйте его настройки (период, отборы, группировки)
- 2Сохраните результат: Файл — Сохранить копию — формат MXL
- 3Сформируйте второй отчет с теми же настройками структуры, но измененным условием (другой период, другая база)
- 4Сохраните второй результат в MXL
- 5Откройте конфигуратор: Файл — Сравнить файлы, укажите оба MXL
- 6Проанализируйте подсвеченные различия, начиная с итоговых строк
Способ 2: два периода в одном отчете через настройки
Большинство типовых отчетов в конфигурациях на базе БСП (Управление торговлей, Комплексная автоматизация, ERP, Бухгалтерия) построены на системе компоновки данных. Это позволяет вывести сравнение прямо внутри одного отчета, не прибегая к файлам.
Откройте настройки отчета кнопкой «Настройки» или «Изменить вариант». Добавьте в структуру группировку по периоду — по месяцам, кварталам или произвольным интервалам, если отчет это поддерживает. Сформируйте отчет за общий диапазон, охватывающий оба сравниваемых периода. В результате каждый показатель будет показан отдельно по каждому периоду в соседних строках или колонках, и расхождения видны сразу.
Во многих типовых отчетах (например, «Анализ продаж», «Валовая прибыль», оборотно-сальдовые отчеты) есть готовые варианты с динамикой: «в сравнении с прошлым периодом», «в сравнении с аналогичным периодом». Проверьте список вариантов отчета — возможно, нужное сравнение уже предусмотрено разработчиками конфигурации.
Преимущество способа — данные сравниваются «живые», с возможностью расшифровки до документа двойным щелчком. Недостаток — метод работает только внутри одной базы и только для отчетов на СКД с гибкими настройками.
Способ 3: универсальный отчет и сверка остатков
Для сравнения данных по регистрам, документам и справочникам в типовых конфигурациях предназначен «Универсальный отчет». Он позволяет построить выборку по любому регистру накопления или сведений за заданный период с произвольными отборами и группировками.
Практический сценарий: сформируйте универсальный отчет по регистру (например, «Товары на складах») на одну дату, сохраните или зафиксируйте итоги. Затем измените дату и сформируйте снова. Сравнение двух результатов покажет, какие позиции изменились. Если конфигурация поддерживает вывод остатков на две даты в одном отчете — используйте этот режим, он выведет обе колонки рядом.
Универсальный отчет особенно полезен, когда типовой отчет показывает «не ту» цифру и нужно понять, какие данные лежат в регистре на самом деле. Сравнение типового отчета с универсальным по тому же регистру быстро показывает: проблема в данных или в настройках отбора типового отчета.
Способ 4: программное сравнение табличных документов
Когда сравнение нужно регулярно или объем данных велик, используется программный метод. Платформа позволяет сравнить два табличных документа встроенными средствами: оба документа загружаются в объекты типа «ТабличныйДокумент», после чего в цикле сравнивается содержимое ячеек либо используется метод сравнения файлов.
Типовой подход: сформировать оба отчета программно (через компоновщик макета или вызов функциональности отчета), получить результаты в табличные документы, затем пройти по областям и собрать различия в отдельную таблицу расхождений. Результат выводится пользователю или записывается в файл.
ТабДок1 = Новый ТабличныйДокумент;
ТабДок1.Прочитать("C:\Отчет1.mxl");
ТабДок2 = Новый ТабличныйДокумент;
ТабДок2.Прочитать("C:\Отчет2.mxl");
Высота = Мин(ТабДок1.ВысотаТаблицы, ТабДок2.ВысотаТаблицы);
Ширина = Мин(ТабДок1.ШиринаТаблицы, ТабДок2.ШиринаТаблицы);
Для Строка = 1 По Высота Цикл
Для Колонка = 1 По Ширина Цикл
Текст1 = ТабДок1.Область(Строка, Колонка).Текст;
Текст2 = ТабДок2.Область(Строка, Колонка).Текст;
Если Текст1 <> Текст2 Тогда
Сообщить("Расхождение: стр." + Строка + ", кол." + Колонка);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Этот путь требует навыков программирования на встроенном языке и доступа к конфигуратору или внешней обработке. Для разовой задачи он избыточен, но для регламентного контроля (например, сверка отчетов до и после обновления конфигурации) окупается полностью.
При программном сравнении сравнивайте не только текст ячеек, но и числовые значения через приведение типов. Текстовое сравнение дает ложные расхождения из-за форматирования: пробелы-разделители, разное число знаков после запятой, представление дат. Надежнее сравнивать сами данные до вывода в табличный документ, если есть доступ к результату компоновки.
Как проверить результат сравнения
Само по себе наличие или отсутствие различий еще не отвечает на вопрос «все ли в порядке». Начните проверку с итоговых показателей: если итоги совпадают, а детальные строки различаются, вероятно, изменилась только группировка или порядок сортировки — данные те же. Если итоги различаются, расхождение нужно искать в данных.
Двигайтесь от общего к частному: сначала итог отчета, затем итоги по крупным группировкам (счета, склады, организации), затем детальные строки, затем расшифровка до документов. Такой порядок сокращает область поиска в разы по сравнению с построчным просмотром.
Как проверить результат сравнения
Итоги совпадают до копейки
Итоги различаются — ищите расхождение по группировкам
Одинаковый набор и порядок колонок
Разная структура — сравнение некорректно, приведите настройки к одному виду
Период, организация, отборы идентичны (кроме сравниваемого условия)
Отборы различаются — различия вызваны настройками, а не данными
Расхождение объясняется конкретным документом или изменением данных
Причина расхождения не найдена — проверьте актуальность итогов и перепроведение
Типичные ошибки при сравнении отчетов
Самая частая ошибка — сравнение отчетов с разными настройками. Отчет по организации «в целом» и отчет с отбором по конкретному подразделению покажут разные цифры, и это не расхождение данных, а разница условий. Всегда сверяйте панель настроек обоих отчетов до начала анализа.
Вторая ошибка — игнорирование момента формирования. Отчет, сформированный утром, и тот же отчет после обеда могут различаться просто потому, что пользователи ввели новые документы. Для корректного сравнения фиксируйте состояние базы: либо формируйте оба отчета подряд без промежуточных изменений, либо работайте в копии базы.
Третья ошибка — сравнение по экрану «на глаз» при больших объемах. Человеческий глаз пропускает расхождения в длинных таблицах. Если строк больше нескольких десятков, используйте файловое или программное сравнение — оно исключает субъективный фактор.
Сравнение отчетов из разных баз
Отдельный сценарий — сравнение отчетов из рабочей базы и ее копии, либо из двух организаций с похожими данными. Прямого способа связать два отчета из разных баз в пользовательском режиме нет, поэтому применяется выгрузка: оба отчета сохраняются в MXL или Excel и сравниваются внешними средствами.
При выгрузке в Excel удобно использовать функции сравнения таблиц (например, формулы ВПР или условное форматирование различий). Этот путь знаком большинству пользователей и не требует доступа к конфигуратору. Убедитесь только, что обе выгрузки имеют одинаковый порядок строк — иначе сравнение «строка к строке» даст сплошные различия.
Перед сравнением из разных баз проверьте сопоставимость: одинаковые ли версии конфигурации, одинаковые ли настройки учета, одинаковый ли состав данных на дату сравнения. Разные версии конфигурации могут по-разному рассчитывать один и тот же показатель, и это будет источником «расхождений», не связанных с данными.
Что важно запомнить
Для разового сравнения сохраните отчеты в MXL и сравните файлы в конфигураторе. Для сравнения периодов настройте группировку по периоду внутри одного отчета. Для регулярного контроля используйте программное сравнение. Всегда проверяйте идентичность настроек и момент формирования — большинство «расхождений» объясняется разными отборами, а не данными.
Частые вопросы
Можно ли сравнить два отчета в 1С без доступа к конфигуратору?
Да. Сохраните оба отчета в формат Excel и сравните средствами Excel (формулы, условное форматирование). Либо используйте группировку по периодам внутри одного отчета — тогда сравнение выполняется встроенными средствами СКД прямо в пользовательском режиме.
Почему один и тот же отчет показывает разные суммы при повторном формировании?
Наиболее вероятные причины: между формированиями пользователи ввели или изменили документы; в отчете используется динамический период («текущий месяц», «сегодня»), который сместился; не рассчитаны итоги по регистрам. Сформируйте отчет дважды подряд с зафиксированным периодом — если суммы стабильны, причина была в изменении данных.
Как сравнить оборотно-сальдовую ведомость за два разных месяца?
Откройте настройки ОСВ, добавьте группировку по периоду с месячной детализацией и сформируйте отчет за диапазон, включающий оба месяца. Обороты и сальдо будут показаны по каждому месяцу отдельно в одной таблице, что позволяет сравнить их без выгрузок.
Отчеты совпадают по итогам, но различаются в деталях — это нормально?
Не обязательно. Совпадение итогов при разных детальных строках бывает при изменении порядка сортировки или группировки — тогда это норма. Но если строки относятся к разным документам, возможны взаимокомпенсирующие ошибки: одна сумма лишняя, другая недостающая. Такие случаи требуют расшифровки до документов.
Как автоматизировать сравнение отчетов после каждого обновления конфигурации?
Сформируйте эталонные отчеты до обновления и сохраните их в MXL или как макеты. После обновления сформируйте те же отчеты с теми же настройками и сравните программно — циклом по ячейкам табличных документов или через сравнение файлов. Набор эталонных отчетов и настроек стоит зафиксировать заранее, чтобы каждый раз сравнивалось одно и то же.
Чем сравнение в MXL отличается от выгрузки в Excel?
MXL — родной формат табличных документов платформы, он сохраняет структуру и сравнивается штатным механизмом «Сравнить файлы» в конфигураторе. Excel удобнее для пользователей без доступа к конфигуратору и позволяет применять формулы и фильтры, но при экспорте возможны потери форматирования и преобразование чисел в текст, что мешает точному сравнению.