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

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

УФ: очень(!) медленная выборка из ДанныеФормыКоллекция

УФ: очень(!) медленная выборка из ДанныеФормыКоллекция
Я
   Вик72
 
08.11.18 - 17:18
На управляемой форме документа расположена ТЧ Расходы. В этой ТЧ 10000 строк - много, но не очень, бывает и побольше. Из формы по кнопке вызывается процедура:

&НаКлиенте
Процедура Рассчитать()

    Н = 1;
    Для Каждого СтрокаДФ Из Объект.Расходы Цикл
        Н = Н + 1;
    КонецЦикла;

КонецПроцедуры

И эта процедура очень сильно тормозит. Замерил отладчиком - на 139 вызовов строки "Для Каждого СтрокаДФ Из Объект.Расходы Цикл" ушло 10 секунд времени. Походу, при каждом повторе цикла происходит какой-то неявный серверный вызов? Тогда как оптимизировать обход всей ТЧ? Если процедуру вызывать "&НаСервере", то накладные расходы при передаче контекста на сервер из-за большого объема ТЧ тоже велики - около 3 секунд, поэтому я и не хочу передавать вызов на сервер, все нужные данные, по идее(?), должны находиться на клиенте - ТЧ Расходы. Как сделать максимально быстрый обход всей ТЧ на клиенте?
 
 
   Вик72
 
101 - 22.11.18 - 18:03
Вдогонку: как же все-таки убого реализованы управляемые формы, простейшая запись без проведения и каких-либо обработчиков из формы документа с 20000 строк занимает 4 минуты в случае УФ, и 3 секунды, если вместо управляемой поставить обычную форму!
   xXeNoNx
 
102 - 22.11.18 - 18:29
(101) а я все думаю, зачем клиент-сервер вообще впилили эти долбаные индусы
   xXeNoNx
 
103 - 22.11.18 - 18:30
+(102) походу они были не в курсе что бывают доки тч в 50к строк
   Вафель
 
104 - 22.11.18 - 18:31
в теории на клиенте 20 тыщ строк - это совем не много. ну 20-200 мегабайт
   xXeNoNx
 
105 - 22.11.18 - 18:34
(104) а если у тс есть поле с типом хранилище...
   Fragster
 
106 - 22.11.18 - 18:35
(101) а сколько раз оно сходило на сервер, если смотреть на счетцики?
   Fragster
 
107 - 22.11.18 - 18:35

   H A D G E H O G s
 
108 - 22.11.18 - 18:35
(101) Отличный индикатор криворуков.
   H A D G E H O G s
 
109 - 22.11.18 - 18:37
Ещё меня забавляют фразы "приложении xxx любит процессор" "приложении yyy любит память". Мрак.
   xXeNoNx
 
110 - 22.11.18 - 18:44
(109) ну зачем ты так, у него полоска длиннее
 
 Рекламное место пустует
   Borteg
 
111 - 22.11.18 - 19:20
(0) Прочитать мануал,осознать что на клиенте нету этой тч, дфк это имитация, на клиент передается по 15 строк, сколько там обращений при обходе на сервер боюсь даже представить. Решение одно - выполнить этот код на сервере.
При переходе с клиента на сервер дфк обратно не передается, передаются только измененные элементы.
   Rovan
 
112 - 22.11.18 - 19:21
(0) "В этой ТЧ 10000 строк"
В чем суть задачи ? нафейхуа так делать ?
   Rovan
 
113 - 22.11.18 - 19:22
(101) а теперь представь что все это должно работать еще и в браузере и на мобильной платформе
   Borteg
 
114 - 22.11.18 - 19:24
(101) простейшая запись-очень интересно) что проведение/что запись для субд это необходимость нахерачить в таблицу кучу данных, в твое случае 20000 строк. Но судя по всему говнокод рулит.
   Borteg
 
115 - 22.11.18 - 19:25
(111) в догонку наверное еще стоит галочку использовать всегда,ну чтобы совсем было интересно
   Конструктор1С
 
116 - 22.11.18 - 19:28
(101) если в одном документе десятки тысяч строк, то тут попахивает проблемами в проектировании
   palsergeich
 
117 - 22.11.18 - 19:30
(116) +1
   Fragster
 
118 - 22.11.18 - 19:52
(116) совсем не обязательно. просто это может быть технический документ, который глазами смотреть не надо
   palsergeich
 
119 - 22.11.18 - 20:06
(118) Делайте его в фоне и не смотрите.
Но вообще - порочная практика - большие ТЧ, все кого знаю на РС перешли.
   xXeNoNx
 
120 - 22.11.18 - 20:43
(118) ага, точно, технический документ, который нужно открывать, причем в некой тч перебирать 50к строк, ну, а почему бы и нет
   xXeNoNx
 
121 - 22.11.18 - 20:45
(120) я проф в 8.2, но в душе я семерошник
   ssh2006
 
122 - 22.11.18 - 23:27
(0) "в данном примере будет рассмотрен другой вопрос: где наиболее эффективно выполнять пересчет большого количества строк табличной части – на сервере или на клиенте?"
https://its.1c.ru/db/pubv8devui#content:296:hdoc
   H A D G E H O G s
 
125 - 23.11.18 - 12:47
Вите надо выйти.
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует