Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Программное заполнение ДереваЗначений уф

Программное заполнение ДереваЗначений уф
Я
   zladenuw
 
07.11.17 - 16:15
60 тысяч позиций товара заполняет где то от 15 до 20 секунд
Можно ли как ускорить этот процесс ?
Делаю выборку. Потом программно заполняю дерево.
    Запрос.УстановитьПараметр("ЕстьПоиск",ЗначениеЗаполнено(ЭтотОбъект.ПолныйПоиск));
        Запрос.УстановитьПараметр("Поиск","%"+ЭтотОбъект.ПолныйПоиск+"%");
        Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        
        ОбъектСпДерево.Строки.Очистить();
        Пока Выборка.Следующий() Цикл
        
            Доб = ОбъектСпДерево.Строки.Добавить();
            Доб.Товар = Выборка.Ссылка;
            Доб.Ссылка = Выборка.Ссылка.УникальныйИдентификатор();
            Доб.Артикул = Выборка.Артикул;
            Доб.Производитель = Выборка.Производитель;
            
            ВыборкаХарактеритиска = Выборка.Выбрать();
            Пока ВыборкаХарактеритиска.Следующий() Цикл
                 ДобХаракт = Доб.Строки.Добавить();
                 ДобХаракт.Товар = ВыборкаХарактеритиска.Характеристика;
                 ДобХаракт.Ссылка = ВыборкаХарактеритиска.Характеристика.УникальныйИдентификатор();
                 ДобХаракт.Артикул = ВыборкаХарактеритиска.Артикул;
                //ДобХаракт.Производитель = Выборка.Производитель;

            КонецЦикла;    
        КонецЦикла;
 
 
   Buster007
 
1 - 07.11.17 - 16:17
Замер сделай и посмотри, какие строки у тебя занимают больше всего времени
   DrShad
 
2 - 07.11.17 - 16:18
загружать из результата запроса
   Cyberhawk
 
3 - 07.11.17 - 16:19
Зачем заполнять дерево из 60 тысяч строк сразу?
   zladenuw
 
4 - 07.11.17 - 16:20
(2) хм. а как тогда запихнуть характеристику в номенклатуру ? :)

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

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
Походу вариант с фоновым ?
   zladenuw
 
38 - 07.11.17 - 19:29
(35) что то не вижу такого http://prntscr.com/h7efic
   Cyberhawk
 
39 - 07.11.17 - 20:02
(38) А, так у тебя своя форма что ли
   zladenuw
 
40 - 07.11.17 - 20:32
(39) да :)


Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует