|
Тормозит простая функция с директивой &НаСервере [решено с помощью &НаСервереБезКонтекста] | ☑ | ||
---|---|---|---|---|
0
Олдж
14.07.20
✎
20:42
|
Добрый день, началось всё с того, что вроде бы простая обработка выполняется непозволительно долгое время.
Замер производительности показал 95% времени выполняется одна функция. В этой функции одна единственная строка: Возврат Справочники.Номенклатура.НайтиПоРеквизиту("Код77",КодНоменклатуры77).Ссылка; Реквизит Код77 индексированный. В ходе эксперимента оставил в этой функции одну строку Возврат 0; - производительность не изменилась. В самой функции время выполнения меньше секунды, а в процедуре на клиенте эта функция возвращает значение секунду и более. Вопрос: как исправить ситуацию в лучшую сторону ? |
|||
1
acht
14.07.20
✎
20:46
|
Уменьшить число контекстых вызовов, количество данных контекстф формы и т.п.
|
|||
2
acht
14.07.20
✎
20:47
|
1) Используй вместо &НаСервере &НаСервереБезКонтекста
2) Убери наъ .Ссылка от результата поиска по реквизиту |
|||
3
acht
14.07.20
✎
20:48
|
3) Ищи сразу все нужные данные одним заходом на сервер, без дерганья в цикле
|
|||
4
Олдж
14.07.20
✎
20:50
|
(2) ага, без контекста помогло. Спасибо. А можно уточнить почему так ?
|
|||
5
acht
14.07.20
✎
20:52
|
(4) У тебя очень "толстая" форма, очевидно есть табличная часть с большим числом строк. При каждом контекстном вызове (который &НаСервере) это барахло едет на сервер. При возврате из функции - обратно на клиент.
|
|||
6
acht
14.07.20
✎
20:53
|
Вот ты производительности сериализатора и сети и замеряешь
|
|||
7
Олдж
14.07.20
✎
20:54
|
(5) Да так и есть.
Благодарю за разъяснение |
|||
8
Злопчинский
14.07.20
✎
23:49
|
(2) "Убери наъ .Ссылка от результата поиска по реквизиту" - почему?
Возврат Справочники.Номенклатура.НайтиПоРеквизиту("Код77",КодНоменклатуры77).Ссылка - здесь возвращается ссылка Возврат Справочники.Номенклатура.НайтиПоРеквизиту("Код77",КодНоменклатуры77) - здесь возвращается объект? -зачем нам обьект если допустим нужна только ссылка? илия неправильно понимаю? |
|||
9
Сергиус
14.07.20
✎
23:54
|
(8)НайтиПоРеквизиту и так ссылку возвратит.
|
|||
10
Злопчинский
14.07.20
✎
23:58
|
(9) хм.. как однако непросто в снеговике.
объект по поиску среди объектов не возвращает? надо как-то принудительно объект получать? |
|||
11
Сергиус
15.07.20
✎
00:00
|
(10)Ссылка.ПолучитьОбъект()
Собственно зачем при поиске сам объект то? |
|||
12
Злопчинский
15.07.20
✎
00:02
|
(11) согласен. без надобности объект тянуть не надо.
спсб за пояснение |
|||
13
Сергиус
15.07.20
✎
00:04
|
(13)было б за что..я смотрю ты в лоно 8-ки не торопишься особо))
|
|||
14
Злопчинский
15.07.20
✎
00:05
|
(13) а смысл...?
|
|||
15
Злопчинский
15.07.20
✎
00:06
|
(13) .. чтобы тривиальные вопросы типа в КА2: Списание ДС - задваиваются проводки - превращались в проблему?
|
|||
16
Сергиус
15.07.20
✎
00:12
|
(15)Отладчик в руки..хотя конечно в КА2 это то еще удовольствие(
|
|||
17
Злопчинский
15.07.20
✎
00:27
|
(16) в УТ11 или в ЕРП - лучше?
|
|||
18
Сергиус
15.07.20
✎
00:54
|
(17)В УТ 10.3 неплохо было)
|
|||
19
Злопчинский
15.07.20
✎
02:51
|
(18) но это ж древнее как г... мамонта ;-)
|
|||
20
Сергиус
15.07.20
✎
13:33
|
(19)а 7.7 ТиС как тогда?)
|
|||
21
Злопчинский
15.07.20
✎
16:21
|
(20) это как теплое ламповое железо. может и УТ10 когда-то таким станет, но вряд ли
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |