Принудительная регистрация из кода¶
Сценарий. Поместить объекты в очередь исходящих программно — в обход подписок на запись. Типовые случаи: миграция данных, повторная выгрузка, разовый ремонт.
Единичный объект¶
Массив ссылок¶
МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
кфкИнтеграция.ПоместитьВОчередьИсходящих(МассивСсылок);
Порционная обработка
Адаптер разделит массив на порции автоматически и выполнит порционную регистрацию — даже для больших объёмов (миллионы объектов) не возникает длительной транзакции.
С явной маршрутизацией по ТипОбъект¶
Когда объект 1С не связан с настроенным типом метаданных (например, отправка «готового» сообщения), укажите строковый ключ ТипОбъект — по нему адаптер выберет нужный продюсер:
// ТипОбъект — ключ регистрации. Адаптер найдёт продюсер, у которого
// в «Объектах метаданных» есть строка с точно таким же значением в этом поле.
кфкИнтеграция.ПоместитьВОчередьИсходящих(Сообщение, "system.events");
Ключ регистрации
ТипОбъект не обязан совпадать с именем метаданных 1С. Это строковый ключ, сравниваемый на равенство. Намеренно выбирайте «непохожее» значение (system.events, crm.order-placed), чтобы сообщения попадали в топик только через API-вызов — без срабатывания подписок. Подробнее — Тип объект — ключ регистрации.
Как получать ссылку на продюсер
Подробнее — в Произвольные события → Как получать ссылку на продюсер. Коротко: избегайте ссылки на конкретный продюсер — маршрутизируйте по ТипОбъект.
Пакетная регистрация при массовом создании¶
Для массовых операций (импорт, миграция, пересчёт):
МассивОбъектов = Новый Массив;
Для Каждого СтрокаТаблицы Из ТаблицаДанных Цикл
Dok = Документы.ЗаказПокупателя.СоздатьДокумент();
// ... заполнение реквизитов ...
Dok.Записать();
МассивОбъектов.Добавить(Dok.Ссылка);
КонецЦикла;
кфкИнтеграция.ПоместитьВОчередьИсходящих(МассивОбъектов);
Про дедупликацию¶
Дедупликация
Если один и тот же объект зарегистрирован несколько раз до выгрузки — в Kafka уйдёт только последнее состояние. Промежуточные версии помечаются как «Дубль».
Если вам нужна полная история — используйте прямой API или регистрируйте каждое событие с уникальным ключом регистрации.
Смотрите также¶
- Программный API — полный справочник по
ПоместитьВОчередьИсходящих. - Произвольные события — как отправлять данные, не связанные с объектами 1С.