Пятница, 04.10.2024, 15:18
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
2.38 консоль запроса
SimolДата: Среда, 21.03.2012, 15:16 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
8.2.13.202

Если пакет запросов открытый на отладку. Проклациваю в дереве запроса последовательно все составляющие пакета - получаю пустой результат. Если проклацать на корне дерева запроса, то результат не пустой. Если после этого клацнуть на последнем узле то уже не пустой.

И самое парадоксальное, что если продолжить отладку, то запрос возвращается пустой.
Видео
Само больше смущает почему в тексте модуля результат пустой, а консоль не пустая.

Как предоставить по такой ситуации больше инфы для анализа?

Добавлено (21.03.2012, 15:16)
---------------------------------------------
буксует в этом месте:
Узел второго уровня

Видео
Если запрос, результат не пустой. к нему куча левых соединений. Отборов нет. Результат пустой. Но если его выполнить сразу после выполнения запроса в целом, то все ок.

ПОКА ТЕМА НЕ РАСКРЫТА, НЕ ЧИТАЙ


Сообщение отредактировал Simol - Среда, 21.03.2012, 15:25
 
tormozitДата: Среда, 21.03.2012, 15:31 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
1. Выложи файл с запросом.
2. Постарайся отвязать запрос от метаданных, чтобы проблема воспроизводилась в пустой конфигурации.
 
SimolДата: Среда, 21.03.2012, 16:46 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
Проблему локализовал. Но полностью отвязать от метаданных не выходит, так как привязано к группировке пустой виртуальной таблице регистра
Quote

ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
ПОМЕСТИТЬ ПредоставленныеКредиты
ИЗ
РегистрНакопления.Продажи.Обороты(, , , ЛОЖЬ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
ПродажиОбороты.ДоговорКонтрагента

ИНДЕКСИРОВАТЬ ПО
ДоговорКонтрагента
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Договор.ДоговорКонтрагента,
ПредоставленныеКредиты.КоличествоОборот
ИЗ
(ВЫБРАТЬ
1 КАК ДоговорКонтрагента) КАК Договор,
ПредоставленныеКредиты КАК ПредоставленныеКредиты


Проявляется так:Видео
Простое выполнение этого же запроса возвращает пустой результат
 
tormozitДата: Среда, 21.03.2012, 16:51 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
Думаю пока достаточно данных для расследования.
 
tormozitДата: Среда, 21.03.2012, 19:48 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
Выложи запросы результата (закладка "Запрос результата") для всех 3-х случаев.
 
SimolДата: Среда, 21.03.2012, 19:57 | Сообщение # 6
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
на корне
Quote

ВЫБРАТЬ РАЗРЕШЕННЫЕ
СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
ПОМЕСТИТЬ ПредоставленныеКредиты
ИЗ
РегистрНакопления.Продажи.Обороты(, , , ЛОЖЬ) КАК ПродажиОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Договор.ДоговорКонтрагента КАК ДоговорКонтрагента,
ПредоставленныеКредиты.КоличествоОборот КАК КоличествоОборот
ИЗ
(ВЫБРАТЬ
1 КАК ДоговорКонтрагента) КАК Договор,
ПредоставленныеКредиты КАК ПредоставленныеКредиты

на первом запросе после корня
Quote

ВЫБРАТЬ * ИЗ ПредоставленныеКредиты

после первого на втором
Quote

ВЫБРАТЬ
Договор.ДоговорКонтрагента КАК ДоговорКонтрагента,
ПредоставленныеКредиты.КоличествоОборот КАК КоличествоОборот
ИЗ
(ВЫБРАТЬ
1 КАК ДоговорКонтрагента) КАК Договор,
ПредоставленныеКредиты КАК ПредоставленныеКредиты

Добавлено (21.03.2012, 19:55)
---------------------------------------------
Если сразу на первом после открытия консоли запроса, то тоже

Quote

ВЫБРАТЬ * ИЗ ПредоставленныеКредиты

Добавлено (21.03.2012, 19:57)
---------------------------------------------
Если сначала на корне, а потом на втором минуя первый, то результат - 1 строка

Добавлено (21.03.2012, 19:57)
---------------------------------------------

Quote

ВЫБРАТЬ
Договор.ДоговорКонтрагента КАК ДоговорКонтрагента,
ПредоставленныеКредиты.КоличествоОборот КАК КоличествоОборот
ИЗ
(ВЫБРАТЬ
1 КАК ДоговорКонтрагента) КАК Договор,
ПредоставленныеКредиты КАК ПредоставленныеКредиты
 
tormozitДата: Четверг, 22.03.2012, 21:33 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
Такое поведение консоли обусловлено "пропусканием" текста запроса через построитель перед его выполнением. А построитель в данном случае удалил все операции, связанные с полем ПродажиОбороты.ДоговорКонтрагента из первого запроса, т.к. соответствующее поле временной таблицы нигде не используется. Эта особенность работы построителя вызывает у многих недоумение, но исправлять ее не будут.

Для предоставления возможности выполнения текста запроса без преобразования построителем в следующей версии будет добавлен тип запроса "Обычный". Он станет типом по умолчанию и будет отличаться от Построитель тем, что закладка настройки будет недоступна.
 
SimolДата: Пятница, 23.03.2012, 00:15 | Сообщение # 8
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
Очень хорошее решение, так как на практике приходится отлаживать именно запросы.
 
tormozitДата: Пятница, 23.03.2012, 00:54 | Сообщение # 9
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
Одна из целей закладки "Запрос результата" как раз состоит в диагностике такого рода проблем, которую можно выполнять и самостоятельно.
 
tormozitДата: Суббота, 24.03.2012, 20:58 | Сообщение # 10
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
Тип запроса "Обычный" добавлен в версии 2.39
 
  • Страница 1 из 1
  • 1
Поиск: