Всем здравствуйте.
Как определить новые (и удаляемые) записи в РС через запрос?
Есть загрузка откуда то. Загружаются некие данные в некий Регистр Сведений (далее РС).
Когда записей в РС нет, то все быстро и красиво. Пишем в набор РС из таблицы.
А если записи есть, то нужно определить есть ли изменения в наборе.
Входной параметр запроса - таблица регистра которая собирается и которую нужно записать.
Каким должен быть запрос, чтобы определить что есть изменения?
Не перезаписывая при этом регистр вхолостую.
РС независимый, непериодический?
Запросом соединяешь полным соединением текущий РС и новую таблицу. По всем полям "=". Таким образом получаешь возможность проверить. Где "ЕСТЬ NULL" какое-то поле из текущего РС - значит строку надо добавить. Где "ЕСТЬ NULL" какое-то поле из новой таблицы - удалить. Если нуллов нет - не трогать.
РежимЗамещения (ReplacementMode)
Слияние (Merge)
Описание:
Будет выполнено слияние записей из набора записей с существующими записями регистра:
Существующие записи регистра, совпадающие по значениям ключевых полей с записями из набора записей, будут перезаписаны.
Записи набора, для которых нет соответствия среди существующих записей регистра, будут добавлены.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан