|
v7: Отбор по типу операции в запросе | ☑ | ||
---|---|---|---|---|
0
Absurdus
25.08.15
✎
09:28
|
Есть запрос
SELECT right(Рег.ПозицияДокумента,9) as [Док $Документ], Рег.ВидДокумента as Док_вид, Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура] FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ,, inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом) ,,(Номенклатура), (Количество)) as Рег Надо по реквизиту КодОперацииМ в документе отобрать. И посчитать проданное количество. Не соображу как |
|||
1
Absurdus
25.08.15
✎
09:28
|
Делаю так:
SELECT right(Рег.ПозицияДокумента,9) as [Док $Документ], Рег.ВидДокумента as Док_вид, Рег.IDDoc as ДокИд, Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура] case when ((Рег.ВидДокумента = '5292') and (Жур.КодОперацииМ = ' 7E7 ')) then Рег.КоличествоРасход else 0 end as КолРасходРеалОпт, case when ((Рег.ВидДокумента = '5292') and (Жур.КодОперацииМ = ' 7E8 ')) then Рег.КоличествоРасход else 0 end as КолРасходРеалРозн FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ,, inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом) inner join _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc ,,(ДокИд,Номенклатура), (Количество)) as Рег Meta name parser error: недопустимое значение параметра "$РегистрОстаткиОбороты.ОстаткиТМЦ" (7) НЕ получается... |
|||
2
DCKiller
25.08.15
✎
09:36
|
inner join _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc
Мож тут "Рег" лишнее? |
|||
3
Absurdus
25.08.15
✎
09:40
|
(2) Убрал. Таже ошибка...
|
|||
4
patapum
25.08.15
✎
09:51
|
(3) что-то параметров для создания таблицы остатки и обороты многовато. inner join вроде пишется сразу после периодичности (4-й), отбор 5-й, измерения 6-й, ресурсы 7-й. а у тебя 8 получается
http://www.script-coding.com/Direct_queries.html#4.2. |
|||
5
DCKiller
25.08.15
✎
09:51
|
(3) Убери (ДокИд,Номенклатура) вообще... или передай туда не псевдонимы, а имена полей
|
|||
6
Absurdus
25.08.15
✎
10:02
|
(4,5) Верхний то запрос работает
|
|||
7
patapum
25.08.15
✎
10:07
|
(6) а wtf этот ДокИд? (ДокИд, Номенклатура)
попробуй убрать его |
|||
8
Absurdus
25.08.15
✎
10:10
|
(7) Сейчас так, но толку тоже 0
SELECT right(Рег.ПозицияДокумента,9) as [Док $Документ], Рег.ВидДокумента as Док_вид, Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура] FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ, , inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом) inner join _1Sjourn as Жур ON right(Жур.ПозицияДокумента,9) = right(Рег.ПозицияДокумента,9) ,,(Номенклатура), (Количество)) as Рег |
|||
9
patapum
25.08.15
✎
10:18
|
(8) толку 0 - это что? запрос выполняется или ошибка?
|
|||
10
Absurdus
25.08.15
✎
10:20
|
Meta name parser error: это метаимя разрешить невозможно "$РегистрОстаткиОбороты.ОстаткиТМЦ"State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "ПозицияДокумента".
|
|||
11
patapum
25.08.15
✎
10:31
|
(10) у меня в простейшем запросе не получается выбрать Рег.ПозицияДокумента. откуда ты взял, что так бывает? что у тебя работает (0) пока не верю... :-)
|
|||
12
Absurdus
25.08.15
✎
10:34
|
(10) Первый запрос сто лет как исправно работает и выдает нужный результат
|
|||
13
patapum
25.08.15
✎
10:42
|
попробуй
inner join _1Sjourn as Жур ON right(Жур.ПозицияДокумента,9) = right(ПозицияДокумента,9) или вынеси этот inner join из формирования таблицы в просто выборку, т.е. SELECT right(Рег.ПозицияДокумента,9) as [Док $Документ], Рег.ВидДокумента as Док_вид, Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура] FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ, , inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом) ,,(Номенклатура), (Количество)) as Рег inner join _1Sjourn as Жур ON right(Жур.ПозицияДокумента,9) = right(Рег.ПозицияДокумента,9) |
|||
14
Absurdus
25.08.15
✎
10:51
|
В обоих случаях ошибка:
Meta name parser error: это метаимя разрешить невозможно "$РегистрОстаткиОбороты.ОстаткиТМЦ"State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "ПозицияДокумента". |
|||
15
Absurdus
25.08.15
✎
10:53
|
FROM
$РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ, , inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом) ,,(Номенклатура), (Количество)) as Рег inner join _1Sjourn as Жур ON Жур.IDDoc = Рег.IdDoc Почему-то на Рег.IDdoc ругается, что не определен |
|||
16
patapum
25.08.15
✎
10:56
|
(15) ну да, Рег.IdDoc не определен. right(Рег.ПозицияДокумента,9) у тебя работает, по нему и соединяй
inner join _1Sjourn as Жур ON right(Жур.ПозицияДокумента,9) = right(Рег.ПозицияДокумента,9) |
|||
17
Absurdus
25.08.15
✎
11:16
|
(16) Не соединяется так
inner join _1Sjourn as Жур ON right(Жур.ПозицияДокумента,9) = right(Рег.ПозицияДокумента,9) Meta name parser error: это метаимя разрешить невозможно "$РегистрОстаткиОбороты.ОстаткиТМЦ"State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "ПозицияДокумента". |
|||
18
Дык ё
25.08.15
✎
11:38
|
(17) забей, один фиг в полях Остатки будут данные без учета кодов операций
|
|||
19
patapum
25.08.15
✎
11:40
|
может, так?
FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ, , inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом) ,,(Номенклатура), (Количество)) as Рег inner join _1Sjourn as Жур ON rigyt(Жур.IDDoc) = right(Рег.ПозицияДокумента,9) |
|||
20
Absurdus
25.08.15
✎
11:46
|
(19) О! Так что-то похожее стало выдавать, сейчас поковыряю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |