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

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

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

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

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

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

Функция СравнитьТаблицыЗначений(Таблица1,Таблица2)

ПострительОтчета = Новый ПостроительОтчета;

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

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

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

КонецФункции

13 Comments

  1. u_n_k_n_o_w_n

    Плагиат!!! Не плохо бы было, если автор указал ссылку на первоисточник.

    Reply
  2. Mi4man

    (1) u_n_k_n_o_w_n, слышали про Синтакс-помощник ?

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

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

    А как насчет выводить тип значения в отдельной колонке? Тогда можно и типы сравнивать вашим этим способом)

    Reply
  4. Mi4man

    (3) ya.Avoronov, не, это не для этого случая…

    Тогда бы я использовал совсем другой инструментарий….

    Reply
  5. necropunk

    Сравнение файла для кого-то новость? Помню когда-то к подсистеме версионирования прикручивал, удобно было. Ну и стоит отметить, что (если я не ошибаюсь) работает только на обычном приложении, на управляемом вроде бы не взлетало.

    Reply
  6. necropunk

    (3) ya.Avoronov, В принципе, можно в отдельную колонку вывести тип и сравнивать на здоровье :)))

    Reply
  7. Mi4man

    (5) necropunk, почему бы на УФ ей не летать?

    Reply
  8. vikad

    (7) потому что СравнениеФайлов = Новый СравнениеФайлов; в управляемом приложении работает только в толстом клиенте. Но есть умельцы на Инфостарте, которые вызывают стандартное сравнение файлов из тонкого клиента http://infostart.ru/public/292916/

    Reply
  9. Mi4man

    (1) u_n_k_n_o_w_n, (5) necropunk, вот смотрю я на ваши комменты и думаю — ну точно не для вас публиковал

    Reply
  10. necropunk

    (7) увы, только толстый клиент. Сам обломался, когда хотел в свое решение вставить однажды. Пришлось вручную этот функционал писать, ибо о решении в (8) не знал.

    Reply
  11. necropunk

    (9) да я ничего против публикации не имею, просто дополнил.

    Reply
  12. DrAku1a

    Есть способ проще: Файл — Сравнить файлы…

    Есть способ чуть сложнее: поискать на Инфостарте. Тут есть даже разработки, умеющие сравнивать и показывать разницу между числовыми значениями…

    Reply
  13. Mi4man

    (12) DrAku1a, мда… теперь я понимаю зачем есть галочка «Отключить комментарии»

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *