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