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

Сериализация документа с табличной частью

Сценарий. При записи документа сериализовать шапку и строки табличной части Товары в одно JSON-сообщение.

Код обработчика

Функция Сериализация(Объект, Свойства, ТекстЖурнала, Отказ) Экспорт

    Результат = кфкИнтеграция.ПараметрыСообщения();

    Данные = Новый Структура;
    Данные.Вставить("ref",      Объект.Ссылка);
    Данные.Вставить("name",     Объект.Наименование);
    Данные.Вставить("dateTime", Объект.ДатаИВремя);
    Данные.Вставить("number",   Объект.Число);
    Данные.Вставить("boolean",  Объект.Булево);
    Данные.Вставить("deleted",  Свойства.ЭтоУдаление);

    Строки = Новый Массив;
    Для Каждого СтрокаТЧ Из Объект.Товары Цикл
        ДанныеСтроки = Новый Структура;
        ДанныеСтроки.Вставить("ref",      СтрокаТЧ.Номенклатура);
        ДанныеСтроки.Вставить("qty",      СтрокаТЧ.Количество);
        ДанныеСтроки.Вставить("price",    СтрокаТЧ.Цена);
        ДанныеСтроки.Вставить("amount",   СтрокаТЧ.Сумма);
        Строки.Добавить(ДанныеСтроки);
    КонецЦикла;
    Данные.Вставить("lines", Строки);

    Результат.Данные    = Данные;
    Результат.Заголовки.Вставить("ДатаСериализация", ТекущаяУниверсальнаяДата());

    Возврат Результат;

КонецФункции

Ограничения

Размер сообщения

  • Табличные части — до ~100 000 строк.
  • Итоговый размер сообщения — до ~10 МБ.

Для больших объёмов данных разбивайте обмен на несколько сообщений по ключу или используйте отдельный механизм.

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