Детальное сравнение табличных документов с визуальной подсветкой и разбором по ячейкам

Знакома ли вам ситуация: нужно сравнить два отчета, печатные формы или выгрузки, а стандартное сравнение файлов показывает «кашу» из-за смещения строк или объединенных ячеек?
Большинство существующих инструментов сравнивают табличные документы построчно (строка 1 = строка 1). Но стоит появиться одной лишней строке в начале документа, и всё сравнение едет, выдавая сотни ложных отличий.
Данная обработка решает эту проблему раз и навсегда. Она сравнивает табличные документы по ключевым значениям, а не по номерам строк, подсвечивает отличия прямо в ячейках и выдает детальный текстовый лог: где, что и на что изменилось.
Кому и зачем это нужно?
- Аналитикам и бухгалтерам — для сверки отчетов, обороток и ведомостей из разных баз или за разные периоды.
- Разработчикам — для сравнения печатных форм до и после доработки, особенно когда в форму добавляются новые колонки или строки.
- Тестировщикам — для быстрого поиска расхождений в регламентированных отчетах.
Ключевые особенности и преимущества
1. Интеллектуальное сравнение (по ключу, а не по номеру строки)
Обработка автоматически определяет ключевую колонку (по умолчанию — первая). Строки ищутся по ключу, поэтому добавление или удаление строк в середине документа не ломает логику сравнения. Отличия ищутся там, где они есть на самом деле.
2. Детальный разбор по колонкам (Diff по ячейкам)
Если строка найдена по ключу, но данные в ней расходятся, обработка не просто скажет «строки разные». Она пройдется по каждой колонке и выдаст точный лог: Колонка 'Сумма': в 1-м [1000], во 2-м [1200] Вы сразу видите, в каком именно поле изменилось значение.
3. Визуальная подсветка прямо в табличных документах
Вам не нужно долго изучать текстовый лог. Обработка автоматически подсвечивает строки в самих табличных документах:
- Розовый — строка есть в 1-м документе, но удалена во 2-м.
- Светло-зеленый — строка добавлена во 2-м документе (отсутствовала в 1-м).
- Светло-желтый — строка изменена (найдены расхождения в ячейках).
4. Надежная работа со сложными таблицами
В коде используется ПостроительЗапроса для выгрузки табличного документа в таблицу значений. Это позволяет корректно обрабатывать документы с объединенными ячейками и сложной структурой, которые ломают обычный поэлементный обход.
5. Стабильность при дубликатах
Встречаются строки с одинаковым ключом? Алгоритм использует индексацию через Соответствие и проверку полного совпадения строк. Это исключает ложные срабатывания, если в документе есть дубликаты номенклатуры или контрагентов.
6. Чистота исходных данных
Техническая колонка с уникальными идентификаторами (УИД), необходимая для точной подсветки строк, добавляется на время выполнения алгоритма и гарантированно удаляется перед возвратом результата пользователю. Табличные документы остаются чистыми, без мусорных данных.
Техническая изюминка (под капотом)
Для разработчиков важно понимать, как работает магия подсветки. Вместо ненадежного запоминания номеров строк (которые могут съехать при любых модификациях), обработка:
- Добавляет скрытую колонку с уникальным UUID для каждой строки (
ДобавитьКолонкуУИД). - Выгружает данные в ТЗ и проводит сравнение, собирая массивы UUID для категорий «Удалено», «Добавлено», «Изменено».
- Откатывается к табличному документу, находит UUID и красит области
Область(Стр, 1, Стр, ШиринаБезУИД). - Удаляет техническую колонку.
Такой подход на 100% гарантирует, что подсветится именно та строка, в которой найдено отличие, независимо от сдвигов таблицы.
Как это использовать?
- Откройте обработку в любой конфигурации (управляемые формы).
- В поле "ТабДок1" вставить данные скопированные из любой таблицы Excel, табличного документа, таблицы значений и тд
- В поле "ТабДок2" аналогичноТабДок1 .
- Нажмите кнопку "Сравнить документы".
- Изучите визуальный результат на экране и читаемый текстовый лог в поле "Результат".
Экономьте часы работы вместо утомительного визуального поиска отличий «на глаз»!
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.26.110
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.466
Вступайте в нашу телеграмм-группу Инфостарт