|   |   | 
| 
 | Быстродействие ОтбораСтрок на клиенте | ☑ | ||
|---|---|---|---|---|
| 0
    
        Andrewww123 21.11.14✎ 04:07 | 
        Есть документ, имеющий 5 ТЧ, связанных между собой. При активизации строки первой таблицы устанавливается ОтборСтрок в четырех остальных. Если открыть записанный и заполненный документ и активизировать строку первой таблицы, то остальные отборы устанавливаются секунд 15.
 Если добавить в процедуру "ПриОткрытии" обход каждой ТЧ с помощью цикла(внутри цикла пусто, ничего не делается), отборы станут устанавливаться менее чем за секунду. Теперь вопрос: как же так? Глюки платформы(8.3.4.496)? | |||
| 1
    
        Andrewww123 21.11.14✎ 04:13 | 
        Забыл: форма управляемая     | |||
| 2
    
        Andrewww123 21.11.14✎ 08:42 | 
        Поднимем. Интересный же момент     | |||
| 3
    
        Fragster гуру 21.11.14✎ 09:50 | 
        строк сколько?     | |||
| 4
    
        pessok 21.11.14✎ 10:18 | 
        подпишусь почитать     | |||
| 5
    
        Ненавижу 1С гуру 21.11.14✎ 10:24 | 
        кеширование?     | |||
| 6
    
        Maxus43 21.11.14✎ 10:26 | 
        (5) всё равно платформа не должна себя так вести, при открытии формы данные объекта же считываются     | |||
| 7
    
        Лефмихалыч 21.11.14✎ 10:26 | 
        (0) в талмуде же русским по белому сказано, что объект читается со всеми табличными частями. Ты уверен, что тебе не показалось?     | |||
| 8
    
        olegves 21.11.14✎ 10:27 | 
        (0) все ТЧ в динсписках?     | |||
| 9
    
        Kalambur 21.11.14✎ 10:28 | 
        (0) отбор НаСервере наверно делаешь?     | |||
| 10
    
        olegves 21.11.14✎ 10:29 | 
        (0) как ты умудрился все 5 Тч одновременно на экран поместить?     | |||
| 11
    
        Drac0 21.11.14✎ 10:29 | 
        (6) Не все. ОтборСтрок, НайтиСтроки на больших таблицах делают серверный вызов. Особо замечательно это выглядит в цикле -_-     | |||
| 12
    
        Ненавижу 1С гуру 21.11.14✎ 10:29 | 
        (6) не должна конечно, но ведет     | |||
| 13
    
        Drac0 21.11.14✎ 10:30 | 
        (7) Ему не показалось :)     | |||
| 14
    
        Лефмихалыч 21.11.14✎ 10:34 | 
        (13) кругом сплошное обманилово...     | |||
| 15
    
        Andrewww123 21.11.14✎ 10:37 | 
        (3) Строк в самой тяжелой таблице 24 500.
 (9) Отбор на клиенте делается | |||
| 16
    
        Andrewww123 21.11.14✎ 10:38 | 
        (8) Все таблицы - обычные таблицы     | |||
| 17
    
        herfis 21.11.14✎ 10:39 | 
        (7) В талмуде речь именно об объекте. А не об УФ объекта.     | |||
| 18
    
        herfis 21.11.14✎ 10:42 | 
        (15) Неплохо. Интересно бы на последнем релизе тестануть.     | |||
| 19
    
        Andrewww123 21.11.14✎ 10:43 | 
        (5) Похоже как раз на кеширование. Я понимаю так, что пока ко всем строкам не обратишься явно, на клиенте их не существует. Может быть только видимая часть строк на клиенте загружается, а остальные по мере необходимости. Но это было бы странно. Как-то так..     | |||
| 20
    
        ssh2QQ6 21.11.14✎ 10:43 | 
        (15) посмотри обмен с сервером, серверные вызовы. Тянет данные с сервера при отборе видимо     | |||
| 21
    
        ssh2QQ6 21.11.14✎ 10:44 | 
        (19) не загружуаются все строки, где то читал про это. Да иопять же включи просмотр серверных вызовов и посмотри что при прокрутке ТЧ будет     | |||
| 22
    
        Drac0 21.11.14✎ 10:44 | 
        (19) Так и есть. Поэтому надо быть аккуратнее с этими методами.     | |||
| 23
    
        Andrewww123 21.11.14✎ 10:44 | 
        (18) Согласен, пока нет возможности.
 (20) Понятно что тянет. Не понятно в честь чего. На клиенте же тоже должна существовать ТЧ в момент открытия объекта | |||
