#0
by Nikosss
Необходимо сравнить данные в двух таблицах (Структура ТаблицЗначений идентична) на предмет изменений. Пытался сделать 2 варианта с Циклом по одной из таблиц с СравнениеЗначений, но все равно возвращает 0(Строки идентичны), хотя различия в зачениях есть. Не хочется делать цикл по колонкам и сравнивать значений так... Думал хотя бы ЗначениеВСтрокуВнутр решит проблему, но нет, А и Б одинаковые!
#1
by Fragster
запрос помещаешь первую ВТ, добавляешь колонку со значением 1, объединение со второй таблицей со значением -1 в этой колонке. группировка по всем полям и суммой этого доп. поля, отбор где доп поле <> 0
#3
by Nikosss
Не хотелось добавлять новые колонки, но сейчас попробую! А что искать? По какому принципу? это в отбор вставлять все поля и значения
#6
by fisher
Не ипать мозги и сравнивать циклом по колонкам. Будет быстро. ЗЫ. Загонять ТЗ на север БД только для того, чтобы сравнить строки - это слишком уж по одинэсовски.
#8
by Nikosss
Ну вот оставался единственный вариант, его похоже и придется использовать. Так как колонок 25 то придется описывать каждую в запросе,а это чекнишься, иначе не получится сгруппировать
#10
by Nikosss
Так проблема не найти строку, а сравнить ее с другой. Колонок 25 и вариант Fragster ,возможно, подошел если бы не количество колонок - их надо в ВТ описывать в двух таблицах. А это 50 раз, иначе не получится сгруппировать в запросе по всем колонкам, кроме последней
#11
by Fragster
ты ленивый? тогда без запроса = делаешь новую таблицу (скопироватьКолонки), добавляешь колонку с числом, перегоняешь в нее все данные через заполнитьЗначенияСвойств и заполняешь доп колонку 1 и -1 соответственно. сворачиваешь (вот тут надо будет циклом сформировать строку с колонками), удаляешь все строки с 0. остается только искомое.
#12
by Nikosss
Не ленивый, просто хочется найти самый оптимальный способ. Твой пока самый оптимальный))
#13
by ale-sarin
Я конечно извиняюсь,но в типовых (КА точно) есть функция НастройкаПравДоступа.СравнитьТаблицыНаборовЗаписей(ТаблицаЗначений1, ТаблицаЗначений2)
#16
by Zero on a dice
я бы так сделал: через повторное использование получал бы список колонок в строку и затем сворачивал бы промежуточную таблицу из этих двух строк. количество строк промежуточной и даст ответ. насколько медленнее сравнения в цикле - неясно.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Универсальный обмен данными в формате XML // отбор
- Как работать через SSL в тонком клиенте 1с 8.3
- Вставка таблицы в форматированный документ
- УФ в динамическом списке поставить "Использовать всегда" программно?
- УТ 10.3 - контроль остатков при неоперативном проведении
- Как сделать управляемую блокировку на границу последовательности?
- Подготовка данных по НДФЛ в ЗУП 8.2
- Можно как-то перенести "темпы1с" из Documents and Settings на другой диск?
- Значение реквизита документа в обработке проведения по наименованию реквизита
- УФ. Как заполнить ТЧ оброботки на сервере без контекста вызванного из клиента?
- Комплексная, аванс от покупателя
- v8: СКД. отбор работает, порядок нет
- v8: Запрос. Отбор сотрудников по подразделениям
- Скидка в корректировке реализации
- СКД. группа колонок задать имя
- Ошибка при вызове метода контекста (НайтиПоРеквизиту)
- СКд. программный вывод результата в коллекцию значений. ошибка
- Регламентное проведение по партиям
- Процесс 1cv8.exe нагружает процессор по полной, при этом в 1с ничего не делается
- Формирование резерва в 1с УПП 8.2