#0
by PR третий
Предположим, есть mxl-файл довольно приличного размера, пусть 100 Mb. И есть управляемая форма на 8.3, в которую нужно прочитать этот файл. Получается, нужно сначала кинуть файлик на сервер, а потом уже его прочитать в табличный документ. И вот вопрос, а что так медленно происходит этот процесс? Вручную открыть файлик, скопипастить и вставить быстрее получается.
#3
by Живой Ископаемый
А какая из операций происходит медленно? Помещение файлика в хранилище. или уже передача с сервера? Есть мнение что второе, и это происходит от того, что форма на сервере сериализуется в ХМЛ, и вместе с табличным документом этот хмл получается просто о.уеть каких размеров.
#4
by PR третий
1. Форма маленькая, нечего там сериализовать. 2. С хрена ли с сервера передается форма, если &НаСервереБезКонтекста? 3. А что, когда я самостоятельно копипащу содержимое на клиенте в табличный документ, то на сервере ничего не обновляется и данные вдруг перестают быть "о.уеть каких размеров"?
#5
by Живой Ископаемый
ок, принимаются возражения. Но и все-таки, если запустить замер времени, то что конкретно консумит больше всего?
#6
by MishaD
а если заархивировать файлик, а на сервере разархивировать. p.s. Сам не пробовал, не знаю
#7
by PR третий
Больше всего времени на серверную процедуру, вызываемую на клиенте "ПрочитатьИзФайловНаСервере". В самой процедуре все шустро. То есть передача данных.
#8
by PR третий
И че и че? Ты умеешь вклиниваться в передачу контекста с клиента на сервер и наоборот?
#9
by Живой Ископаемый
2 А ПрочитатьИзФайловНаСервере - это на сервере без контекста, но все равно долго? А если просто, передавать с сервара без контекста здоровый табличный документ - будет также долго?
#10
by PR третий
>>А ПрочитатьИзФайловНаСервере - это на сервере без контекста, но все равно долго? Да что ты зацепился за контекст формы? Там три копейки в базарный день. А табличный документ (реквизит объекта) я в параметрах все-равно передаю конечно же, мне же надо куда-то заполнять. А вот он при возвращении и тормозит. >>А если просто, передавать с сервара без контекста здоровый табличный документ - будет также долго? Что значит просто? Просто вернуть функцией табдокумент? Ну, допустим, может будет быстро. И че? Нахрен мне нужен табличный документ? Он у меня и так на клиенте есть в принципе, если понадобится.
#12
by PR третий
Получает из временного хранилища помещенный на клиенте mxl-файл, сохраняет его на диск на сервере, читает с помощью "Прочитать" во временный табличный документ и выводит в табличный документ объекта с помощью "Вывести".
#13
by Лефмихалыч
медленно потому, что передача на сервер - это сериализация/десериализация. Вручную ты этого не делаешь.
#14
by PR третий
Ну это как бы понятно. Понятно хотя бы потому, что при наличии недопустимых символов XML все накрывается медным тазом. Тут скорее вопрос в другом, что делать в такой ситуации? 1С рекомендует не гонять такую инфу между клиентом и сервером. И как, спрашивается, жить?
#15
by PR третий
Еще какая-то странная тема. Когда на форме уже прочитался xml-файл и я нажимаю кнопку "Ну давай, грузи", в которой выполняется "ПоказатьВопрос", то пока вопрос покажется, полгода пройдет, пока весь табличный документ не сгоняется на сервер. Спрашивается, зачем?
#16
by Живой Ископаемый
2 " и выводит в табличный документ объекта с помощью "Вывести". - получается, форма на сервере изменена, чтобы она отобразилась на клиенте, сервер ее сериализует, и посылает большой хмл на клиент, который ее десирализует. Хотя все с понтом и происходит в серверной без контекста процедуре. Но это безконтекста, видимо означает что клиент на сервер не отправляет контекст именно только для вызова процедуры
#18
by lodger
попробуй отказаться от ТабДок. сделай ТЗТЧ на формеобъекте, набивай его на сервере. тогда на форму тебе будет прибегать строк не больше чем видимая область. не?
#19
by Живой Ископаемый
2 Да вобщем-то все... === Но можно например по-пробовать сделать так. а) Делаешь ХТТП-сервис, на ПОСТ, который принимает файл. на стороне сервера распаковывает его, читает в Табличный Документа, но не помещает на форму (ну, чтобы выполнять движковую сериализацию/десериализацию формы). Сериализует данные из этого табличного документа в JSON, и отправляет этот джейсон в ответе ХТТП-запроса с клиента. Клиент сам заполняет табличный документ десериализованными из полученного с сервера джейсона данными. ???? ПРОФИТ!!!
#24
by PR третий
Рукалицо. Если заполнять на клиенте построчно, то вся тема не имеет смысла, так как все понятно. Речь про то, что делать, если нужно использовать метод "Вывести", а не выводить через задницу по одной ячейке.
#25
by Лефмихалыч
изобретать что-то, чтобы жить как-то иначе. В целом задача какую-то муйню мутить со стаметровыми таблицами как-то разительно и категорически выбивается из контекста тонкого клиента. Вот прямо совсем в разных углах ринга тонкие клиенты и стаметровые файлы. Как по мне.
#27
by Живой Ископаемый
2Чувак, вот начни воспринимать тонкого клиента как мобильное приложение. Вот ты видел например мобильные фейсбук или твитер или там каких-нить интернет магазов клиенты, где оно сразу бы показывало всю новостную ленту/весь ассортимент? нет, исключительно порциями. Даже если первоначальная загрузка долгая - он сохраняется локально, и потом тоже показывается порциями. И даже если эта аналогия кажется притянутой за уши, то вот тебе абсолютно зеркальная - попробуй создай гугл-таблицу со 100 000 строками и 10-ком заполненных колонок. И попробуй как быстро будет эта таблица открываться на мобильном клиенте. Если долго - то радуйся, даже гугл не решило твоей (1с) проблемы. Если все-таки быстро - то не порциями ли грузятся строки?
#28
by PR третий
Да мне пофиг в принципе, если я на клиенте не буду иметь все данные табличного документа. Я все-равно гружу на сервере. Так что если вдруг была бы порционная подгрузка, то мне было бы пофиг.
#29
by mistеr
Если 100 Мб - реальная цифра, то пора задуматься о более подходящем формате хранения того, что в файле. Либо о более подходящем алгоритме загрузки (чтобы файл попадал сразу на сервер, минуя рабочий стол юзера).
#30
by PR третий
Ну попадет он быстрее и что? Он же после загрузки возвращается назад на клиента. Задумываться о другом формате я не буду, в принципе терпимая скорость. Вопрос скорее, теоретический, просто интересно.
#33
by MaxS
Огромная табличная часть на УФ выводится очень медленно. Для ускорения можно таблицу значений с помощью СКД вывести в виде табличного документа.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Чтение пароля пользователя...
- Как программно задать имена областей в таблице MXL?
- Как открыть внешний файл mxl на чтение?
- Чтение XML
- Как сохранить в файл .mxl табличный документ программно?
- как получить все роли в 1С и у этих ролей убрать признак чтение?
- Табличный документ. Вывод в табличный документ со смещением.
- 8.2 Чтение из xls в табличный документ. Страницы
В этой группе 1С
- Противоречивая связь в запросе
- v7: Неожиданное решение проблемы 'Нарушена структура 1Sjourn.dbf'
- v7: 1с++ Получение документа из регистра, недопустимое имя столбца "IDDoc".
- v7: Вопрос по работе с перечислениями
- МенеджерКриптографии. Как использовать?
- Механизм создания движений по регистрам Учет Затрат (РАУЗ)
- Свертка базы БП 8,2 . Неверное начальное сальдо
- ЗУП 3.0 ввод начальных остатков по декретным отпускам
- Распечатать Акт приема Передачи, Бухгалтерия Базовая на платформе 8.3
- Применение оплат платежными картами в 1с Розница 2.2
- Как настроить Префикс (Клавиша F7) в ТСД
- v7: 1C 7.7 ЗиК вопрос по 6-НДФЛ
- Нужны рекомендации по обрезанию нескольких лет в УПП
- Розница 2.2.2.14 Документ "Вскрытие тары ЕГАИС"
- Ошибка выполнения запроса при проведении безвозмездного поступления ОС. Помогите
- Расширения в хранилище?
- 1с Битрикс, сортировка
- v7: Запуск 1С: Предприятие 7.7 на Windows 10 x64
- БСП 2.3, синхронизация данных и менеджер записи регистра сведений
- Выгрузка в XML