|   |   | 
| 
 | Программное заполнение ДереваЗначений уф | ☑ | ||
|---|---|---|---|---|
| 0
    
        zladenuw 07.11.17✎ 16:15 | 
        60 тысяч позиций товара заполняет где то от 15 до 20 секунд
 Можно ли как ускорить этот процесс ? Делаю выборку. Потом программно заполняю дерево. Запрос.УстановитьПараметр("ЕстьПоиск",ЗначениеЗаполнено(ЭтотОбъект.ПолныйПоиск)); Запрос.УстановитьПараметр("Поиск","%"+ЭтотОбъект.ПолныйПоиск+"%"); Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ОбъектСпДерево.Строки.Очистить(); Пока Выборка.Следующий() Цикл Доб = ОбъектСпДерево.Строки.Добавить(); Доб.Товар = Выборка.Ссылка; Доб.Ссылка = Выборка.Ссылка.УникальныйИдентификатор(); Доб.Артикул = Выборка.Артикул; Доб.Производитель = Выборка.Производитель; ВыборкаХарактеритиска = Выборка.Выбрать(); Пока ВыборкаХарактеритиска.Следующий() Цикл ДобХаракт = Доб.Строки.Добавить(); ДобХаракт.Товар = ВыборкаХарактеритиска.Характеристика; ДобХаракт.Ссылка = ВыборкаХарактеритиска.Характеристика.УникальныйИдентификатор(); ДобХаракт.Артикул = ВыборкаХарактеритиска.Артикул; //ДобХаракт.Производитель = Выборка.Производитель; КонецЦикла; КонецЦикла; | |||
| 1
    
        Buster007 07.11.17✎ 16:17 | 
        Замер сделай и посмотри, какие строки у тебя занимают больше всего времени     | |||
| 2
    
        DrShad 07.11.17✎ 16:18 | 
        загружать из результата запроса     | |||
| 3
    
        Cyberhawk 07.11.17✎ 16:19 | 
        Зачем заполнять дерево из 60 тысяч строк сразу?     | |||
| 4
    
        zladenuw 07.11.17✎ 16:20 | 
        (2) хм. а как тогда запихнуть характеристику в номенклатуру ? :) 
 (3) а как тогда ? | |||
| 5
    
        DrShad 07.11.17✎ 16:22 | 
        (4) собрать ее в запросе, не?     | |||
| 6
    
        GANR 07.11.17✎ 16:22 | 
        (0) А зачем тут дерево? Нельзя ли соответствие или ТЗ задействовать - эти объекты-то полегче будут.     | |||
| 7
    
        Buster007 07.11.17✎ 16:23 | 
        ЗначениеВРеквизитФормы(Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам), ИмяРеквизита)     | |||
| 8
    
        GANR 07.11.17✎ 16:23 | 
        Запрос.УстановитьПараметр("Поиск","%"+ЭтотОбъект.ПолныйПоиск+"%"); - вот это гарантированно даст тормоза     | |||
| 9
    
        zladenuw 07.11.17✎ 16:24 | 
        (8) как раз тут. не тупит. если делает поиск. занимает 1 секунду на запрос и построение дерева.
 тупит когда выводит все :) а мне туда еще склады и цены добавить нужно. | |||
| 10
    
        DrShad 07.11.17✎ 16:25 | 
        (9) не нужно тебе это все, поверь     | |||
| 11
    
        DrShad 07.11.17✎ 16:25 | 
        такое дерево актуально будет только в виде отчета     | |||
| 12
    
        zladenuw 07.11.17✎ 16:27 | 
        (10) (11) мне оно да. А вот люди захотели именно так.
 Есть реализация для толстого клиента. Хотят для УФ | |||
| 13
    
        GANR 07.11.17✎ 16:29 | 
        (12) а в толстом, значицца, быстро работает с таким же объемом данных?     | |||
| 14
    
        zladenuw 07.11.17✎ 16:31 | 
        (13) чуток да. с учетом что там и цены и остатки выводятся :) а тут без этого. Мне бы за 5 секунд формирование :)     | |||
| 15
    
        DrShad 07.11.17✎ 16:32 | 
        (14) ну и чем в УФ отличается от ОФ, кроме (7)?     | |||
| 16
    
        DrShad 07.11.17✎ 16:33 | 
        возьми все то же самое и через (7) кидай на форму     | |||
| 17
    
        zladenuw 07.11.17✎ 16:33 | 
        попробую     | |||
