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

Каким образом 1С УТ передает такую большую порцию данных в 1с-Битрикс?

Каким образом 1С УТ передает такую большую порцию данных в 1с-Битрикс?
Я
   Cerera
 
06.03.21 - 00:17
Из 1с Управление Торговлей можно выгрузить данные на сайт - не важно Битрикс, или на другой, поддерживающий стандартный формат. Если выгружить на сайт, то нужно задать login / пароль и обмен происходит. Но ведь бывает такое, что объем файла выгрузки очень большой не смотря на том, что в zip формате. Каким образом это реализовали через http, ведь это не ftp. По какому принципу загрузчик Битрикс ловит этот файл - на хостингах же ограничения имеют быть. Это не просто фотку загрузить или вордовский документ?

Если технически, то 1с обращается по url к исполняющему скрипту. Методом post оптавляет архив. Принимающая сторона ловит загруженный файл, распаковывает данные и загружает к себе. Неужели вот так просто? А если весь каталог передаем в 200 гигабайт с картинками? На обычном хостинге такое не прокатывает, но если битрикс демо версию ставишь и демо-сайт на обычном хостинге, то всё удачно происходит - как если бы это отправлялось по ftp.

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

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