Имя: Пароль:
1C
1С v8
1С 8 тормозит список товаров
0 bigmag
 
24.04.14
18:10
Пользуемся УТ 11.1.5.16 Платформа 8.3.4.465 Облачный сервер. Тонкий клиент. Локальная машина пользователя:i3, 8Gb, Windows 8.1

Для документов продажи написали обработку подбора товаров. Обработка простая. При открытии подбора формируется запрос по остатками и ценам, результат которого выгружается и отображается в динамической таблице на форме. Открытие подбора осуществляется быстро (секунды 2). В подбор попадают только товары с остатками и ценами около 6000 позиций.

Проблема в том, что когда пользователь "гуляет" по списку товаров из 6000 позиций и пользуется клавишами "PageUP" и "PageDown" или стрелками вверх, вниз, то список товаров периодами сильно "тормозит".

Поясните мне, если я правильно понял данные о товаре получены с сервера и находятся на локальной машине и форма с таблицей товаров тормозит на локальной машине пользователя.
Получается, что список товаров "тормозит" во время просмотра на локальной машине? Причина в локальной машине?
Как можно увеличить скорость просмотра списка?
У кого какие предложения?
1 Wobland
 
24.04.14
18:11
в словосочетании "динамический список" есть одноключевое слово
2 jsmith82
 
24.04.14
18:11
Неправильно понял. Сетка по ходу
3 jsmith82
 
24.04.14
18:12
Предложение - отказаться от облачного сервера с маломощными ресурсами по обслуживанию клиентов
4 Злопчинский
 
24.04.14
18:13
тормозит 1С 8
5 jsmith82
 
24.04.14
18:13
Как вариант - RDP
6 jsmith82
 
24.04.14
18:14
Тупо сравнить. Может, причина в сетке. Может, в наплевательской конфигурации сервера
7 erp20
 
24.04.14
18:28
(0) По полям сортировки (в динамическом списке) есть индексы?
8 jsmith82
 
24.04.14
18:31
6000 позиций без индексов взлетят
9 jsmith82
 
24.04.14
18:32
если только не какой-то нибудь хреново транслируемый запрос
10 bigmag
 
16.05.14
08:51
Решил проблему. В свойствах компьютера на вкладке "Визуальные эффекты" установил режим "Обеспечить наилучшее быстродействие". Список при перемотке стал работать значительно быстрее.

Отписался, вдруг кому пригодиться.
11 Fragster
 
гуру
16.05.14
08:56
то, что 1с нужна видеокарта нормальная, даже на сервере - это баян :)
12 bigmag
 
06.06.14
08:24
(11) новый компьютер, моноблок samsung.
Просто в визуальных эффектах windows 8.1 есть пункт "Плавное прокручивание списка...." (не помню дословно).
13 vde69
 
модератор
06.06.14
08:29
>>>>При открытии подбора формируется запрос по остатками и ценам, результат которого выгружается и отображается в динамической таблице на форме


эммм ты не очень понимаешь принцепы динамического списка...

он получает данные на кусок списка который влизет на экран плюс несколько элементов на запас. тоесть при каждом листании экрана идет запрос и получение новой порции данных.

по этому НИ В ОДНОЙ типовой конфе ты не увидишь остатки в колонке, они сделаны внизу по ОДНОЙ выделеной таблице.

если клиенты хотят видеть все - делай им отчет.
14 saaken
 
06.06.14
09:04
(13) немного отстал от жизни.Прямо сейчас вижу колонку "В наличии" в подборе в УП 2.0
15 ДенисЧ
 
06.06.14
09:07
(12) Плавное проглючивание было ещё в win98...
16 bigmag
 
06.06.14
09:48
(13) Я может не правильно применил термин "Динамический список". Я "плаваю" в терминалогии.
На сервере формируется запрос, который выгружается в таблицу значений, в свою очередь ЭТОЙ таблицей значений заполняется таблица (список) на форме из которой пользователь подбирает товар.
Это динамический список?
17 ProProg
 
06.06.14
09:54
Ндуно смотреть что ты сделал в этом чудо подборе своей, конкретно твоб обработку. А делать этогго никто нафиг бесплатно не будет.
Плати 5 тысяч.
18 ProProg
 
06.06.14
09:55
Шутка)))

Но я не понимаю как можно задавать вопросы по какомуто самоделкину подбору. М ыже не телепаты чего ты там наделал.
19 ProProg
 
06.06.14
09:57
(16) еперный бабай.Ничего себе путается в терминологии.

Написал неизвестно что, неизвестно как, еще все гадать должны
20 bigmag
 
06.06.14
10:02
(19) Ругаться не надо. Я просто не сталкивался с этим термином.

Вот так происходит передача результата запроса в реквизит формы:

&НаСервере
Запрос.....
РезЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.Прямой);
ЗначениеВРеквизитФормы(РезЗапроса, "СписокОстатковТовара");
21 ProProg
 
06.06.14
10:06
(20) если ты с чем то не сталкивался, значит ты уе неизвестно как мог написать свою подделку.
А гадать что ты наделал никто не будет.
22 vde69
 
