|
Менеджер временных таблиц | ☑ | ||
---|---|---|---|---|
0
DoK_80
05.04.12
✎
17:33
|
Есть отчет. В форме отчета следующий код:
Перем МенеджерВременныхТаблиц; Процедура ПриОткрытии() Если МенеджерВременныхТаблиц <> Неопределено Тогда МенеджерВременныхТаблиц.Закрыть(); КонецЕсли; Запрос = Новый Запрос; МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизации.Ссылка |ИЗ | Справочник.СотрудникиОрганизации КАК СотрудникиОрганизации"; Запрос.Выполнить(); КонецПроцедуры Процедура ПриЗакрытии() Если МенеджерВременныхТаблиц <> Неопределено Тогда МенеджерВременныхТаблиц.Закрыть(); КонецЕсли; КонецПроцедуры При открытии данной формы непрерывно растет число захваченных СУБД объектов, что приводит в конечном итоге к зависанию системы. С чем это связано и как это можно победить? |
|||
1
ssh2006
05.04.12
✎
17:34
|
Причем тут менеджер врем таблиц?
|
|||
2
CrazyBear
05.04.12
✎
17:36
|
А где ПОМЕСТИТЬ?
|
|||
3
Mnemonic1C
05.04.12
✎
17:36
|
(0) Код дня
|
|||
4
ssh2006
05.04.12
✎
17:36
|
Странный код
|
|||
5
Kashemir
05.04.12
✎
17:37
|
(0) А не проще было бы в список/массив выгрузить ?
|
|||
6
DoK_80
05.04.12
✎
17:39
|
Я даже ПОМЕСТИТЬ убрал
все равно число захваченных объектов растет. |
|||
7
Axel2009
05.04.12
✎
17:41
|
это весь код в форме?
|
|||
8
ssh2006
05.04.12
✎
17:41
|
(6) Какие-то непонятные эксперименты с системой
|
|||
9
sergeante
05.04.12
✎
17:43
|
(6) платформа не понимает, что ты от неё хочешь и сходит с ума.
|
|||
10
ssh2006
05.04.12
✎
17:46
|
Возможно условие задачи рождается произвольным образом. Генерируется рандомный код, который проходит синтаксический контроль, а затем исследуется поведение системы, ведутся наблюдения.
|
|||
11
sergeante
05.04.12
✎
17:48
|
(10) эк тебя)
|
|||
12
KindLion
05.04.12
✎
17:50
|
(4) +1
Более чем странный |
|||
13
КМ155
05.04.12
✎
17:51
|
(10) при этом резко возрастает вероятность локализации спинорных полей в окрестностях точки сингулярности
|
|||
14
KindLion
05.04.12
✎
17:51
|
(0) - Чего сделать-то надо?
Держать под рукой список сотрудников? Так массива тут хватит. |
|||
15
ssh2006
05.04.12
✎
17:52
|
(14) И главное: "С чем это связано и как это можно победить?"
|
|||
16
sergeante
05.04.12
✎
17:52
|
(13) причём далеко не каждый локальный аргумент содержит признак парадоксальных эмоций.
|
|||
17
ssh2006
05.04.12
✎
17:54
|
(0) В общем, лучше завершить работу системы, не дожидаясь коллапса
|
|||
18
DoK_80
05.04.12
✎
17:55
|
(7) Да, весь код
Все остальное удалил (14) Изначально там был более сложный запрос, но когда стал разбираться, упростил до первоначального кода |
|||
19
depthzer0
05.04.12
✎
17:55
|
можно попробовать написать
|
|||
20
depthzer0
05.04.12
✎
17:55
|
можно попробовать написать:
Запрос = Неопределено; |
|||
21
ssh2006
05.04.12
✎
17:56
|
(18) > Изначально там был более сложный запрос, но когда стал разбираться, упростил до первоначального кода
Похоже на рекурсию |
|||
22
Kashemir
05.04.12
✎
17:58
|
(21) А чего рекурсию - ну держат открытыми 50 человек твою форму и привет 50 таблицам на скуле.
|
|||
23
Kashemir
05.04.12
✎
18:00
|
(22) Хотя я не уверен насчет скуля - может эти таблицы менеджером на клиент перегоняются - хз как технически реализовано. Тогда привет памяти на терминальном сервере.
|
|||
24
ssh2006
05.04.12
✎
18:04
|
Возможно это пример к соседней ветке:
OFF: Бессмысленная доработка по требованию заказчика |
|||
25
DoK_80
05.04.12
✎
18:17
|
(20)
Запрос = Неопределено не помогает Единственное лечится если в конце процедуры ПриОткрытии поставить МенеджерВременныхТаблиц.Закрыть(); (21) Но тогда сам смысл использования менеджера пропадает. Рекурсии нет, да и проверяю сейчас как внешний отчет, и видно что когда форма открыта именно мое соединение постоянно захватывает новые объекты Думал что это из-за кэша, создал новый отчет, с нуля и прописал там этот же код - ситуация повторилась |
|||
26
DoK_80
06.04.12
✎
10:35
|
Порезал код до нижеследующего - все равно захватываются объекты.
Если строку с Запрос.Текст = ... убрать, то объекты не будут захватываться Перем МенеджерВременныхТаблиц; Процедура ПриОткрытии() Запрос = Новый Запрос; МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | споСотрудникиОрганизации.Ссылка |ИЗ | Справочник.споСотрудникиОрганизации КАК споСотрудникиОрганизации"; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |