Название | Версия | Размер | Цена |
СравнитьФайлыЧерезФайлСравнить.epf | 4mb | - |
Столкнулся с тем, что понадобилось на управляемых формах сравнить 2 текстовых файла. Как оказалось, механизм Новый СравнениеФайлов, предназначенный для сравнения и определения различий между двумя файлами с учетом их структуры, работает только в толстом клиенте. Пришлось писать свой механизм. За основу была взята обработка, но она не подошла, так как устарела. Интерфейс поменялся, да и мне надо было сравнить 2 текстовых файла. Выкладываю, что получилось – может, кому пригодится.
Кнопка «Сравнить через файл/Сравнить»
1. Если тонкий клиент получаем штатный диалог
Специально не стал нажимать ОК, так как пользователь может захотеть выбрать опции сравнения. Это штатный механизм 1с доступный через сервисное меню
2. Если толстый клиент, то сразу диалог сравнения
3. Добавил еще вариант через внешний EXE WinMergeU работает в тонком и толстом клиенте. web - не проверял.
Смысл:
В макете содержится EXE файл с https://www.autohotkey.com/ он сохраняется во временных файлах. Ему передается скрипт из макета СкриптТонкийКлиент (тоже сохраняется во врем файлах). Самое важное! Если будете встраивать все это в свою конфигурацию или обработку, то из того места, откуда будет вызываться сравнение через Файл/Сравнить, по кнопке ALT должно быть доступно меню «Сервис и Настройки»
Через WinMergeU алгоритм такой же - Макет сохраняется во временную папку в виде EXE файла и запускается через ЗапуститьПриложение. Сервисное меню 1с не используется.
Временная папка не чистится после просмотра сравнения! Это можно сделать в обработчике ПриЗакрытии обработки.
Проверялось на платформе 1С:Предприятие 8.3 (8.3.19.1264) Бухгалтерия предприятия, редакция 3.0 (3.0.100.16). Конфигурация роли не играет. Главное, чтобы была на управляемых формах.
---------------------------------------------
Название | Версия | Размер | Цена |
СравнитьФайлыЧерезФайлСравнить.epf | 4mb | - |