gifts2017

Быстрое визуальное сравнение двух таблиц значений

Опубликовал Михаил Кочнев (Mi4man) в раздел Программирование - Универсальные функции

Предлагаю простой способ сравнить две таблицы значений.

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

Т.е., например, число 5 и строка "5" не покажут разницы.

Но для других случаев этот пример будет очень полезен.

p.s. искал такой же вариант на ИС, но, увы, не нашел...

Функция СравнитьТаблицыЗначений(Таблица1,Таблица2)
	
	ПострительОтчета = Новый ПостроительОтчета;
	
	// подготовка 1-ой таблицы
	ПострительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(Таблица1);
	ПострительОтчета.ЗаполнитьНастройки();
	ТабДок = Новый ТабличныйДокумент; 
	ПострительОтчета.Вывести(ТабДок);
	ИмяФайла1 = ПолучитьИмяВременногоФайла();
	ТабДок.Записать(ИмяФайла1);
	
	// подготовка 2-ой таблицы
	ПострительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(Таблица2);
	ПострительОтчета.ЗаполнитьНастройки();
	ТабДок = Новый ТабличныйДокумент; 
	ПострительОтчета.Вывести(ТабДок);
	ИмяФайла2 = ПолучитьИмяВременногоФайла();
	ТабДок.Записать(ИмяФайла2);
	
	// сравнение
	СравнениеФайлов = Новый СравнениеФайлов;
	СравнениеФайлов.ПервыйФайл = ИмяФайла1;
	СравнениеФайлов.ВторойФайл = ИмяФайла2;
	СравнениеФайлов.СпособСравнения = СпособСравненияФайлов.ТабличныйДокумент;
	СравнениеФайлов.ПоказатьРазличия();
	
КонецФункции

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Иванов (u_n_k_n_o_w_n) 13.11.15 10:16
Плагиат!!! Не плохо бы было, если автор указал ссылку на первоисточник.
2. Михаил Кочнев (Mi4man) 13.11.15 10:24
(1) u_n_k_n_o_w_n, слышали про Синтакс-помощник ?
3. Александр Воронов (ya.Avoronov) 13.11.15 12:46
Конечно, сразу скажу, что такой способ предполагает сравнение только по текстовому представлению данных.

Т.е., например, число 5 и строка "5" не покажут разницы.


А как насчет выводить тип значения в отдельной колонке? Тогда можно и типы сравнивать вашим этим способом)
4. Михаил Кочнев (Mi4man) 13.11.15 13:26
(3) ya.Avoronov, не, это не для этого случая...
Тогда бы я использовал совсем другой инструментарий....
5. Сергей (necropunk) 13.11.15 13:45
Сравнение файла для кого-то новость? Помню когда-то к подсистеме версионирования прикручивал, удобно было. Ну и стоит отметить, что (если я не ошибаюсь) работает только на обычном приложении, на управляемом вроде бы не взлетало.
6. Сергей (necropunk) 13.11.15 13:46
(3) ya.Avoronov, В принципе, можно в отдельную колонку вывести тип и сравнивать на здоровье :)))
7. Михаил Кочнев (Mi4man) 13.11.15 14:00
(5) necropunk, почему бы на УФ ей не летать?
8. Виктория Дорохина (vikad) 13.11.15 14:17
(7) Mi4man, потому что СравнениеФайлов = Новый СравнениеФайлов; в управляемом приложении работает только в толстом клиенте. Но есть умельцы на Инфостарте, которые вызывают стандартное сравнение файлов из тонкого клиента http://infostart.ru/public/292916/
9. Михаил Кочнев (Mi4man) 13.11.15 14:51
(1) u_n_k_n_o_w_n, (5) necropunk, вот смотрю я на ваши комменты и думаю - ну точно не для вас публиковал
10. Сергей (necropunk) 13.11.15 15:27
(7) Mi4man, увы, только толстый клиент. Сам обломался, когда хотел в свое решение вставить однажды. Пришлось вручную этот функционал писать, ибо о решении в (8) не знал.
11. Сергей (necropunk) 13.11.15 15:29
(9) Mi4man, да я ничего против публикации не имею, просто дополнил.
12. Андрей Акулов (DrAku1a) 24.11.15 03:28
Есть способ проще: Файл - Сравнить файлы...
Есть способ чуть сложнее: поискать на Инфостарте. Тут есть даже разработки, умеющие сравнивать и показывать разницу между числовыми значениями...
13. Михаил Кочнев (Mi4man) 24.11.15 09:40
(12) DrAku1a, мда... теперь я понимаю зачем есть галочка "Отключить комментарии"
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа