Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос не пашет как надо
0 Absurdus
 
03.09.14
13:35
|SELECT  
| M.CODE as CODE,
| M.DESCR as DESCR,
| cast(SUM(RG405.SP411) AS decimal(15, 0)) AS OSTATOK    
|FROM        dbo.SC84 M (nolock)  
| LEFT OUTER JOIN dbo.RG405 AS RG405 (nolock) ON (M.ID=RG405.SP408)  
|WHERE
| M.IsFolder = 2 AND
| RG405.PERIOD = (SELECT  dateadd(dd, 1 - day(MAX(s.curdate)), MAX(s.curdate)) FROM dbo._1SSYSTEM AS s)";    

Надо получить номенклатуру и ее остатки (включая нулевые). Но вот выходит почему-то только та номенклатура, которая есть на остатках.
В чем ошибка?
1 VladZ
 
03.09.14
13:41
в алгоритме
2 VladZ
 
03.09.14
13:42
SUM(RG405.SP411) - получить данные по остаткам... А где алгоритм, который отвечает за " (включая нулевые)" ?
3 Chai Nic
 
03.09.14
13:43
В чем кайф не использовать метаподстановки?
4 VladZ
 
03.09.14
13:44
(3) Садомазо. Будь толерантнее! ;)
5 КонецЦикла
 
03.09.14
13:44
Запрос делать к справочнику, левым соединением остатки (как вариант)
6 ADirks
 
03.09.14
14:15
|SELECT  
| M.CODE as CODE,
| M.DESCR as DESCR,
| Round( SUM( IsNull(RG405.SP411, 0.00), 0) OSTATOK    
|FROM        dbo.SC84 M (nolock)  
| LEFT OUTER JOIN dbo.RG405 AS RG405 (nolock) ON
|      M.ID=RG405.SP408
|      and RG405.PERIOD = (SELECT  dateadd(dd, 1 - day(MAX(s.curdate)), MAX(s.curdate)) FROM dbo._1SSYSTEM AS s)
|WHERE
| M.IsFolder = 2 AND
|
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн