Имя: Пароль:
1C
 
Каким образом 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 ограничение работает?