Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос. Что не так?
,
0 Klesk
 
03.11.11
14:19
|SELECT ЗаявкиОстаткиОбороты.ЗаявкаПокупателя [ЗаявкаПокупателя $Документ.ЗаявкаПокупателя]
       |    , ЗаявкиОстаткиОбороты.Номенклатура [Номенклатура $Справочник.Номенклатура]
       |    , Sum(ЗаявкиОстаткиОбороты.КоличествоРасходКонечныйОстаток) СуммаКоличествоРасходКонечныйОстаток
       |    , Sum(ЗаявкиОстаткиОбороты.СтоимостьРасходКонечныйОстаток) СуммаСтоимостьРасходКонечныйОстаток
       |FROM $РегистрОстаткиОбороты.Заявки(,,,,
       |        INNER JOIN $Документ.ЗаявкаПокупателя AS ЗаявкаПокупателя ON ЗаявкаПокупателя = ЗаявкаПокупателя.IDDOC,
       |        ($ЗаявкаПокупателя.ДатаОтгрузки = :ВыбДатаОтгрузки),
       |        (ЗаявкаПокупателя, Номенклатура),) AS ЗаявкиОстаткиОбороты
       |GROUP BY ЗаявкиОстаткиОбороты.ЗаявкаПокупателя
       |    , ЗаявкиОстаткиОбороты.Номенклатура
       |";

Ошибка: State 42000, native 102, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '.'.
1 Fragster
 
гуру
03.11.11
14:21
покажи тескт запроса SQL
2 DEVIce
 
03.11.11
14:26
"INNER JOIN $Документ.ЗаявкаПокупателя AS ЗаявкаПокупателя ON ЗаявкаПокупателя = ЗаявкаПокупателя.IDDOC" - так точно можно передавать в параметры ОстатковОборотов?
3 Ёпрст
 
03.11.11
14:26
(0) убери табуляцию
4 Klesk
 
03.11.11
20:41
(1)
SELECT ЗаявкиОстаткиОбороты.ЗаявкаПокупателя [ЗаявкаПокупателя $Документ.ЗаявкаПокупателя]
   , ЗаявкиОстаткиОбороты.Номенклатура [Номенклатура $Справочник.Номенклатура]
   , Sum(ЗаявкиОстаткиОбороты.КоличествоРасходКонечныйОстаток) СуммаКоличествоРасходКонечныйОстаток
   , Sum(ЗаявкиОстаткиОбороты.СтоимостьРасходКонечныйОстаток) СуммаСтоимостьРасходКонечныйОстаток
FROM (
select
rb4674_vt.ЗаявкаПокупателя,
rb4674_vt.Номенклатура,
sum(rb4674_vt.КоличествоРасходОстаток) as КоличествоРасходНачальныйОстаток,
sum(rb4674_vt.КоличествоРасходПриход) as КоличествоРасходПриход,
sum(rb4674_vt.КоличествоРасходРасход) as КоличествоРасходРасход,
sum(rb4674_vt.КоличествоРасходОстаток) + sum(rb4674_vt.КоличествоРасходПриход) - sum(rb4674_vt.КоличествоРасходРасход) as КоличествоРасходКонечныйОстаток,
sum(rb4674_vt.СтоимостьРасходОстаток) as СтоимостьРасходНачальныйОстаток,
sum(rb4674_vt.СтоимостьРасходПриход) as СтоимостьРасходПриход,
sum(rb4674_vt.СтоимостьРасходРасход) as СтоимостьРасходРасход,
sum(rb4674_vt.СтоимостьРасходОстаток) + sum(rb4674_vt.СтоимостьРасходПриход) - sum(rb4674_vt.СтоимостьРасходРасход) as СтоимостьРасходКонечныйОстаток
from (
select
ra4674_vt.sp4671 as ЗаявкаПокупателя,
ra4674_vt.sp4669 as Номенклатура,
case when ra4674_vt.debkred = 0 then ra4674_vt.sp4672 else 0 end as КоличествоРасходПриход,
case when ra4674_vt.debkred = 1 then ra4674_vt.sp4672 else 0 end as КоличествоРасходРасход,
0 as КоличествоРасходОстаток,
case when ra4674_vt.debkred = 0 then ra4674_vt.sp4673 else 0 end as СтоимостьРасходПриход,
case when ra4674_vt.debkred = 1 then ra4674_vt.sp4673 else 0 end as СтоимостьРасходРасход,
0 as СтоимостьРасходОстаток
from ra4674 as ra4674_vt (nolock)
inner join _1sjourn as j4674_vt (nolock) on j4674_vt.iddoc = ra4674_vt.iddoc
INNER JOIN dh2457 AS ra4674_vt.sp4671 ON ra4674_vt.sp4671 = ra4674_vt.sp4671.IDDOC
where j4674_vt.date_time_iddoc > '19000101' and j4674_vt.date_time_iddoc < '20111103C6YGW0  UJOD  0'
and j4674_vt.rf4674 = 0x1
and ((ra4674_vt.sp4671.sp4434 = '20111103'))
union all
select
rg4674_vt.sp4671 as ЗаявкаПокупателя,
rg4674_vt.sp4669 as Номенклатура,
0,
0,
rg4674_vt.sp4672,
0,
0,
rg4674_vt.sp4673
from rg4674 as rg4674_vt (nolock)
INNER JOIN dh2457 AS rg4674_vt.sp4671 ON rg4674_vt.sp4671 = rg4674_vt.sp4671.IDDOC
where rg4674_vt.period={d '1899-12-01'}
and ((rg4674_vt.sp4671.sp4434 = '20111103'))
) as rb4674_vt
group by
rb4674_vt.ЗаявкаПокупателя,
rb4674_vt.Номенклатура
having
sum(rb4674_vt.КоличествоРасходОстаток) <> 0 or
sum(rb4674_vt.КоличествоРасходПриход) <> 0 or
sum(rb4674_vt.КоличествоРасходРасход) <> 0 or
sum(rb4674_vt.КоличествоРасходОстаток) + sum(rb4674_vt.КоличествоРасходПриход) - sum(rb4674_vt.КоличествоРасходРасход) <> 0 or
sum(rb4674_vt.СтоимостьРасходОстаток) <> 0 or
sum(rb4674_vt.СтоимостьРасходПриход) <> 0 or
sum(rb4674_vt.СтоимостьРасходРасход) <> 0 or
sum(rb4674_vt.СтоимостьРасходОстаток) + sum(rb4674_vt.СтоимостьРасходПриход) - sum(rb4674_vt.СтоимостьРасходРасход) <> 0
) as ЗаявкиОстаткиОбороты
GROUP BY ЗаявкиОстаткиОбороты.ЗаявкаПокупателя
   , ЗаявкиОстаткиОбороты.Номенклатура

(3) это может помочь?
5 rs_trade
 
03.11.11
20:44
(4) ого. убери текст запроса SQL.
6 rs_trade
 
03.11.11
20:45
в консоли скульной должно же строку показывать где ошибка. или где то рядом.
7 rs_trade
 
03.11.11
20:48
в тут то то не то.

FROM $РегистрОстаткиОбороты.Заявки(,,,,
       |        INNER JOIN $Документ.ЗаявкаПокупателя AS ЗаявкаПокупателя ON ЗаявкаПокупателя = ЗаявкаПокупателя.IDDOC,
       |        ($ЗаявкаПокупателя.ДатаОтгрузки = :ВыбДатаОтгрузки),
       |        (ЗаявкаПокупателя, Номенклатура),) AS ЗаявкиОстаткиОбороты
8 viktor_vv
 
03.11.11
20:53
(ЗаявкаПокупателя, Номенклатура),(?)) Здесь не надо в последнем параметре указать явно ресурсы ? Или по умолчанию по всем считает ?
9 viktor_vv
 
03.11.11
20:54
А не, по умолчанию по всем считает.
10 acsent
 
03.11.11
20:54
у тебя и псевдоним заявка и поле заявка может в этом беда?
11 Klesk
 
03.11.11
20:56
Msg 102, Level 15, State 1, Line 30
Incorrect syntax near '.'.
Msg 102, Level 15, State 1, Line 49
Incorrect syntax near '.'.

строчка 30: INNER JOIN dh2457 AS ra4674_vt.sp4671 ON ra4674_vt.sp4671 = ra4674_vt.sp4671.IDDOC
строчка 49: INNER JOIN dh2457 AS rg4674_vt.sp4671 ON rg4674_vt.sp4671 = rg4674_vt.sp4671.IDDOC
12 viktor_vv
 
03.11.11
20:56
Вот хрень какая-то INNER JOIN $Документ.ЗаявкаПокупателя AS ЗаявкаПокупателя ON ЗаявкаПокупателя = ЗаявкаПокупателя.IDDOC, вот это ЗаявкаПокупателя = ЗаявкаПокупателя.IDDOC

В итоге в развороте получается ra4674_vt.sp4671.IDDOC черезз две точки.
13 viktor_vv
 
03.11.11
20:57
$Документ.ЗаявкаПокупателя AS ЗаявкаПокупателя алиас поменяй.
Основная теорема систематики: Новые системы плодят новые проблемы.