модератор
06.06.14
10:11
(16) это НЕ динамический список.

Динамический список получает и обновляет данные по мере необходимости.

В твоем случае это обычная ТЗ, а ТЗ в веб клиенте на 6000 позиций будет точно глючить.... да и в тонком то-же.
23 ProProg
 
06.06.14
10:12
Этот кусок кода, как и то что ты сделал подбор через выгрузку в ТЗ - не дает ни малйшего представления почему у тебя и из за чего тормозит.

Отладчик в руки и вперед.
24 bigmag
 
06.06.14
10:12
(21) расслабься....подбор работает, все довольны
и всё равно спасибо
25 ProProg
 
06.06.14
10:14
(22) абсолютно неверное утверждение.
ТЗ на клиенте может работать в РАЗЫ быстрее во многих случаях.

Концепция клиент-серверной восьмерки на УП заключается в написании приложений которые могут работать через браузер.

Но если работа ведется в самой 1С то при достаточных мощностях клиенского компа - вполне могут нормально работать таблицы.
26 ProProg
 
06.06.14
10:15
(24) противоречит с написанным в (0)
Все довольны и в тоже время сильно тормозит.
27 bigmag
 
06.06.14
10:16
(16) там нет ТЗ, я ошибся
Но мне теперь понятно, что такое динамический список =)
Спасибо!

"Динамический список получает и обновляет данные по мере необходимости" - я правильно понял ЭТО реализовано на уровне платформы?
28 ProProg
 
06.06.14
10:17
(22) Тем болеее если ТЗ на клиенте и нет дополнительных запросов к базе - летают такие ТЗ в сто раз быстрее динамических списков.


(27) а по коду (20) - ЯВНО видно что это ТЗ!!
29 bigmag
 
06.06.14
10:21
(26) я упростил интерфейс windows, сейчас работает отлично
правда я задумался над словами vde69 из (22) "В твоем случае это обычная ТЗ, а ТЗ в веб клиенте на 6000 позиций будет точно глючить.... да и в тонком то-же." - буду проверять этот момент.
30 bigmag
 
06.06.14
10:23
(28) по поводу ТЗ согласен. Замылилось....надо больше спать =)
31 vde69
 
модератор
06.06.14
10:33
(25)(29) тут дело в том, что вообще ЛЮБОЙ современный веб клиент основан на некой виртуальной машине, и в ней как в песочнице выполняются все аплеты. А проблемма возникает именно для больших данных, по тому как и сборщик мусора и выделение памяти да и сам лимит памяти не расчитаны на большие данные, обычно все ограничивается весьма символическими 64к....

именно по этому все, что держится в памяти (а не на диске как картинки) для любого веб клиента есть проблемма. именно по этому 1с сильно переработала динамические списки для УФ.
32 H A D G E H O G s
 
06.06.14
10:33
Все. Надо писать статью.
33 H A D G E H O G s
 
06.06.14
10:35
В тонком клиенте ТЗ начинает тормозить (адски) при цифрах порядка

30 колонок (ссылочных/числовых)* 100000 строк.

Тормозит адово.
Тормозит сервер 1С.

До этих цифр она работает нормально.
34 H A D G E H O G s
 
06.06.14
10:35
ТЗ, брошенная на форму.
35 H A D G E H O G s
 
06.06.14
10:36
Для динамического списка с доп запросами по остатку стоит отключить галку "Динамическое считывание данных" - читаться будет во встроенную ВТ по 1000 строк.

Но я до конца не проверял, седня гляну профайлером.
36 H A D G E H O G s
 
06.06.14
10:37
Там еще много сладкого и интересного в Тонком клиенте есть, например дикие тормоза формирования СписковВыбора у полей ввода и пути обхода этого.

Надо писать статью.
37 bigmag
 
06.06.14
10:39
зачем статью,можно пообщаться =)
38 bigmag
 
06.06.14
10:42
(35) по подробнее про галку..Где она находиться?
39 ProProg
 
06.06.14
10:43
(36) в штатном типовом подборе знаешь что тормохит?
90 процентов тормоза происходит просто на передачу в динамический список параметров.
40 vde69
 
модератор
06.06.14
10:44
(36) обязательно опиши, что нельзя использовать дерево для динамических списков, там на 20к элементах при включеном RLS тормоза адские....

(33) я падал на 10к строк и примерно 15 колонок
41 H A D G E H O G s
 
06.06.14
10:49
(40) Дерево знаешь почему нельзя?
Он выполняет запрос сразу, для каждой ветки.
Это 100500 запросов только в путь.

Иерархический список надо пользовать.
42 vde69
 
модератор
06.06.14
10:54
(41) я знаю (кстати запросы делает топ 1), но многие не знают
43 acsent
 
06.06.14
10:57
При активизации сделано через обработчик ожидания?
44 Godofsin
 
06.06.14
10:59
(0) Может функция какая навешана?
45 bigmag
 
06.06.14
11:02
(44) нет функций, сейчас список работает нормально
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший