SelectQuery с кастомными колонками

Здравствуйте. Сформировал запрос в сервисе SelectQuery на колонках с собственным текстом SQL.
Получилось:

SELECT
       
  /* AS [Go],
        */

[tbl_CustomDatesTable].[Comment] AS [Comment],
        [tbl_CustomDatesTable].[Date] AS [Date],
        [tbl_CustomDatesTable].[ID] AS [ID] /* AS [ID],
        */

FROM dbo.tbl_CustomDatesTable
WITH (nolock)
IF 1=0
SELECT 1 AS [Finish]
FROM
        [dbo].[tbl_Account] AS [tbl_Account];

Однако, справочник таким образом не открывается, на обычном SelectQuery с конструкторными колонками все нормально. Недоработка или что? Для каждого столбца специально также была взята отдеальная колонка с текстом. Объясните пожалуйста в чем проблема и причины отсутствия возможности формирования датасета таким методом.

Нравится

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

Такое ощущение что террасофт просто забивает на то что закомментировано и пытается все железно забрать и конструкторского FROM

"Нестеров Артем Валерьевич" написал:справочник таким образом не открывается

может быть ошибку какую-то дает?

приведенный текст запроса взят откуда? хорошо бы его надо взять из предпросмотра в сервисе SelectQuery или из профайлера

"Андросов Дмитрий" написал:Нестеров Артем Валерьевич пишет:

справочник таким образом не открывается

может быть ошибку какую-то дает?

приведенный текст запроса взят откуда? хорошо бы его надо взять из предпросмотра в сервисе SelectQuery или из профайлера

Из предпросмотра естественно и взят, ошибки нет, просто тупо игнорит попытку открыть справочник, зато если в конце во втором FROM указать действительную таблицу, где всё это находится - он открывает справочник! Но по условию IF этого же выполняться не должно, в другом смысл изначально...

Ну и плюс убрал комментарии из полей, которые отображаются. Вот так открывает:

SELECT
 
  /* AS [Go],
	*/
[tbl_CustomDatesTable].[CreatedOn] AS [CreatedOn],
	[tbl_CustomDatesTable].[Comment] AS [Comment],
	[tbl_CustomDatesTable].[Date] AS [Date],
	[tbl_CustomDatesTable].[ID] AS [ID],
	[tbl_CustomDatesTable].[ModifiedOn] AS [ModifiedOn]/* AS [ModifiedOn],
	*/
FROM dbo.tbl_CustomDatesTable
with (nolock)
IF 1=0
SELECT 1 AS [Finish]
FROM
	[dbo].[tbl_CustomDatesTable] AS [tbl_CustomDatesTable]

Но мне надо чтобы эта вещь работала без второго FROM, т.к. таблица находится на другой базе вообще и смысла писать всё это не было бы.

ничего не пишите в последней кастомной колонке, но создайте CustomSQL-фильтр с текстом

*/--

Вышел такой текст запроса:

SELECT
 
  /* AS [Go],
	*/
[tbl_CustomDatesTable].[CreatedOn] AS [CreatedOn],
	[tbl_CustomDatesTable].[Comment] AS [Comment],
	[tbl_CustomDatesTable].[Date] AS [Date],
	[tbl_CustomDatesTable].[ID] AS [ID],
	[tbl_CustomDatesTable].[ModifiedOn] AS [ModifiedOn]/* AS [ModifiedOn],
	*/
FROM [dbo].[tbl_CustomDatesTable] AS [tbl_CustomDatesTable]
with (nolock)
/* AS [Finish]
FROM
	[dbo].[tbl_CustomDatesTable] AS [tbl_CustomDatesTable]
WHERE(*/--)

Самому все нравится, но террасофт походу отказывается его понимать и не хочет открывать справочник с этими полями

Может какие то правила синтаксиса? Или все таки то что я делаю - нереализуемо в террасофте? Прошу помощи

Поймали запрос из Террасофта на сервере и выяснилось что ни нолок, ни половина запроса указанные за комментариями не передается. Железно передается закоменченная таблица из второго FROM! И параметры столбцов. Это мы чего-то не понимаем или тут действительно такое накручено?

А когда отловили из предзапуска предпропросмотра - передался полноценный текст запроса...И как с этим работать, собственно говоря, если это не работает?

выложите сервисы :wink:

в сервисе датасета не выбран сервис запроса на выборку. Вернее там стоит sq_CustomDatesSelect

Все там выбрано было, это я просто пробовал стандартный конктруктор запроса подставлять. Не в этом причина проблемы.

Здравствуйте, Артем!
В Terrasoft не реализована возможность добавления табличных указаний. При разборе запроса ядром системы используется тот блок FROM, который задается в соответствующем поле, поэтому даже если его закомментировать, он все равно будет использоваться, поэтому хитрости с комментариями не проходят.

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