Запись в независимый регистр сведений¶
Сценарий. Получить сообщение из Kafka и записать его в независимый регистр сведений.
Код обработчика¶
Процедура Десериализация(ТелоСообщения, Свойства, ТекстЖурнала, Отказ) Экспорт
Данные = ОбщегоНазначения.JSONВЗначение(ТелоСообщения, "period,dateTime", Ложь);
Набор = СоздатьНаборЗаписей();
НоваяСтрока = Набор.Добавить();
НоваяСтрока.Период = Данные.period;
НоваяСтрока.Номенклатура = ПолучитьСсылкуНоменклатуры(Данные.ref);
НоваяСтрока.Количество = Данные.qty;
НоваяСтрока.Идентификатор = Новый УникальныйИдентификатор(Данные.uuid);
кфкИнтеграция.Отключить(Набор);
Набор.ОбменДанными.Загрузка = Истина;
Набор.Записать(РежимЗамещения.Слияние);
КонецПроцедуры
Режим записи¶
РежимЗамещения.Слияние— обновит существующую запись по измерениям или добавит новую. Обычно это то, что нужно.РежимЗамещения.Дополнение— добавит новую запись даже при дубле измерений (не подходит для независимых регистров с контролем уникальности).- По умолчанию — замещение всего содержимого регистра по отбору набора, что обычно не нужно при обмене.
Идемпотентность¶
Уникальность по Идентификатор
Если в регистре есть уникальный идентификатор записи (например, поле Идентификатор типа УникальныйИдентификатор), повторная запись с тем же UUID приведёт к обновлению одной и той же записи — повторы безопасны.
Смотрите также¶
- Исходящие — независимый регистр — обратное направление.
- Обработчик консьюмера — контракт.