Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Прямые вложенные запросы

v7: Прямые вложенные запросы
Я
   BolshoySmal
 
30.09.16 - 12:31
Добрый день всем. Только изучаю тему. Наступил на грабли. Прошу помощи.
вот такой запрос работает
ТекстЗапроса = "
    |SELECT 
    |*
    |FROM 
    |(
    |SELECT
    |    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],  
    |    Рег.Партия as [Партия $Справочник.Партии],
    |    Рег.СуммаБезНДСРасход         as  СуммаБезНДСРасход,
    |    Рег.СуммаУпрРасход           as  СуммаУпрРасход,
    |    Рег.Период Период
    |FROM
    |    $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,,
    |                                  (МОЛ = :ВыбМол), 
    |                                 (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег
    |WHERE
    |   Рег.СуммаУпрРасход>0
    |UNION ALL
    |SELECT
    |    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],  
    |    Рег.Партия as [Партия $Справочник.Партии],
    |    -1*Рег.СуммаБезНДСПриход         as  СуммаБезНДСПриход,
    |    -1*Рег.СуммаУпрПриход           as  СуммаУпрРасход,
    |    Рег.Период Период
    |FROM
    |    $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,,
    |                                  (МОЛ IN (SELECT Val FROM #Группа)), 
    |                                 (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег
    |WHERE
    |   Рег.СуммаУпрПриход>0 ) As Test1;";


А если вместо звездочки указать например вот так 
ТекстЗапроса = "
    |SELECT 
    |Test1.Номенклатура 
    |FROM 
    |(
    |SELECT
    |    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],  
    |    Рег.Партия as [Партия $Справочник.Партии],
    |    Рег.СуммаБезНДСРасход         as  СуммаБезНДСРасход,
    |    Рег.СуммаУпрРасход           as  СуммаУпрРасход,
    |    Рег.Период Период
    |FROM
    |    $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,,
    |                                  (МОЛ = :ВыбМол), 
    |                                 (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег
    |WHERE
    |   Рег.СуммаУпрРасход>0
    |UNION ALL
    |SELECT
    |    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],  
    |    Рег.Партия as [Партия $Справочник.Партии],
    |    -1*Рег.СуммаБезНДСПриход         as  СуммаБезНДСПриход,
    |    -1*Рег.СуммаУпрПриход           as  СуммаУпрРасход,
    |    Рег.Период Период
    |FROM
    |    $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,,
    |                                  (МОЛ IN (SELECT Val FROM #Группа)), 
    |                                 (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег
    |WHERE
    |   Рег.СуммаУпрПриход>0 ) As Test1;";
То выдаёт вот такую ошибку :  State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "Номенклатура".
как посмотреть имен а столбцов результирующей таблицы  ?
 
 
   Ёпрст
 
1 - 30.09.16 - 12:38
(0)выкини нахрен типизацию из вложенного запроса, и больше так не делай.
   Ёпрст
 
2 - 30.09.16 - 12:39
+1

|SELECT 
|Test1.Номенклатура [Номенклатура $Справочник.Номенклатура]  
|FROM 
|(
|    SELECT
|    Рег.Номенклатура as Номенклатура,
   BolshoySmal
 
3 - 30.09.16 - 13:13
Огромный респект !!
   varelchik
 
4 - 30.09.16 - 13:47
(3) Так это всем известно и никому не интересно!
   Это_mike
 
5 - 30.09.16 - 13:49
(4) и уже мало кому нужно...
вон, Злоп уже на снеговике первую поделку налабал...
   BolshoySmal
 
6 - 03.10.16 - 14:37
А что такое  снеговик ?
   Это_mike
 
7 - 03.10.16 - 14:41
(6) восьмерка...
   BolshoySmal
 
8 - 03.10.16 - 14:45
на восьмерке  внутренний конструктор очень приличный и использование прямых запросов вообще не поощряется :).
   Это_mike
 
9 - 03.10.16 - 14:46
(8) на семерке тоже есть нормальный конструктор прямых запросов.
собственно, нормальные запросы там только те, которые прямые. все остальные - кривые :-)
   BolshoySmal
 
10 - 03.10.16 - 14:50
не совсем согласен, так как выполнение их на клиент-сервере работает вполне прилично.
 
 Рекламное место пустует
   Это_mike
 
11 - 03.10.16 - 14:51
(10) не понял, кто на ком прилично работает, но "чОрные запросы" я на клюшках так и не осилил...
   BolshoySmal
 
12 - 03.10.16 - 15:29
клиент сервер на MSSQL.
   orefkov
 
13 - 03.10.16 - 15:30
(11)
Мне, как уже знакомому с скл, они нанесли вывих мозга.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует