Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Уважаемы Знатоки 1С++, помогите плиз начинающему (число прочтений - 3329 )
Gaz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 27. Сентября 2006
Пол: Мужской
Уважаемы Знатоки 1С++, помогите плиз начинающему
02. Октября 2006 :: 08:38
Печать  
Доброе время суток!

помогите плиз начинающему (конфа комплекксная ) код запроса:

ТекстЗапроса = "
|Select
|Выборка.Фирма      [Фирма  $Справочник.Фирмы],
|Выборка.Договор      [Договор $Справочник.Договоры],
|Выборка.КредДокумент [КредДокумент $Документ],
|Выборка.ВидДолга         [ВидДолга $Перечисление.ВидыДолга],
|Выборка.СуммаРубНачальныйОстаток        НачОст,
|Выборка.СуммаРубПриход                  Приход,                        
|Выборка.СуммаРубРасход                                      Расход,
|Выборка.СуммаРубКонечныйОстаток            КонОст,
| Выборка.СуммаРубРасход                     ВозвратОтПокупателя,
|Выборка.СуммаРубПриход                        ВозвратПоставщику
|From (Select
|       Рег.Фирма              Фирма,
|       Рег.Договор            Договор,
|       Рег.КредДокумент      КредДокумент,
|       Рег.ВидДолга            ВидДолга,
|       Рег.СуммаРубНачальныйОстаток        НачОст,
|       Рег.СуммаРубПриход            Приход,                        
|       Рег.СуммаРубРасход                       Расход,
|       Рег.СуммаРубКонечныйОстаток      КонОст,
|       Case When Рег.КодОперации = глко.ВозвратОтПокупателя
|       Then Рег.СуммаРубРасход
|       Else 0 End  ВозвратОтПокупателя,
|       Case When Рег.КодОперации = глКо.ВозвратПоставщику
|      Then   Рег.СуммаРубПриход
|      Else 0 End ВозвратПоставщику   
|     From
|    $РегистрОстаткиОбороты.Покупатели(:ДатаНачала, :ДатаКонца~,,,,,,(СуммаРуб))  as Рег
|union all
|";

Ошибка при выполнении запроса
State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 77: Incorrect syntax near 'all'.

убираю union all
Ошибка
State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 76: Incorrect syntax near 'Рег'.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Уважаемы Знатоки 1С++, помогите плиз начинающе
Ответ #1 - 02. Октября 2006 :: 08:50
Печать  
Ты выбираешь данные из производной таблицы с алиасом Рег:
Код
Выбрать все
...
From (Select
...
) as Рег
 


а в select-листе используешь алиас Выборка
  
Наверх
ICQ  
IP записан
 
Gaz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 27. Сентября 2006
Пол: Мужской
Re: Уважаемы Знатоки 1С++, помогите плиз начинающе
Ответ #2 - 02. Октября 2006 :: 08:57
Печать  
т.е.
Select
............
From(
  Select
.........
From $РегистрОстаткиОбороты.Покупатели(:ДатаНачала, :ДатаКонца~,,,,,,(СуммаРуб)) as Выборка)  as Рег

я правильно понял?
  
Наверх
 
IP записан
 
Gaz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 27. Сентября 2006
Пол: Мужской
Re: Уважаемы Знатоки 1С++, помогите плиз начинающе
Ответ #3 - 02. Октября 2006 :: 09:59
Печать  
вроде разобрался, ушла ошибка, теперь выскочила новая

State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'КодОперации'.

Рег.КодОперации - есть перечисление как мне обратиться к данному реквизиту?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Уважаемы Знатоки 1С++, помогите плиз начинающе
Ответ #4 - 02. Октября 2006 :: 11:14
Печать  
Gaz писал(а) 02. Октября 2006 :: 09:59:
вроде разобрался, ушла ошибка, теперь выскочила новая

State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'КодОперации'.

Рег.КодОперации - есть перечисление как мне обратиться к данному реквизиту?


Если ты исправил на:
Цитата:
Select
............
From(
  Select 
.........
From $РегистрОстаткиОбороты.Покупатели(:ДатаНачала, :ДатаКонца~,,,,,,(СуммаРуб)) as Выборка)  as Рег

То, по-моему, ты не прав.
Мне кажется тебе надо вот так, конечно, если я тебя правильно понял:
Код
Выбрать все
Select
............
From(
  Select
.........
From $РегистрОстаткиОбороты.Покупатели(:ДатаНачала, :ДатаКонца~,,,,,,(СуммаРуб)) as Рег)  as Выборка 

  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Уважаемы Знатоки 1С++, помогите плиз начинающе
Ответ #5 - 02. Октября 2006 :: 11:21
Печать  
По поводу перечислений.
Я делал вот так:
Код
Выбрать все
МД = СоздатьОбъект("MetaDataWork");
	ИД_ЮРлицо = МД.ЗначениеВСтрокуБД(Перечисление.ВидыКонтрагентов.Организация);
	ИД_ФИЗлицо = МД.ЗначениеВСтрокуБД(Перечисление.ВидыКонтрагентов.ЧастноеЛицо); 


А потом в тексте запроса:
Код
Выбрать все
"CASE $Страхователь.ВидКонтрагента
		|		WHEN  '"+ИД_ЮРлицо+"' THEN $Страхователь.ИНН
		|		WHEN '"+ИД_ФИЗлицо+"' THEN (RTRIM($Страхователь.ДокументСерия)+' '+LTRIM($Страхователь.ДокументНомер))
		|		ELSE ''
		|	END as ДокументыСтрахователя" 

  
Наверх
 
IP записан
 
Gaz
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 27. Сентября 2006
Пол: Мужской
Re: Уважаемы Знатоки 1С++, помогите плиз начинающе
Ответ #6 - 03. Октября 2006 :: 05:46
Печать  
JohnyDeath, ты прав по поводу
Select
............
From(
  Select 
.........
From $РегистрОстаткиОбороты.Покупатели(:ДатаНачала, :ДатаКонца~,,,,,,(СуммаРуб)) as Рег)  as Выборка


  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать