Понадобилось для одного проекта программно вызывать сравнение табличных документов. С удивлением обнаружил, что ранее активно используемый объект СравнениеФайлов
в тонком клиенте не поддерживается. Беглый поиск показал, что народ занялся костылизацией отсутствующего функционала: кто-то вызывает внешние приложения или эмулирует нажатие клавиш через AutoHotKey, кто-то дорабатывает типовые формы сравнения версий объектов БСП.
Решил подключиться к этому празднику жизни. Наиболее универсальным и перспективным мне показался метод, описанный в публикации Простенький diff-ер для mxl-файлов, однако в исходной публикации методика использовалась для вызова не из 1С, а из SVN-приложений.
Поэтому, взяв за основу идею и напильник для доработки, выкладываю готовый инструмент для сравнения файлов в тонком клиенте. Обработка универсальна для всех конфигураций на основе БСП. Под капотом встроенная в макет обработки конфигурация (1CD) на обычных формах, которая создается в автоматическом режиме в каталоге временных файлов и служит только для того, чтобы задействовать объект СравнениеФайлов
. Интерфейс максимально приближен к платформенной обработке и служит только для демонстрации открытия внешней информационной базы с вызовом сравнения файлов и показом результата сравнения пользователю.
Среда разработки: Windows 10, платформа 8.3.23, Зарплата и управление персоналом, редакция 3.1 (3.1.27.51), однако думается, что обработка будет работоспособна на любой ОС, платформе и конфигурации. Единственным необходимым условием является наличие БСП, но это только потому, что мне было лень писать выбор файлов с локальных ресурсов, использовал БСПшные методы.
Работает через Файл > Открыть, а может быть добавлена в раздел Дополнительные отчеты и обработки.
Всем удачного кодинга!