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

13.11.15

Разработка - Универсальные функции

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

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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

Построитель отчета сравнение таблица значений

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    7647    Abysswalker    11    

49

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    12897    DeerCven    15    

64

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    65893    dimanich70    87    

177

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    8745    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    82590    atdonya    31    

75

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    12733    ke.92@mail.ru    18    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. u_n_k_n_o_w_n 35 13.11.15 10:16 Сейчас в теме
Плагиат!!! Не плохо бы было, если автор указал ссылку на первоисточник.
2. Mi4man 176 13.11.15 10:24 Сейчас в теме
(1) u_n_k_n_o_w_n, слышали про Синтакс-помощник ?
9. Mi4man 176 13.11.15 14:51 Сейчас в теме
(1) u_n_k_n_o_w_n, (5) necropunk, вот смотрю я на ваши комменты и думаю - ну точно не для вас публиковал
11. necropunk 11 13.11.15 15:29 Сейчас в теме
(9) да я ничего против публикации не имею, просто дополнил.
3. ya.Avoronov 115 13.11.15 12:46 Сейчас в теме
Конечно, сразу скажу, что такой способ предполагает сравнение только по текстовому представлению данных.

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


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