| 18
    
        Cyberhawk 07.11.17✎ 16:33 | 
        (4) От сценариев использования плясать надо. Отсюда не видно.     | |||
| 19
    
        GANR 07.11.17✎ 16:35 | 
        (14) Если не поможет (7) можно еще попробовать убрать ссылочные типы из состава того, что выводится на форму (вывести строки только).     | |||
| 20
    
        zladenuw 07.11.17✎ 16:43 | 
        (19) это сделал сразу. пробую сразу результат на форму.     | |||
| 21
    
        zladenuw 07.11.17✎ 16:43 | 
        мда уж 46 секунд :)     | |||
| 22
    
        GANR 07.11.17✎ 16:52 | 
        (21) А если вообще убрать ссылки из результата запроса и из дерева? Только примитивные типы оставить.     | |||
| 23
    
        zladenuw 07.11.17✎ 16:54 | 
        в консоле запрос выполняется за 865мс.
 долго идет загрузка в дерево | |||
| 24
    
        GANR 07.11.17✎ 16:56 | 
        (23) ссылки ПОЛНОСТЬЮ из дерева убрал?     | |||
| 25
    
        GANR 07.11.17✎ 16:58 | 
        Запости-ка замер производительности кода из (0). Посмотрим в каких точках тормоза.     | |||
| 26
    
        zladenuw 07.11.17✎ 18:35 | 
        Во зараза. убрал все ссылки. строкам выставил размерности. и чудо. 2 секунды :)     | |||
| 27
    
        zladenuw 07.11.17✎ 18:36 | 
        да и заменил вот это
 значениевданныеформы на ЗначениеВРеквизитФормы | |||
| 28
    
        zladenuw 07.11.17✎ 18:39 | 
        как задать ширину колонки.
 В конфиге меняю. но все равно нужно раздвигать колонку http://prntscr.com/h7dp2k | |||
| 29
    
        Cyberhawk 07.11.17✎ 18:50 | 
        (28) Формат поля на первой вкладке СКД, либо Оформление в настройках СКД     | |||
| 30
    
        GANR 07.11.17✎ 19:08 | 
        (26) Во! Ссылка по-ходу выливается в неявный запрос в цикле.     | |||
| 31
    
        zladenuw 07.11.17✎ 19:14 | 
        (30) так главное. это дерево пухло. помещение дерево в реквизит формы до 1 секунды идет. 
 (29) так ставлю ширину такую как настроил на форме. и пофиг. режит ее. | |||
| 32
    
        zladenuw 07.11.17✎ 19:15 | 
        (30) еще добавлю цены и остатки. и посмотрим. но не думаю что должно тупить. при таком подходе динамический нормально работает. его бы и использовал но есть товар с характеристиками. и нужно выводить их в группировке     | |||
| 33
    
        zladenuw 07.11.17✎ 19:16 | 
        (30) Сейчас больше времени занимает старт самого предприятия. я думал вообще поместить в фоновое задание. а потом результат поместить на форму. только вот теперь думаю или стоит такое делать :)     | |||
| 34
    
        GANR 07.11.17✎ 19:22 | 
        (33) К этому прибегать только если никак не получится ускорить. Замучаешься эти фоновые задания эти отлаживать потом.     | |||
| 35
    
        Cyberhawk 07.11.17✎ 19:23 | 
        (31) Нужно не ширину ставить, а минимальную ширину     | |||
| 36
    
        zladenuw 07.11.17✎ 19:26 | 
        (35) да нашел где собака зарыта. общая ширина группы не позваляло. так как потом динамически меняется отображение еще 10 колонок :) по ширине не проходило.
 а за совет спасибо. пробую. | |||
| 37
    
        zladenuw 07.11.17✎ 19:28 | 
        есть еще момент.
 Хочу при вводе в поле ввода.сразу искать. Но вот смотрю событие нельзя делать вызов сервера :( Расширение поля формы для поля ввода (Form field extension for a text box) АвтоПодбор (AutoComplete) В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере. Походу вариант с фоновым ? | |||
| 38
    
        zladenuw 07.11.17✎ 19:29 | 
        (35) что то не вижу такого http://prntscr.com/h7efic     | |||
| 39
    
        Cyberhawk 07.11.17✎ 20:02 | 
        (38) А, так у тебя своя форма что ли     | |||
| 40
    
        zladenuw 07.11.17✎ 20:32 | 
        (39) да :)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |