Имя: Пароль:
1C
1С v8
Замер производительности
0 cons74
 
07.11.13
09:30
Всем привет.
Сделал замер производительности работы формы документа. В первой строке (как самая долгая)
Запрос.УстановитьПараметр("ЦФО", ЦФО);

чего тут может быть долгого-то?!
Единственное идет передача в ЦФО из ТекущийОбъект.Ссылка.ЦФО
1 Wobland
 
07.11.13
09:33
ничего
2 vhl
 
07.11.13
09:36
так
Запрос.УстановитьПараметр("ЦФО", ЦФО); или
Запрос.УстановитьПараметр("ЦФО", ТекущийОбъект.Ссылка.ЦФО); ?
3 cons74
 
07.11.13
09:43
(2)

...
флДобавлять = ПроверитьРуководителя(Выборка.Виза, ТекущийОбъект.ссылка.цфо, ТекущийОбъект.ссылка.СтатьяОборотов, ТекущийПользователь);
...

Функция ПроверитьРуководителя(Виза, ЦФО, Статья, Пользователь) Экспорт
...
Запрос.УстановитьПараметр("ЦФО", ЦФО);
4 Рыжий Лис
 
07.11.13
10:03
А в ТекущемОбъекте нет поля ЦФО?
5 Nenaviwu1c20
 
07.11.13
10:04
Чк то не верится.Процедуру в студию
6 cons74
 
07.11.13
10:23
(4) нет
(5) какую именно?
7 РазДва
 
07.11.13
10:27
(0) Самая долгая, потому что в этот момент идет запрос к БД, читается весь объект по ссылке. Скорее всего это ещё документ с кучей табличных частей.
8 Wobland
 
07.11.13
10:46
кто-то нам тут нещадно заливает, что установка ссылки параметром работает долго
9 Wobland
 
07.11.13
10:46
(8) сторно, там через точку
10 Fragster
 
модератор
07.11.13
10:47
переоткрой отладчик и сделай замер заново. есть мнение, что "съехали" строки и на самом деле это Запрос.Выполнить, который двумя строками ниже.
11 cons74
 
07.11.13
10:50
мне лично кажется логичным (7): документ о 4 закладок, на 2х из них по 2 ТЧ. Тогда вопрос, как сделать, чтоб не читался весь объект?
(10) уж 3 раза смотрел. ну ладно , открою
12 Fragster
 
модератор
07.11.13
10:53
>Как сделать, чтоб не читался весь объект?

пеердавай в запрос ссылку и уже в нем получай ЦФО
13 Fragster
 
модератор
07.11.13
10:53
только судя по коду в (3) - дело таки не в этом (чтение происходит не в УстановитьПараметр, а раньше)
14 РазДва
 
07.11.13
11:00
(13) Неа. При передаче в параметры процедуры реквизита через ссылку 1С ничего не читает из базы. А вот когда происходит первое обращение к параметру, тогда и считывает весь объект по ссылке.
Это сто пудов, уже занимался оптимизацией конфигурации, в которой повсеместно было распространено Процедура(Ссылка.Период).
15 cons74
 
07.11.13
12:00
(14) и как тут оптимизировать?
16 Wobland
 
07.11.13
12:12
(15) Как сделать, чтоб не читался весь объект, ты хочешь спросить?