Имя: Пароль:
1C
1C 7.7
v7: Помогите с прямым запросом
0 Absurdus
 
13.02.14
10:29
Есть запрос:
SELECT        
    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],
    Рег.Склад as [Склад $Справочник.Склады],
    Рег.КоличествоНачальныйОстаток as КолНачОст,
    Рег.КоличествоПриход as КолПриход,
    Рег.КоличествоРасход as КолРасход,
    Рег.КоличествоКонечныйОстаток as КолКонОст
FROM
    $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,,,
    inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом)
      
                        ,(Склад in (select val from #СписокМагаз)),(Номенклатура,Склад), (Количество)) as Рег

КолРасход идет с получается с различных видов документов. Надо посчитать дополнительно КолРасходРеал - расход только по видам документов Реализация и РеализацияРозница.
1 Тьма
 
13.02.14
10:32
Сделай соединение с _1sJourn и там пиши CASE по полю IDDOCDEF
2 Mikeware
 
13.02.14
10:33
Ставь периодичность "документ", джойни с журналом, и во внешнмм запросе суммируй с учетом iddocdef
3 Ёпрст
 
13.02.14
10:33
вот это
inner join $Справочник.Номенклатура as НомРег with (nolock) on НомРег.id = Номенклатура and НомРег.id in (select val from #СписокНом)

занафига ?
4 Mikeware
 
13.02.14
10:34
(3) чтоб уж точно выполнилось :-)
5 Ёпрст
 
13.02.14
10:34
не.. ставь галку быстрая обработка движений НЕ соединяйся с журналом, всё имей уже в ВТ и позицию и вид документа.
6 dk
 
13.02.14
10:36
или получить обороты через объединение с простой таблицей регистра
7 Mikeware
 
13.02.14
10:37
(5) а вроде если периодичность "документ", то джойн с журналом уже унутре, и через <ВидДокумента> сожно вид получить.
8 Ёпрст
 
13.02.14
10:38
(7) не помню, во что там ВТ разворачивается, если честно..
:)
9 Absurdus
 
13.02.14
10:44
Добавляю
SELECT      
    Рег.IDDoc as [Док $Документ],
    Жур.IDDocDef as Док_вид,
    ....

State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "IDDoc".
10 Ёпрст
 
13.02.14
10:48
(9) периодичность документ, выкинуть нелепое соединение с номенклатурой унутри ВТ
11 Ёпрст
 
13.02.14
10:49
12 Ёпрст
 
13.02.14
10:49
ну и юзать потом ВидДокумента
13 Absurdus
 
13.02.14
10:57
SELECT      
    Рег.IDDoc as [Док $Документ],
    Жур.IDDocDef as Док_вид,
    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],
    Рег.Склад as [Склад $Справочник.Склады],
    Рег.КоличествоНачальныйОстаток as КолНачОст,
    Рег.КоличествоПриход as КолПриход,
    Рег.КоличествоРасход as КолРасход,
    Рег.КоличествоКонечныйОстаток as КолКонОст,
    Рег.Период Период
FROM
    $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,Документ,,
INNER JOIN
    _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc
                                                                                                                                        
                                
                               ,(Склад in (select val from #СписокМагаз)) and (Номенклатура in (select val from #СписокНом)),(Номенклатура,Склад), (Количество)) as Рег

Meta name parser error: это метаимя разрешить невозможно "$РегистрОстаткиОбороты.ОстаткиТМЦ"State 42000, native 4104, message [Microsoft][ODBC SQL S
14 Ёпрст
 
13.02.14
10:58
(13) gbkznm//
15 Ёпрст
 
13.02.14
11:01
select
    right(Рег.ПозицияДокумента,9) as [Док $Документ],
    Рег.ВидДокумента as Док_вид,
.....
16 Ёпрст
 
13.02.14
11:01
и выкини нахрен INNER JOIN  _1Sjourn as Ж
17 Absurdus
 
13.02.14
11:45
(15) Это гениально! )) Спасибо