Формирование SQL запроса для окна Select Data

Добрый день,

Не мог бы кто-то подсказать каким образом формируется финальный запрос к БД в Terrasoft?
Т.е. от чего конкретно зависит то, какой запрос к БД в результате сформируется?

Я создал композитное поле в запросе - Custom SQL из комбинации 3-х полей.
Далее мне нужно в окне выбора вернуть такое же комбинированное значение. Но если хотя бы одно поле из этих 3-х не выведено на экран пользователя, то при попытке собрать композитное поле в скрипте вываливается ошибка - поле ... не доступно.

Вариант "Всегда выбирать в запросе" на все 3 поля - не подойдет, я не хочу чтобы они подтягивались в каждом запросе.

EnableDsFields - не помогает (свойство IsActive = true до тех пор, пока не сделан рефреш датасета из окна выбора)

Посмотрел на то, что выбирается в запросе при трассировке... - вообще поля, которые мне не нужны (почему-то для части полей датасета установлен признак CanDisable = false как-то так... хотя в запросе эти флаги не установлены)

Спасибо!

Нравится

6 комментариев

Здравствуйте,
Если установить признак "Всегда выбирать в запросе" все отрабатывает корректно без галочки
1 для каждого поля в датасете?

Алексей, добрый день!

Не очень понял, как скриншот корелирует с описанием...
Галочка "Всегда выбирать в запросе" ставится у запроса, на картинке скрин настроек датасета.
В датасете "Поле для отображения" вытавлено у всех 3-х реально существующих полей + у поля, которое состоит из их комбинации.

В запросе выставлять галочку "Всегда выбирать в запросе" не считаю правильным, т.к. эти поля далеко не всегда нужны. Естественно, что если их выставить, то проблем не будет.

В том числе, проблем не будет если вытащить все 3 поля в грид выбора.

Но хотелось бы знать, можно ли не вытаскивая поля на форму выбора и не указывая явно "Всегда выбирать в запросе" сделать так, чтобы все же при обновлении датасета окна выбора все 3 поля выбирались запросом?

Спасибо!

komgbu, у вас случаем поля, которые используются в Custom SQL не из присоединенных таблиц (Join)?

Александр, нет, поля не из присоединенных таблиц.
Все просто: таблица документы. Поля номер, заголовок, дата.
SQL поле: заголовок + номер + дата

Проблему решил, выставив флаг CanDisable в false на событии OnPrepareSelectWindow.
Всем спасибо!

"komgbu" написал:

Александр, нет, поля не из присоединенных таблиц.

Все просто: таблица документы. Поля номер, заголовок, дата.

SQL поле: заголовок + номер + дата

Проблему решил, выставив флаг CanDisable в false на событии OnPrepareSelectWindow.

Всем спасибо!


Не совсем понятно. Каким полям вы установили CanDisable?

"Осауленко Александр" написал:

Не совсем понятно. Каким полям вы установили CanDisable?


Комрозитному полю, этого вполне хватает, чтобы вернуть его в качестве результата из Select Window

Показать все комментарии