Перейти к содержанию

Подавление регистрации при записи

Сценарий. Изменения, применённые импортом из внешней системы, не должны уходить обратно в Kafka.

Два способа

// В обработчике ПередЗаписью объекта или набора записей
Процедура ПередЗаписью(Отказ)
    Если ЗагрузкаИзВнешнейСистемы Тогда
        кфкИнтеграция.Отключить(ЭтотОбъект);
    КонецЕсли;
КонецПроцедуры
// Альтернатива: без вызова API адаптера
Объект.ДополнительныеСвойства.Вставить("кфкПропуститьРегистрацию", Истина);
Объект.Записать();

Важные правила

Только до записи

Оба способа работают только до вызова Записать(). После записи подсказать адаптеру «не регистрируй это» уже невозможно.

Десериализация из Kafka

В обработчике консьюмера при записи входящих данных всегда вызывайте кфкИнтеграция.Отключить(Объект) и устанавливайте Объект.ОбменДанными.Загрузка = Истина перед Объект.Записать() — это предотвратит повторную отправку записи обратно в Kafka.

Когда использовать

  • Двусторонний обмен. В обработчике консьюмера — обязательно, иначе данные будут ходить по кругу.
  • Пользовательский импорт. Когда пользователь импортирует Excel / CSV — не отправлять эти изменения в Kafka.
  • Тестовые записи. Временные объекты, созданные тестами, не должны попадать в продуктивный обмен.
  • Системные обновления. Регламентные процедуры пересчёта, когда повторная отправка не нужна.

Смотрите также