Имя: Пароль:
1C
1С v8
Как определить новые и удаляемые записи в РС через запрос?
0 catzilla codzilkin
 
09.07.26
09:57
Всем здравствуйте.
Как определить новые (и удаляемые) записи в РС через запрос?
Есть загрузка откуда то. Загружаются некие данные в некий Регистр Сведений (далее РС).
Когда записей в РС нет, то все быстро и красиво. Пишем в набор РС из таблицы.
А если записи есть, то нужно определить есть ли изменения в наборе.
Входной параметр запроса - таблица регистра которая собирается и которую нужно записать.
Каким должен быть запрос, чтобы определить что есть изменения?
Не перезаписывая при этом регистр вхолостую.
1 ReaLg
 
гуру
09.07.26
10:02
РС независимый, непериодический?
Запросом соединяешь полным соединением текущий РС и новую таблицу. По всем полям "=". Таким образом получаешь возможность проверить. Где "ЕСТЬ NULL" какое-то поле из текущего РС - значит строку надо добавить. Где "ЕСТЬ NULL" какое-то поле из новой таблицы - удалить. Если нуллов нет - не трогать.
2 JohnGilbert
 
09.07.26
10:09
3 H A D G E H O G s
 
09.07.26
10:09
РежимЗамещения (ReplacementMode)
Слияние (Merge)
Описание:
Будет выполнено слияние записей из набора записей с существующими записями регистра:
Существующие записи регистра, совпадающие по значениям ключевых полей с записями из набора записей, будут перезаписаны.
Записи набора, для которых нет соответствия среди существующих записей регистра, будут добавлены.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан