Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как получить размер еще не созданного XML, который будет создан из ОбъектаXDTO?

Как получить размер еще не созданного XML, который будет создан из ОбъектаXDTO?
Я
   kugelfangg
 
25.09.18 - 11:07
Всем привет!

Господа, подскажите пожалуйста как можно получить размер в Мб или количество символов ОбъектаXDTO?

Суть задачи в следующем:
Сделать выгрузку данных в XML, при этом файл не должен быть больше 4 Мб.

Для того чтобы «вовремя остановиться» нужно каким то образом проверять размер ОбъектаXDTO. Делать это нужно до записи в файл XML.

К сожалению, вариант с записью ОбъектаXDTO в файл XML не подходит, так как данных выгружаться будет очень много и если постоянно мурыжить (перезаписывать, проверять размер файла) это сильно скажется на скорости выгрузки данных.
 
 
   s03
 
1 - 25.09.18 - 11:12
Выгружай по одному объекту (одному комплекту объектов, которые нельзя разделить на разные выгрузки)
   MaxS
 
2 - 25.09.18 - 11:15
Собирать статистику, чтобы повысить вероятность угадывания. В конце проверять размер если превысил, повторить с меньшим количеством объектов.
   mTema32
 
3 - 25.09.18 - 11:17
(0)"Как получить размер еще не созданного XML"
Автор, перечитай еще раз свой вопрос.
Тут логическая ошибка.
   kugelfangg
 
4 - 25.09.18 - 11:18
(1) Один комплект это строка срока товара, при каждой выгрузке будет выгружаться примерно 400 000 строк. SFTP помрет от такого обилия файлов=)
   kugelfangg
 
5 - 25.09.18 - 11:26
(2) Этот вариант можно рассматривать как запасной, так как количество символов всегда будет разное, и рано или поздно можно будет влететь на перебор с размером, даже если собрать статистику. Конечно можно уменьшить лимит до 3.5 Мб, чтобы точно попадать в лимит 4 Мб. Но проблема в том что таких выгрузок около 12 и в каждой свой объем данных поэтому придется долго шаманить=) Я хотел найти более технологичный способ решения проблемы.

Но за идею все равно спасибо!=)
   Serg_1960
 
6 - 25.09.18 - 11:31
На память приходит только ветка v8: Как хотя бы грубо определить размер будущего файла из ЗаписьXML? - но там я предлагал пообъектную запись во временный файл для получения размера перед добавлением в основной файл. Не оптимальный подход.
   RomaH
 
7 - 25.09.18 - 11:35
"Сделать выгрузку данных в XML, при этом файл не должен быть больше 4 Мб. "
делай по 2 МБ
   Serg_1960
 
8 - 25.09.18 - 11:41
Помню однажды было обсуждение "обратной" задачи - сформированный большой файл XML "разбить" на пачку файлов ограниченного размера. Сейчас, увы, не могу найти.
   Вафель
 
9 - 25.09.18 - 12:13
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ОбъектXTDO);
СтрокаXML = ЗаписьXML.Закрыть();


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует