РежимЗамещения.Удаление

Свойства · Delete

В результате записи из регистра будут удалены записи, совпадающие по значению ключевых полей с записями в наборе записей.

Полное описание, параметры и ограничения

РежимЗамещения.Удаление (ReplacementMode.Delete)

РежимЗамещения (ReplacementMode)

Удаление (Delete)

Доступен, начиная с версии 8.3.25.

Описание:
В результате записи из регистра будут удалены записи, совпадающие по значению ключевых полей с записями в наборе записей.
Использование в версии:

Доступен, начиная с версии 8.3.25.

Методическая информация

Практические примеры

Прикладной пример: РежимЗамещения.Удаление

Конкретный собственный регистр / внешний источник / карта маршрута и точное применение системного значения.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В собственной отдельной учебной базе создайте независимый непериодический регистр сведений УчебныеРежимыЗаписи: измерения КлючЭксперимента Строка 36 и КодКниги Строка 40, ресурс Количество Число 12.2.

  2. Основной блок — тело процедуры собственной серверной обработки / кнопки обычной формы, толстый клиент. Дополнительную функцию разместите в том же модуле.

  3. Каждый опыт получает новый UUID-ключ; отбор по нему установлен у всех записываемых / читаемых наборов. Нельзя убирать этот отбор или подменять регистр рабочим. По завершении и при исключении собственная транзакция откатывается.

Если ТранзакцияАктивна() Тогда
    ВызватьИсключение "Запускайте отдельно, вне чужой транзакции";
КонецЕсли;
Ключ = Строка(Новый УникальныйИдентификатор);
НачатьТранзакцию();
Попытка
    НачальныйНабор = УчебныйНабор(Ключ, "BOOK-001", 3);
    НачальныйНабор.Записать(РежимЗамещения.Добавление);
    Изменение = УчебныйНабор(Ключ, "BOOK-001", 5);
    Изменение.Записать(РежимЗамещения.Удаление);
    Проверка = РегистрыСведений.УчебныеРежимыЗаписи.СоздатьНаборЗаписей();
    Проверка.Отбор.КлючЭксперимента.Установить(Ключ);
    Проверка.Прочитать();
    Сообщить("Своих записей до отката: " + Строка(Проверка.Количество()));
    Сообщить("Своё количество до отката: " + Строка(Проверка.Итог("Количество")));
    ОтменитьТранзакцию();
Исключение
    ОтменитьТранзакцию();
    ВызватьИсключение;
КонецПопытки;
Тот же модуль: набор с явным собственным отбором и одной книгой
Функция УчебныйНабор(КлючЭксперимента, КодКниги, Количество)
    Набор = РегистрыСведений.УчебныеРежимыЗаписи.СоздатьНаборЗаписей();
    Набор.Отбор.КлючЭксперимента.Установить(КлючЭксперимента);
    Запись = Набор.Добавить();
    Запись.КлючЭксперимента = КлючЭксперимента;
    Запись.КодКниги = КодКниги;
    Запись.Количество = Количество;
    Возврат Набор;
КонецФункции

Разбор по шагам

  1. Подготовьте указанную собственную схему и данные.

  2. Разместите основной блок и необходимые дополнительные части в точном модуле.

  3. Сравните фактические строки / точки / режим с указанными ограничениями.

Как проверить результат

  1. До изменения создана своя BOOK-001, количество 3. Добавление / Слияние добавляют BOOK-002, количество 5: две записи, итог 8. Замещение оставляет BOOK-002: одна запись, итог 5.

  2. Обновление меняет существующую BOOK-001 на 5; для отсутствующего ключа этот режим вызывает исключение, а не молча вставляет новую запись. Удаление удаляет только совпавшую собственную BOOK-001: ноль строк.

  3. Все приведённые результаты относятся к чтению до отката. После успешного опыта новые строки не остаются в базе. Слияние здесь допустимо, потому что регистр независимый.

Ожидаемый результат

Системное значение применено к документированному вызову или реальному свойству, без фиктивного входного объекта.

На что обратить внимание

  1. Эти самостоятельные опыты не запускаются в рабочей базе.

  2. BSL, транзакции, SQL-соединение и старт процессов при сборке HTML не выполнялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.