| 24
    
        ssh2QQ6 21.11.14✎ 10:44 | 
        обращения к серверу будут при прокрутке     | |||
| 25
    
        Andrewww123 21.11.14✎ 10:46 | 
        (21) (22) Если так, то вопросов нет. Погуглить нужно будет на эту тему. Смущает то, что документ открывается секунд 10-15, как бы похоже что объект считывается полностью     | |||
| 26
    
        Drac0 21.11.14✎ 10:46 | 
        (23) Используй ДС. Они оптимальнее будут в этой ситуации, если запросы не очень сложные, которые эти таблицы собирают.     | |||
| 27
    
        herfis 21.11.14✎ 10:47 | 
        (19) Почему странно? Как раз логично. Иначе открытия "тяжелых" документов вообще можно было бы не дождаться на тонких каналах связи. Косяк именно в отработке отбора. Очевидно, что не оптимизировали его для ТЧ большого размера. Например, порционно тянут все данные на клиента, а потом отбирают. В итоге получается еще медленнее, чем сразу все при открытии затянуть.     | |||
| 28
    
        Andrewww123 21.11.14✎ 10:55 | 
        (26) Попробую, спасибо.
 (27) Странно учитывая то, что написал в (25). Форма документа тогда должна быстро открываться. Хотя, наверное, форма на клиенте ждет пока форма на сервере полностью получит все данные от СУБД и только после этого открывается. Это бы всё объясняло | |||
| 29
    
        hhhh 21.11.14✎ 11:02 | 
        (28) наверно еще что-то вписал в при открытии или в при создании на сервере. Еще что-то кроме отбора.     | |||
| 30
    
        herfis 21.11.14✎ 11:09 | 
        (28) Сначала на сервере создается объект. И в него как раз все данные считываются полностью. А потом создается форма, куда данные, судя по всему, засылаются частично.     | |||
| 31
    
        Andrewww123 21.11.14✎ 11:09 | 
        (29) Только отборы     | |||
| 32
    
        ssh2QQ6 21.11.14✎ 11:10 | 
        При прокрутке, делается два серверных вызова сразу. Во втором идет обращение к SQL серверу, получаются представления ссылок для следующих 35 строк.     | |||
| 33
    
        ssh2QQ6 21.11.14✎ 11:10 | 
        Посмотрел     | |||
| 34
    
        Andrewww123 21.11.14✎ 11:11 | 
        (30) Вот и я говорю, может быть форма на клиенте ждет пока на сервере все данные считаются и только после этого открывается. Но это было бы немного странно, учитывая что на клиенте форме нужно только 15-20 строк чтобы отобразиться     | |||
| 35
    
        Andrewww123 21.11.14✎ 11:12 | 
        (32) Да, платформа считывает часть строк сверху и часть снизу, если правильно помню. Читал где-то давно     | |||
| 36
    
        herfis 21.11.14✎ 11:13 | 
        (34) Хотя, скорее всего, ты прав тоже и в серверный экземпляр формы они тоже все засасываются. А вот на клиент уже частично.
 Это логично, потому что нужно где-то держать "слепок" всех данных изменяемого объекта. | |||
| 37
    
        ssh2QQ6 21.11.14✎ 11:13 | 
        + (32) строки из тч не считываются, а идет получение представлений из соответствующих справочников,  в каждом запросе  отбором по конкретным ссылкам, 35 штук     | |||
| 38
    
        Andrewww123 21.11.14✎ 11:14 | 
        В общем, более-менее прояснилось. Всем спасибо, Приморье заканчивает свою работу :)     | |||
| 39
    
        herfis 21.11.14✎ 11:16 | 
        Может, в новых релизах работу отбора уже оптимизировали. Интересно бы проверить, да недосуг...     | |||
| 40
    
        Ненавижу 1С гуру 21.11.14✎ 11:21 | 
        УФ это неведомая уйня     | |||
| 41
    
        olegves 21.11.14✎ 11:25 | 
        (38) ДС тебе не удастся создать - кроме случая с отключением его преимуществ (отключение основной таблицы и динамич считывания) - ДС не любит дублей строк по ключевым полям
 Оптимизация формы документа тебе поможет - одновременно отображать не более 2 ТЧ на форме (закладки) - при этом включать отбор при активации закладки | |||
| 42
    
        olegves 21.11.14✎ 11:26 | 
        (40) УФ - нормальная клиент-серверная архитектура, а уйня возникает от неумения ее готовить (или от лени, или от недостатка ума)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |