|
Чтение mxl в табличный документ на экране | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
PR третий
21.03.16
✎
11:48
|
Предположим, есть mxl-файл довольно приличного размера, пусть 100 Mb.
И есть управляемая форма на 8.3, в которую нужно прочитать этот файл. Получается, нужно сначала кинуть файлик на сервер, а потом уже его прочитать в табличный документ. И вот вопрос, а что так медленно происходит этот процесс? Вручную открыть файлик, скопипастить и вставить быстрее получается. |
||||||||||
1
Живой Ископаемый
21.03.16
✎
12:01
|
на сервере или на сервере без контекста?
|
||||||||||
2
PR третий
21.03.16
✎
12:04
|
(1) Без контекста.
|
||||||||||
3
Живой Ископаемый
21.03.16
✎
12:09
|
А какая из операций происходит медленно? Помещение файлика в хранилище. или уже передача с сервера?
Есть мнение что второе, и это происходит от того, что форма на сервере сериализуется в ХМЛ, и вместе с табличным документом этот хмл получается просто о.уеть каких размеров. |
||||||||||
4
PR третий
21.03.16
✎
12:16
|
(3) 1. Форма маленькая, нечего там сериализовать.
2. С хрена ли с сервера передается форма, если &НаСервереБезКонтекста? 3. А что, когда я самостоятельно копипащу содержимое на клиенте в табличный документ, то на сервере ничего не обновляется и данные вдруг перестают быть "о.уеть каких размеров"? |
||||||||||
5
Живой Ископаемый
21.03.16
✎
12:17
|
ок, принимаются возражения. Но и все-таки, если запустить замер времени, то что конкретно консумит больше всего?
Ну вот так вот, ничего не попишешь |
||||||||||
6
MishaD
21.03.16
✎
12:24
|
а если заархивировать файлик, а на сервере разархивировать.
p.s. Сам не пробовал, не знаю |
||||||||||
7
PR третий
21.03.16
✎
12:34
|
(5) Больше всего времени на серверную процедуру, вызываемую на клиенте "ПрочитатьИзФайловНаСервере".
В самой процедуре все шустро. То есть передача данных. |
||||||||||
8
PR третий
21.03.16
✎
12:35
|
(6) И че и че?
Ты умеешь вклиниваться в передачу контекста с клиента на сервер и наоборот? |
||||||||||
9
Живой Ископаемый
21.03.16
✎
12:39
|
2(7) А ПрочитатьИзФайловНаСервере - это на сервере без контекста, но все равно долго?
А если просто, передавать с сервара без контекста здоровый табличный документ - будет также долго? |
||||||||||
10
PR третий
21.03.16
✎
12:46
|
(9) >>А ПрочитатьИзФайловНаСервере - это на сервере без контекста, но все равно долго?
Да что ты зацепился за контекст формы? Там три копейки в базарный день. А табличный документ (реквизит объекта) я в параметрах все-равно передаю конечно же, мне же надо куда-то заполнять. А вот он при возвращении и тормозит. >>А если просто, передавать с сервара без контекста здоровый табличный документ - будет также долго? Что значит просто? Просто вернуть функцией табдокумент? Ну, допустим, может будет быстро. И че? Нахрен мне нужен табличный документ? Он у меня и так на клиенте есть в принципе, если понадобится. |
||||||||||
11
Живой Ископаемый
21.03.16
✎
12:47
|
Так, а что делает ПрочитатьИзФайловНаСервере ?
|
||||||||||
12
PR третий
21.03.16
✎
12:51
|
(11) Получает из временного хранилища помещенный на клиенте mxl-файл, сохраняет его на диск на сервере, читает с помощью "Прочитать" во временный табличный документ и выводит в табличный документ объекта с помощью "Вывести".
|
||||||||||
13
Лефмихалыч
21.03.16
✎
13:04
|
(0) медленно потому, что передача на сервер - это сериализация/десериализация. Вручную ты этого не делаешь.
|
||||||||||
14
PR третий
21.03.16
✎
13:16
|
(13) Ну это как бы понятно.
Понятно хотя бы потому, что при наличии недопустимых символов XML все накрывается медным тазом. Тут скорее вопрос в другом, что делать в такой ситуации? 1С рекомендует не гонять такую инфу между клиентом и сервером. И как, спрашивается, жить? |
||||||||||
15
PR третий
21.03.16
✎
13:32
|
Еще какая-то странная тема.
Когда на форме уже прочитался xml-файл и я нажимаю кнопку "Ну давай, грузи", в которой выполняется "ПоказатьВопрос", то пока вопрос покажется, полгода пройдет, пока весь табличный документ не сгоняется на сервер. Спрашивается, зачем? |
||||||||||
16
Живой Ископаемый
21.03.16
✎
13:35
|
2(12) " и выводит в табличный документ объекта с помощью "Вывести". - получается, форма на сервере изменена, чтобы она отобразилась на клиенте, сервер ее сериализует, и посылает большой хмл на клиент, который ее десирализует.
Хотя все с понтом и происходит в серверной без контекста процедуре. Но это безконтекста, видимо означает что клиент на сервер не отправляет контекст именно только для вызова процедуры |
||||||||||
17
PR третий
21.03.16
✎
13:37
|
(16) Спасибо, КЭП. Что дальше?
|
||||||||||
18
lodger
21.03.16
✎
14:00
|
попробуй отказаться от ТабДок.
сделай ТЗ\ТЧ на форме\объекте, набивай его на сервере. тогда на форму тебе будет прибегать строк не больше чем видимая область. не? Свое мнение |
||||||||||
19
Живой Ископаемый
21.03.16
✎
14:02
|
2(17) Да вобщем-то все...
=== Но можно например по-пробовать сделать так. а) Делаешь ХТТП-сервис, на ПОСТ, который принимает файл. на стороне сервера распаковывает его, читает в Табличный Документа, но не помещает на форму (ну, чтобы выполнять движковую сериализацию/десериализацию формы). Сериализует данные из этого табличного документа в JSON, и отправляет этот джейсон в ответе ХТТП-запроса с клиента. Клиент сам заполняет табличный документ десериализованными из полученного с сервера джейсона данными. ???? ПРОФИТ!!! Свое мнение |
||||||||||
20
Живой Ископаемый
21.03.16
✎
14:29
|
(ну, чтобы НЕ выполнять движковую сериализацию/десериализацию формы)
|
||||||||||
21
Fragster
гуру
21.03.16
✎
14:33
|
в данном случае может быть быстрее в контексте :)
|
||||||||||
22
Serginio1
21.03.16
✎
14:44
|
А еще можно сжимать с помощью ХранилищаЗначения или Zip
|
||||||||||
23
PR третий
21.03.16
✎
15:19
|
(18) Не
|
||||||||||
24
PR третий
21.03.16
✎
15:21
|
(19) Рукалицо.
Если заполнять на клиенте построчно, то вся тема не имеет смысла, так как все понятно. Речь про то, что делать, если нужно использовать метод "Вывести", а не выводить через задницу по одной ячейке. |
||||||||||
25
Лефмихалыч
21.03.16
✎
15:40
|
(14) изобретать что-то, чтобы жить как-то иначе. В целом задача какую-то муйню мутить со стаметровыми таблицами как-то разительно и категорически выбивается из контекста тонкого клиента. Вот прямо совсем в разных углах ринга тонкие клиенты и стаметровые файлы. Как по мне.
|
||||||||||
26
Лефмихалыч
21.03.16
✎
15:45
|
(15) ну, что тут можно сказать, кроме "не делай так"?..
|
||||||||||
27
Живой Ископаемый
21.03.16
✎
16:08
|
2(24)Чувак, вот начни воспринимать тонкого клиента как мобильное приложение. Вот ты видел например мобильные фейсбук или твитер или там каких-нить интернет магазов клиенты, где оно сразу бы показывало всю новостную ленту/весь ассортимент? нет, исключительно порциями.
Даже если первоначальная загрузка долгая - он сохраняется локально, и потом тоже показывается порциями. И даже если эта аналогия кажется притянутой за уши, то вот тебе абсолютно зеркальная - попробуй создай гугл-таблицу со 100 000 строками и 10-ком заполненных колонок. И попробуй как быстро будет эта таблица открываться на мобильном клиенте. Если долго - то радуйся, даже гугл не решило твоей (1с) проблемы. Если все-таки быстро - то не порциями ли грузятся строки? |
||||||||||
28
PR третий
21.03.16
✎
19:33
|
(27) Да мне пофиг в принципе, если я на клиенте не буду иметь все данные табличного документа.
Я все-равно гружу на сервере. Так что если вдруг была бы порционная подгрузка, то мне было бы пофиг. |
||||||||||
29
mistеr
21.03.16
✎
19:38
|
Если 100 Мб - реальная цифра, то пора задуматься о более подходящем формате хранения того, что в файле. Либо о более подходящем алгоритме загрузки (чтобы файл попадал сразу на сервер, минуя рабочий стол юзера).
Неправильно ты бутерброд ешь, нужно по-другому... |
||||||||||
30
PR третий
21.03.16
✎
19:46
|
(29) Ну попадет он быстрее и что? Он же после загрузки возвращается назад на клиента.
Задумываться о другом формате я не буду, в принципе терпимая скорость. Вопрос скорее, теоретический, просто интересно. |
||||||||||
31
shuhard
21.03.16
✎
20:03
|
(30)[Задумываться о другом формате я не буду]
нечем думать ? Неправильно ты бутерброд ешь, нужно по-другому... |
||||||||||
32
PR третий
21.03.16
✎
20:08
|
(31) Закрой варежку //лениво
|
||||||||||
33
MaxS
21.03.16
✎
20:16
|
Огромная табличная часть на УФ выводится очень медленно.
Для ускорения можно таблицу значений с помощью СКД вывести в виде табличного документа. |
||||||||||
34
Fragster
гуру
22.03.16
✎
11:15
|
(21)+ набросал демонстрацию эффекта: http://catalog.mista.ru/public/504141/
|
||||||||||
35
Fragster
гуру
22.03.16
✎
11:16
|
(33) не обязательно использовать СКД
|
||||||||||
36
Fragster
модератор
22.03.16
✎
11:17
|
(31)(32) девочки, не ссорьтесь
|
||||||||||
37
Живой Ископаемый
22.03.16
✎
11:27
|
(34) прикольно
|
||||||||||
38
Serginio1
22.03.16
✎
11:32
|
(34) Спасибо. На заметку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |