|
Каким образом 1С УТ передает такую большую порцию данных в 1с-Битрикс? | ☑ | ||
---|---|---|---|---|
0
Cerera
06.03.21
✎
00:17
|
Из 1с Управление Торговлей можно выгрузить данные на сайт - не важно Битрикс, или на другой, поддерживающий стандартный формат. Если выгружить на сайт, то нужно задать login / пароль и обмен происходит. Но ведь бывает такое, что объем файла выгрузки очень большой не смотря на том, что в zip формате. Каким образом это реализовали через http, ведь это не ftp. По какому принципу загрузчик Битрикс ловит этот файл - на хостингах же ограничения имеют быть. Это не просто фотку загрузить или вордовский документ?
Если технически, то 1с обращается по url к исполняющему скрипту. Методом post оптавляет архив. Принимающая сторона ловит загруженный файл, распаковывает данные и загружает к себе. Неужели вот так просто? А если весь каталог передаем в 200 гигабайт с картинками? На обычном хостинге такое не прокатывает, но если битрикс демо версию ставишь и демо-сайт на обычном хостинге, то всё удачно происходит - как если бы это отправлялось по ftp. Поясните те, кто знают? Дробление архива на части это только бывает если доп. модуль от Битрикс внедрить в 1с. Но без него штатным способом то работает - не понимаю как. |
|||
1
Asmody
06.03.21
✎
00:43
|
В http на уровне протокола нет ограничения на объем передаваемого файла. Через http можно стримить бесконечные файлы (в теории).
Но он есть на уровне веб-сервера и php. Веб-сервер может буферизировать загружаемый файл перед отдачей php. 200 Гб, скорее всего, не загрузит если на хостинге столько места нет на диске. |
|||
2
Asmody
06.03.21
✎
00:43
|
Погружение можно начать отсюда https://www.php.net/manual/ru/features.file-upload.post-method.php
|
|||
3
Aleksey
06.03.21
✎
01:02
|
Т.е. Качая дистрибутив винды с сайта мелкомягких под 4-5 гигов - тебя это не смущает. А тут 200 метров и ступор
|
|||
4
Asmody
06.03.21
✎
01:02
|
(3) он про 200 гигов спрашивал
|
|||
5
rozer76
06.03.21
✎
10:41
|
да в типовых конфах крайних там не дробление. Там можно задать порцию выгрузи. Т.е. все перегистрируется в план обмена с номером сообщения 0 а затем выбираются изменения запросом ПЕРВые размер порции. При ошибках перегистрируется на новые номера сообщений. И так долбит порциями пока не выгрузить все изменения по узлу плана. В старых реализациях обмена там все эти import.xml, offers.xml, файлики загонялись в зип размером который в GETответе задавал сам битрикс.
|
|||
6
rozer76
06.03.21
✎
10:45
|
У меня есть клиент у которого полная выгрузка размером одного зипа в 600метров каждую ночь уходит в битрикс. И все норм
|
|||
7
rozer76
06.03.21
✎
10:47
|
+ (6) там древняя дико переписанная выгрузка с огромным кастомным references.xml только зип на части разбивается без всяких новомодных порций.
|
|||
8
ДедМорроз
06.03.21
✎
12:06
|
Есть метод PUT, который передает данные во входной поток php-файла и там никаких ограничений нет вообще,так как он читается как поток побайтно и даже весь не хранится в памяти.
И,самое главное,никаких тебе переменных и данных форм. |
|||
9
Cerera
06.03.21
✎
22:50
|
(8)Круто!!
(5)а мне вот предостоит для самописного сайта такой модуль загрузки написать. Загрузить из Xml файла 1с это без проблем. Но вот как с дроблениями быть там сложнее. И они же долбятся к php скрипту 1c exchange.php и я не понимаю как этот скрипт может принимать файл |
|||
10
Cerera
06.03.21
✎
22:51
|
(1)спасибо. значит бояться нечего. нужно только допиливать настройки сервера. Чтоб большие файлы мог принимать и не имел установленных ограничений.
|
|||
11
ДедМорроз
07.03.21
✎
12:46
|
(9) а разве через PUT ограничение работает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |