Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Проблема  простого запроса по регистру !!! (число прочтений - 3159 )
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Проблема  простого запроса по регистру !!!
19. Июля 2006 :: 14:18
Печать  
RS = СоздатьОбъект("ODBCRecordset");
RS.УстБД1С(); 
ТекстЗапроса = "
|SELECT
| Рег.Товар as [Элемент $Справочник.Номенклатура],
| Рег.ОстатокТовара as Остаток
|FROM
| $РегистрОстатки.ОстаткиТоваров (:ВыбДата,,
|              Склад = :ВыбСклад,
|              (Товар) , (Остаток)) as Рег";
Передается на MSSQL такой запрос
SELECT
Рег.Товар as [Элемент $Справочник.Номенклатура],
Рег.ОстатокТовара as Остаток
FROM
(
select
rg99_vt.sp3603 as Фирма,
rg99_vt.sp101 as Товар,
rg99_vt.sp100 as Склад,
rg99_vt.sp102 as ОстатокТовараОстаток
from rg99 as rg99_vt (nolock)
where rg99_vt.period={d '2006-07-01'}
and (
rg99_vt.sp102 <> 0
)
) as Rests99('20060601',,
             Склад = '   4  ',
             (Товар) , (Остаток)) as Рег
И такая ошибка
Server: Msg 170, Level 15, State 1, Line 16
Line 16: Incorrect syntax near '20060601'.

Где я обшибся?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Проблема  простого запроса по регистру !!!
Ответ #1 - 19. Июля 2006 :: 14:26
Печать  
Цитата:
ОстаткиТоваров (:ВыбДата
пробел убери
  

1&&2&&3
Наверх
 
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема  простого запроса по регистру !!
Ответ #2 - 20. Июля 2006 :: 04:01
Печать  
Убрал, но вылезла другая проблема:

|SELECT
|  Рег.Товар as [Товар $Справочник.Номенклатура],
|  Рег.ОстатокТовара as ОстатокТовара
|FROM
|  $РегистрОстатки.ОстаткиТоваров(:ВыбДата~,,
|                            Склад = :ВыбСклад,
|                            (Товар),(ОстатокТовара)) as Рег";
RS.УстановитьТекстовыйПараметр("ВыбДата",ДатаДок );
RS.УстановитьТекстовыйПараметр("ВыбСклад",Склад );
RS.Отладка(1);
ТЗ = RS.Выполнить(ТекстЗапроса);

Щас идет запрос

SELECT
  Рег.Товар as [Товар $Справочник.Номенклатура],
  Рег.ОстатокТовара as ОстатокТовара
FROM
  (
select
rr99_vt.sp101 as Товар,
sum(rr99_vt.sp102) as ОстатокТовараОстаток
from (
select
rg99_vt.sp101,
rg99_vt.sp102
from rg99 as rg99_vt (nolock)
where rg99_vt.period={d '2006-05-01'}
and (rg99_vt.sp100 = '     9   ')
union all
select
ra99_vt.sp101,
case ra99_vt.debkred when 0 then ra99_vt.sp102 else -ra99_vt.sp102 end
from ra99 as ra99_vt (nolock)
inner join _1sjourn as j99_vt (nolock) on j99_vt.iddoc = ra99_vt.iddoc
where j99_vt.date_time_iddoc > '20060601' and j99_vt.date_time_iddoc < '20060601Z'
and j99_vt.rf99 = 0x1
and (ra99_vt.sp100 = '     9   ')
) as rr99_vt
group by
rr99_vt.sp101
having
sum(rr99_vt.sp102) <> 0
) as Рег

А ошибка такая

Server: Msg 207, Level 16, State 3, Line 1
Invalid column name 'ОстатокТовара'.

Печаль


  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: Проблема  простого запроса по регистру !!
Ответ #3 - 20. Июля 2006 :: 04:46
Печать  
1) Ты в курсе для чего нужен метод Выполнить()?
2) Ты в курсе синтаксиса обращения к ВТ?

НЕТ? Ну тогда мы едем к вам ... В с мысле, хорошо бы прочитать инструкцию, если совсем ничего не получается.

К ресурсам надо обращаться, прибавляя "остаток"
И вообще, используй ВыполнитьИнструкцию()
  
Наверх
 
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема  простого запроса по регистру !!
Ответ #4 - 20. Июля 2006 :: 05:10
Печать  
Огромное спасибо за совет!
Все получилось.
Буду копать дальше, просто маны есть, но как то все по разному немного описано, четкого описания по синтаксису нет.  Смех
  
Наверх
 
IP записан
 
sv_stas_sv
Junior Member
**
Отсутствует


1с++ lamer

Сообщений: 46
Зарегистрирован: 19. Июля 2006
Re: Проблема  простого запроса по регистру !!
Ответ #5 - 20. Июля 2006 :: 07:34
Печать  
И еще один вопрос.
Допустим получид я результаты запроса, каким образом его результаты преобразовать в стадартные средства 1С, например вытащить таблицу остатков товаров с их наименованием и др реквизитами ???
Печаль
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Проблема  простого запроса по регистру !!
Ответ #6 - 20. Июля 2006 :: 07:46
Печать  
где находятся реквизиты? Правильно - в таблице соответствующего справочника.
Присоедини эту таблицу и бери оттуда что хочешь, типизацию, я вижу, ты уже попробовал.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать