Имя: Пароль:
 
1C
 
определить откуда берется временная таблица в запросе ут11
0 Dimarik_1
 
21.09.21
10:26
в общем модуле ПроведениеСерверУТ вижу Объект.Движения.Записать();
в момент выполнения кода на этой строчке вижу Объект.Движения.ЗаказыКлиентов.ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц.Таблицы.Количество() - и это значение равно нулю.
Затем ставлю точку останова на первой строчке "ЗаказыКлиентов" Модуль набора записей "Перед записью" и вижу:
ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц.Таблицы.Количество() что это значение уже равно 7. Как такое возможно? понять не могу, откуда временные таблицы берутся. УТ старая 11.4.6.188
1 DrShad
 
21.09.21
10:38
а стек вызовов ничего не показывает между этими строчками?
2 youalex
 
21.09.21
10:42
+Замером можно посмотреть какой код выполняется.
3 youalex
 
21.09.21
10:42
Подписка скорее всего какая-то
4 Dimarik_1
 
21.09.21
11:22
стек не показывает ничего. какая может быть подписка после "Движения.Записать()"? при записи регистра накопления? а можно как-то это найти, не перелопачивать же конфигурацию
5 youalex
 
21.09.21
11:29
(4) (2)
6 TormozIT
 
21.09.21
20:01
Если совсем незнакомая конфа, то эффективно будет
1. Сделать замер производительности
2. по нему найти все выполения запросов через ".Выполнить()"
3. Поставить в этих строках точки останова
4. Выполнить операцию снова, проверяя через табло наличие нужной времменной таблицы.

Ну еще можно крутануть колесо фортуны и глобальным поиском "ПОМЕСТИТЬ <ИмяТаблицы>", но это далеко не всегда сработает, т.к. тексты запросов иногда генерят.
7 TormozIT
 
21.09.21
20:02
(6) + ".ВыполнитьПакет()"
8 timurhv
 
22.09.21
08:10
(4)
>какая может быть подписка после "Движения.Записать()"? при записи регистра накопления?
Модуль менеджера регистра накопления, расширения.