|
пропадает значение локальной переменной при отладке и зависает | ☑ | ||
---|---|---|---|---|
0
Игорь_МММ
25.01.22
✎
13:32
|
в режиме отладки на определенной строке пропадают значения всех переменных, при дальнейшем шаге - зависание
код простой начало: Запрос = Новый Запрос; Запрос.УстановитьПараметр("МатрицаПроизводства" ,МатрицаПроизводства); Запрос.УстановитьПараметр("ПолуфабрикатыМаксЦепочка",ПолуфабрикатыМаксЦепочка); Запрос.УстановитьПараметр("ОбеспечениеЗаказов" ,ОбеспечениеЗаказов); Запрос.УстановитьПараметр("ВремяНачала" ,ВремяНачала); #Область ВременныеТаблицы Запрос.Текст = "ВЫБРАТЬ | .... " затем идет несколько секций Запрос.Текст = Запрос.Текст + " ... " при выполнении одной из них значения переменных пропадают (F2 не доступно) и при следующем шаге виснет что бы это могло быть? |
|||
1
acht
25.01.22
✎
13:35
|
Выделение памяти при конкатенации строк, например.
|
|||
2
Игорь_МММ
25.01.22
✎
13:59
|
сделал одну строку, получилось 704 строки, результат тот же ... ограничения нет на длину текста запроса?
|
|||
3
DrShad
25.01.22
✎
14:02
|
нету
|
|||
4
Мимохожий Однако
25.01.22
✎
14:03
|
"Запрос.Текст" замени на "ТексЗапроса". И посмотри еще раз, что слепилось
|
|||
5
Dmitrii
гуру
25.01.22
✎
14:23
|
(0) Версия платформы какая?
Может у вас это? Отладка с использованием протокола HTTP. Код ошибки: 10232642 Статус: Планируется исправление в будущих версиях Зарегистрирована: 12.07.2021. Планируется исправить: "Технологическая платформа", версия 8.3.21. Описание: При отладке с использованием протокола HTTP при включенной отладке фоновых заданий или любых других предметов отладки, которые могут автоматически подключаться, при срабатывании точки останова, конфигуратор может постоянно переключать фокус на себя у любого активного окна. Способ обхода: Использовать протокол отладки TCP или не использовать автоматическое подключение предметов отладки. Дополнительная информация: Ошибка платформы. Конфигуратор переключает фокус активного окна на код в другом предмете отладки (каком-нибудь фоновом задании, например) и соответственно F2 недоступно. Поставить точку останова на следующей строке кода, после той, где происходит зависание и нажать f5 (продолжить отладку). |
|||
6
Игорь_МММ
25.01.22
✎
14:29
|
(5) пробовал на двух 3.15.1830 и 3.18.1698
(4) ТекстЗапроса получаю, проблема возникает на Запрос.Текст = ТекстЗапроса |
|||
7
Dmitrii
гуру
25.01.22
✎
14:42
|
Синтаксконтроль успешно проходит?
ТекстЗапроса можно скопипастив открыть в конструкторе запроса? Может там какая-нибудь хитрая строка получается, которая проходит синтаксконтроль (т.к. это просто строка), но является ошибкой с точки зрения текста запроса. То есть ошибка в самом получившемся после конкатенации тексте запроса. |
|||
8
Игорь_МММ
25.01.22
✎
14:54
|
(7) конструктор текст скушал
|
|||
9
Dmitrii
гуру
25.01.22
✎
15:03
|
У запроса нет менеджера временных таблиц, содержащего уже таблицы с такими же именами, которые используются в тексте этого запроса?
|
|||
10
Dmitrii
гуру
25.01.22
✎
15:07
|
+ к (9) Возможно дублирование имён временных таблиц или некорректное использование временных таблиц.
|
|||
11
Игорь_МММ
25.01.22
✎
15:19
|
(9) менеджера нет (10)разве все это проверяется не при выполнении запроса?
|
|||
12
Dmitrii
гуру
25.01.22
✎
15:55
|
(11) По идее да. Но если ты действительно исключил вариант (5) со сменой фокуса конфигуратора из-за ошибки платформы, испробовав другие версии, то особых вариантов не остаётся. Только какая-то ошибка, которая не выявляется синтаксконтролем и при компиляции, но вылетает при исполнении кода. Что ещё может происходить в строке Запрос.Текст = ТекстЗапроса? А что в следующей строке?
|
|||
13
hhhh
25.01.22
✎
16:16
|
может текст запроса содержит непечатные символы.
|
|||
14
Игорь_МММ
25.01.22
✎
16:32
|
Запрос сделал через конструктор скопировав в него текст запроса. Результат тот же: на этапе Запрос.Текст = ТекстЗапроса, пропадают переменные, на след. строке все виснет
|
|||
15
Dmitrii
гуру
25.01.22
✎
16:32
|
(13) В (8) автор утверждает, что получившийся текст запроса переносится через буфер обмена в конструктор запроса и тот успешно его проглатывает.
|
|||
16
Dmitrii
гуру
25.01.22
✎
16:40
|
Чтобы исключить проблему с текстом запроса, попробовать остановить отладку перед строчкой Запрос.Текст = ТекстЗапроса и установить в качестве значения переменной ТекстЗапроса какой-то простейший текст запроса типа "ВЫБРАТЬ 1 ИЗ Справочник.Организации". Посмотреть что будет. Если отладка пойдёт дальше, значит проблема именно в тексте запроса или объекте Запрос.
|
|||
17
Dmitrii
гуру
25.01.22
✎
16:43
|
Если отладка зависнет, значит проблема в платформе или в отладке. Пытаться менять протокол отладки, чистить кеш на компе и на сервере, менять версии платформы, возможно что-то ещё.
|
|||
18
Игорь_МММ
25.01.22
✎
21:29
|
решило проблему создание чистой базы с загрузкой dt из текущей. Текст запросу присваивается, но проблема где-то в данных (или в самом запросе) поскольку запрос и за пол-часа не отрабатывает
видимо в какой-то момент это находит отражение в кеше и начинаются глюки. Спасибо всем откликнувшимся |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |