|
Что отработает быстрее в ОбработкаПолученияПредставления | ☑ | ||
---|---|---|---|---|
0
TolikoSprosit
29.05.18
✎
12:55
|
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
// Вставить содержимое обработчика. СтандартнаяОбработка = Ложь; Представление = Данные.Наименование + "(" + Строка(Данные.SpaceTypesMain) + ")"; Представление = Данные.Наименование + "(" + ОбщегоНазначения.ПолучитьЗначениеРеквизита(Данные.SpaceTypesMain,"Наименование") + ")"; КонецПроцедуры Замер производительности показывает что запрос в ПолучитьЗначениеРеквизита самое медленное место, это почему так? Или замер лукавит? |
|||
1
singlych
29.05.18
✎
12:57
|
А вот кто-нибудь запилит обработку получения представления для Данные.SpaceTypesMain, что будешь делать?
|
|||
2
TolikoSprosit
29.05.18
✎
12:59
|
(1) это я переживу)
|
|||
3
TolikoSprosit
29.05.18
✎
13:08
|
SpaceTypesMain не большой справочник. Моя ставка на то, что 1с кэшурует представление(Строка(Данные.SpaceTypesMain)) поэтому он и отрабатывает быстрей. Но я хочу чтобы господа эксперты высказались)
|
|||
4
DmitrO
29.05.18
✎
13:09
|
Не надо использовать ОбщегоНазначения.ПолучитьЗначениеРеквизита, это отдельный запрос к базе.
Надо использовать событие ОбработкаПолученияПолейПредставления и все данные для формирования представления будут получаться в исходном запросе. |
|||
5
DmitrO
29.05.18
✎
13:11
|
А SpaceTypesMain это ссылка что ли? Тогда да, 1С так не умеет. :)
|
|||
6
TolikoSprosit
29.05.18
✎
13:14
|
(4) (5) Я уж думал чудо какое есть)
|
|||
7
DmitrO
29.05.18
✎
13:18
|
Им бы сделать чтобы можно было указать в ОбработкаПолученияПолейПредставления поля так: Поля.Добавить("SpaceTypesMain.Наименование");
а в структуру данных помещать под такой ключ: "SpaceTypesMainНаименование" - но кто ж об этом догадаться-то то может, это ж мля, так не очевидно! |
|||
8
TolikoSprosit
29.05.18
✎
13:26
|
Шутки шутками, а закэшированное Строка(Данные.SpaceTypesMain), отработает быстрее всего. Думаю можно расходится.
|
|||
9
RomanYS
29.05.18
✎
13:36
|
(3) если справочник условно-неизменный можно поиграться с
-модулями повторного использования -(фиксированным) соответствием засунутым, например, в параметры сеанса |
|||
10
TolikoSprosit
29.05.18
✎
13:41
|
(9) Тоже думал про модуль, но не нашлось нужного модуля с нужными галочками, а для отдельной функции модуль добавлять пока не буду.
2ое решение я бы назвал экзотическим. С моей точки зрения, трудно поддерживаемое. |
|||
11
aka MIK
29.05.18
✎
13:44
|
(8) ну разумеется, оно уже на клиенте. Для этого все и делилось на инструкции где что выполнять
|
|||
12
DmitrO
29.05.18
✎
15:00
|
(8)разыменование ссылок кешируется только на время серверного вызова. При следующем серверном вызове снова же в базу полезет.
|
|||
13
TolikoSprosit
30.05.18
✎
10:18
|
(11) на каком клиенте? это модель менеджера.
|
|||
14
TolikoSprosit
30.05.18
✎
10:19
|
(12) "разыменование" это другое. Кэшируется на сессию.
|
|||
15
тарам пам пам
30.05.18
✎
10:38
|
(8) Быстрее всего отработает добавленный реквизит "Представление", который заполнять перед записью.
|
|||
16
TolikoSprosit
30.05.18
✎
10:47
|
(15) как вариант
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |