Сравнение строк двух таблиц на идентичность #656217


#0 by Nikosss
Необходимо сравнить данные в двух таблицах (Структура ТаблицЗначений идентична) на предмет изменений. Пытался сделать 2 варианта с Циклом по одной из таблиц с СравнениеЗначений, но все равно возвращает 0(Строки идентичны), хотя различия в зачениях есть. Не хочется делать цикл по колонкам и сравнивать значений так... Думал хотя бы ЗначениеВСтрокуВнутр решит проблему, но нет, А и Б одинаковые!
#1 by Fragster
запрос помещаешь первую ВТ, добавляешь колонку со значением 1, объединение со второй таблицей со значением -1 в этой колонке. группировка по всем полям и суммой этого доп. поля, отбор где доп поле <> 0
#2 by SherifSP
А через найти строки?
#3 by Nikosss
Не хотелось добавлять новые колонки, но сейчас попробую! А что искать? По какому принципу? это в отбор вставлять все поля и значения
#4 by NcSteel
сгруппировать по всем колонкам.
#5 by Nikosss
Это имеешь ввиду вариант из ?
#6 by fisher
Не ипать мозги и сравнивать циклом по колонкам. Будет быстро. ЗЫ. Загонять ТЗ на север БД только для того, чтобы сравнить строки - это слишком уж по одинэсовски.
#7 by pumbaEO
kdiff, diff - вывод в консоль, парсинг файла.
#8 by Nikosss
Ну вот оставался единственный вариант, его похоже и придется использовать.  Так как колонок 25 то придется описывать каждую в запросе,а это чекнишься, иначе не получится сгруппировать
#9 by zladenuw
так если написать так должно искать по всем колонкам
#10 by Nikosss
Так проблема не найти строку, а сравнить ее с другой. Колонок 25 и вариант Fragster ,возможно, подошел если бы не количество колонок - их надо в ВТ описывать в двух таблицах. А это 50 раз, иначе не получится сгруппировать в запросе по всем колонкам, кроме последней
#11 by Fragster
ты ленивый? тогда без запроса = делаешь новую таблицу (скопироватьКолонки), добавляешь колонку с числом, перегоняешь в нее все данные через заполнитьЗначенияСвойств и заполняешь доп колонку 1 и -1 соответственно. сворачиваешь (вот тут надо будет циклом сформировать строку с колонками), удаляешь все строки с 0. остается только искомое.
#12 by Nikosss
Не ленивый, просто хочется найти самый оптимальный способ. Твой пока самый оптимальный))
#13 by ale-sarin
Я конечно извиняюсь,но в типовых (КА точно) есть функция НастройкаПравДоступа.СравнитьТаблицыНаборовЗаписей(ТаблицаЗначений1, ТаблицаЗначений2)
#14 by Classic
Динамически рисуй запрос. Тогда будет пофиг 5 или 25
#15 by Reset
+1
#16 by Zero on a dice
я бы так сделал: через повторное использование получал бы список колонок в строку и затем сворачивал бы промежуточную таблицу из этих двух строк. количество строк промежуточной и даст ответ. насколько медленнее сравнения в цикле - неясно.
#17 by Полотенчик
#18 by Полотенчик
+ причесать только еще немного
#19 by fisher
Конкурс в номинации "Почетный 1С-Извращенец" набирал обороты...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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