Сериализация таблицы значений #806024


#0 by Shrk_V_V_V
Сравниваю две таблицы значений с помощью функции ЗначениеВСтрокуВнутр. Но не сравниваются, потому что в каждой строке тзн есть какие-то флажки, которые отличаются. Что это за флажки, как их можно поменять, чтобы совпадали? Платформа 1С 8.2, последняя.
#1 by DrShad
с помощью этой функции нельзя сравнить две таблицы от слова совсем никак
#2 by Shrk_V_V_V
Раз нет аргументов, предполагается, что я должен поверить?
#3 by DrShad
самому мозг включить не судьба? отсортируй их по разному и сравни? таблицы то одинаковы, но сравнить сериализовав никак
#4 by Shrk_V_V_V
#5 by Shrk_V_V_V
Очевидно, что надо отсортировать перед сравнением и обеспечить идентичный порядок колонок. Ну и мозг включить)
#6 by DrShad
иди у гугла спроси, уже есть несколько алгоритмов сравнения таблиц и все опубликованы и не надо ничего сериализовать, если сам додуматься не можешь
#7 by Shrk_V_V_V
Вопрос был, как работает функция 1с ЗначениеВСтрокуВнутр для таблицы значений. Если не знаешь, можно просто проигнорировать тему. Зачем спамить?
#8 by DrShad
нет в таблицах никаких флажков, ибо флажок это клиентское представление на форме
#9 by Shrk_V_V_V
красненьким подчеркнутые циферки интересуют. Наверно я их неудачно флажками назвал.
#10 by DrShad
забудь вообще про эту функцию, она была актуальна только в 7.7 и то не везде
#11 by Shrk_V_V_V
Доктор, при всем уважении, выступаете невежливо и не по делу.
#12 by DrShad
ну если я тебе скажу что эти циферки это описание таблицы, тебе легче станет?
#13 by DrShad
и если даже они у тебя не сходятся, то таблицы по любому разные
#14 by Лефмихалыч
обе ТЗ в запрос и полное соединение
#15 by Shrk_V_V_V
Легче станет, если найти конкретное описание этих циферок. Мой пример работает. А если выгрузить запрос в тзн, потом очистить, и потом заполнить то же самое руками, то в этих циферках получается расхождение. Понятно, что я функцию csv написал руками и все уже сравнил. Но так бы получилось короче и быстрее, вот и решил узнать, может кто разбирался.
#16 by Shrk_V_V_V
>обе ТЗ в запрос и полное соединение прикольный вариант. Но надо писать запрос, а тема с сериализацией работает для любой структуры.
#17 by Рэйв
В качестве извращенного варианта: Сделай в каждой тз по еще одной колонке, куда для каждой строки сложи сумму ЗначениеВСтрокуВнутр всех значений, потом  сложи все значения в этой колонке и сравни с такой же хренью в другой тз:-)
#18 by ptiz
Почему бы не сериализовать в XML и сравить там?
#19 by DrShad
короче, быстрее и самое главное всегда верно работает вот так
#20 by DrShad
тогда уж проще сравнивать JSON
#21 by Shrk_V_V_V
>Почему бы не сериализовать в XML и сравить там? Так можно. Но я не умею писать тзн в XMl(и обратно) одной строчкой, ну и длиннее строчка получается итоговая.
#22 by Shrk_V_V_V
>тогда уж проще сравнивать JSON в 8.2 нету((((((
#23 by Рэйв
#24 by DrShad
есть, просто вы не умеете им пользоваться
#25 by Shrk_V_V_V
А обратно?
#26 by Филиал-msk
Осеннее обострение уберпрограммистов началось. Ты б еще md5 хеш посчитал. А, извини, md5 скомпроментирован. Тогда sha1
#27 by Рэйв
#28 by DrShad
пользуйся на здоровье
#29 by DrShad
обратно через чтениеXML
#30 by Shrk_V_V_V
Спасибо, понятно что можно использовать самописку, и я использовал Спасибо большое, прикольный вариант, работает как песня))
#31 by Shrk_V_V_V
Главное, неведомой фигни нет))
#32 by DrShad
ты сам себе противоречишь, когда тебе изначально говорили забыть о своей дури, ты кричал что вопрос не в этом и нечего спамить ))))
#33 by Shrk_V_V_V
Почему я должен о ней забыть? Это короче и лаконичнее чем XML. Не найду описания флажков, буду XML использовать, это удобнее чем у меня сейчас. Найду- буду использовать это. Почему я должен что-то забывать, лол
#34 by Shrk_V_V_V
csv-это просто строчка, в которой поля запятыми(точками с запятыми) разделены. Чтобы ее собрать, не надо быть уберпрограммистом)
#35 by DrShad
какое нафиг описание флажков? вот оно {"B",1} есть флажок {"B",0} нет флажка
#36 by Shrk_V_V_V
Я же картинку прислал. И объяснил, что у меня эти поля разные в одинаковых таблицах значений. И я не знаю, как их поменять, поскольку не знаю что они означают. В любом случае состоявшееся обсуждение небесполезно, поскольку вариант с XML прикольный.
#37 by DrShad
в еще прикольней
#38 by Филиал-msk
> вариант с XML прикольный. Разработка чтобы чисто поржать. Точно.
#39 by Филиал-msk
Если колонки типизированы, то построитель отчета выгоднее
#40 by Shrk_V_V_V
В десяти строчках написано сравнение произвольных таблиц значений. Вы бы показали свой вариант сравнения, короче и быстрее. И мы бы вместе поржали над этим. А то я не возьму в толк, над чем вы ржете))
#41 by Shrk_V_V_V
#42 by DrShad
в сравнение всего 13 строк, причем можно сравнивать не сортированные таблицы и произвольному набору колонок поржем!?
#43 by h-sp
смешно, потому что вы обозвали типовую сериализацию, которая уже 10 лет во всех типовых конфах, прикольным вариантом. А то, что вы используете какую-то древнюю фигню ЗначениеВСтрокуВнутр, да еще какие-то флажки там выискиваете - это по вашему не прикольно.
#44 by Shrk_V_V_V
Я тут гонки устроил. Вариант доктора- 2 секунды Вариант XML- 30 секунд Древняя фигня- 3 секунды. Так что выискивать фигню, чтобы не юзать XML смысл есть. Почему вам смешно я не понял, раз мы с вами согласны что с XML вариант хороший.
#45 by DrShad
потому что это типовой вариант сериализации значений уже много лет
#46 by Филиал-msk
#47 by Ёпрст
На вот, почитай на ночь:
#48 by FIXXXL
СравнениеЗначений и СериализаторXDTO.ЗаписатьXDTO(ТЗ) прокатят?
#49 by Сияющий в темноте
когда мы соавниванм таблицы,мы хотим убедиться,что они содержат одинаковые данные и сериализация системными средствамт нас не спасет и самое главное,что сортировка и сравнение таблиц выгрузкой во что то приводит к очень большой потере производительности,так что нудно искать методы,чтобы этого не делать
#50 by Shrk_V_V_V
Сравнение значений не работает насколько я понял, а второе вполне, обсуждалось в ветке.
#51 by Shrk_V_V_V
Сериализация для сравнения больших таблиц понятно что очень медленно. Я просто хотел сравнить маленькие таблицы, написав поменьше букв)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С