208 похожих чатов

Подскажите, как найти инфу про обмен с 1С через таблицу

b_xml_tree_import_1c ? что-нибудь про логику работы, код я и так вижу...
вопрос именно зачем эта таблица? почему не построчная обработка данных?

14 ответов

53 просмотра

построчная - это как?

Ondrey-Luto Автор вопроса
Eugene Zhukov
построчная - это как?

как обрабатываются справочники... построчно читается XML и вызываются обработчики...

Ondrey-Luto Автор вопроса
Eugene Zhukov
в память?

элемент - да, в память, но элементы, не весь XML

Ondrey Luto
элемент - да, в память, но элементы, не весь XML

(тяжело вздыхая) а там memory_limit и execution_time... 500-метровый xml...

Ondrey-Luto Автор вопроса
Eugene Zhukov
(тяжело вздыхая) а там memory_limit и execution_ti...

эмм, как HL обмениваются - 1С делает запрос - БУС берет часть XML и обрабатывает, запоминает в сессию место в файле... и так в цикле. там нет упора в memory_limit и execution_time, они только ограничивают размер прочитанной части файла.

Ondrey Luto
эмм, как HL обмениваются - 1С делает запрос - БУС ...

справочник по определению не может иметь огромное число значений и структура данных там плоская "вопрос в другом, для чего обмен через таблицу?" 99% случаев обмена происходят за N хитов, это раз. структура файла не плоская - один узел (товар) может ссылаться на другой (раздел, свойства и т.п.)

Ondrey-Luto Автор вопроса
Eugene Zhukov
справочник по определению не может иметь огромное ...

В справочнике тоже могут быть связи, но обмен не пишется во временную таблицу( Количество хитов же не ограничивается, как оно влияет на обмен через таблицу бд?

Ondrey-Luto Автор вопроса
Eugene Zhukov
справочник по определению не может иметь огромное ...

Я кастомизирую обмен(пишу свой) и пытаюсь понять почему разработчики бус выбрали такой метод... Правда не могу найти описание в гугле...

Ondrey Luto
Я кастомизирую обмен(пишу свой) и пытаюсь понять п...

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

Ondrey-Luto Автор вопроса
Eugene Zhukov
ну хорошо... как вы представляете себе построчную ...

Использую класс CXMLFileStream Читаю построчно XML, добираюсь до тега X и передаю его в обработчик, читаю тег в память, обрабатываю и произвожу нужные действия..

Ondrey Luto
Использую класс CXMLFileStream Читаю построчно XML...

Окей. Выгрузите через xml-экспорт инфоблоков например каталог демо-данных eshop и посмотрите его структуру. Например, блок разделов. Чтобы завершить обработку этого тега, вам нужно распарсить ВЕСЬ блок сразу (потому что нигде не обещано, что разделы будут выгружены в порядке возрастания глубины вложенности). Все это выгружаться будет в память, раз - т.е. получить fatal элементарно. при достаточно небольшом числе разделов за хит весь блок не обработать - т.е. либо упадет, либо повторный парсинг - замедление скорости. и так далее

Ondrey-Luto Автор вопроса
Eugene Zhukov
Окей. Выгрузите через xml-экспорт инфоблоков напри...

Т.е. именно из-за связей по id нужно создавать таблицу, верно понял ?

Ondrey Luto
Т.е. именно из-за связей по id нужно создавать таб...

из-за того, что это позволяет иметь расход памяти, слабо зависящий от объема данных. а для использования CXmlFileStream расход прямо пропорционален объему (и как бы не по экспоненте)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта