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



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
не могу понять в чем глюк
07. Августа 2008 :: 07:59
Печать  
SELECT Подзапрос.Склад [Склад $Справочник.МестаХранения]
     ,CASE
           WHEN  Подзапрос.СуммаКол = 0
                 THEN Sum(Подзапрос.СуммаКол)
           ELSE Sum(Подзапрос.СуммаСС / Подзапрос.СуммаКол * Подзапрос1.СуммаКол)
     END РезСС
     , Sum(Подзапрос1.СуммаКол * Подзапрос2.ЦенаД) РезЦена            
     , Sum(Подзапрос.СуммаСС) ОстСС
     , Sum(Подзапрос.СуммаКол * Подзапрос2.ЦенаД) ОстЦена
FROM (SELECT ПартииТоваровОстатки.Товар
                 , ПартииТоваровОстатки.Склад
                 , Sum(ПартииТоваровОстатки.ОстатокТовараОстаток) СуммаКол
                 , Sum(ПартииТоваровОстатки.СебестоимостьОстаток) СуммаСС
           FROM $РегистрОстатки.ПартииТоваров(:ВыбДата~,,((Фирма = :ВыбФирма)),
                       (Товар, Склад),
                       (ОстатокТовара, Себестоимость)) AS ПартииТоваровОстатки
           GROUP BY ПартииТоваровОстатки.Товар
                 , ПартииТоваровОстатки.Склад) AS Подзапрос
     LEFT OUTER JOIN (SELECT РезервыТоваровОстатки.Товар
                 , РезервыТоваровОстатки.Склад
                 , Sum(РезервыТоваровОстатки.РезервТовараОстаток) СуммаКол
           FROM $РегистрОстатки.РезервыТоваров(:ВыбДата~,,((Фирма = :ВыбФирма)),            
                       (Товар, Склад),) AS РезервыТоваровОстатки
           GROUP BY РезервыТоваровОстатки.Товар
                 , РезервыТоваровОстатки.Склад) AS Подзапрос1 ON Подзапрос.Товар = Подзапрос1.Товар AND Подзапрос.Склад = Подзапрос1.Склад
     LEFT OUTER JOIN (SELECT Цены.PARENTEXT Товар
                 , ($ПоследнееЗначение.Цены.Цена(Цены.ID, :ВыбДата) * $ПоследнееЗначение.Валюты.Курс(Валюты.ID, :ВыбДата)) ЦенаД
           FROM $Справочник.Цены AS Цены
                 LEFT OUTER JOIN $Справочник.Валюты AS Валюты ON $Цены.Валюта = Валюты.ID
           WHERE ($Цены.ТипЦен = :ВыбТипЦен)) AS Подзапрос2 ON Подзапрос.Товар = Подзапрос2.Товар
GROUP BY Подзапрос.Склад
ORDER BY Подзапрос.Склад

тз = RS.ВыполнитьИнструкцию(ТекстЗапроса);

{D:\1C_BASE.ADM\WORK1C\EXTFORMS\01_SHAYBA.ERT(90)}: State 42000, native 8120, message [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'Подзапрос.СуммаКол' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Добавляю CASE выдает ошибку, без CASE - деление на 0
  
Наверх
ICQ  
IP записан
 
U_zer
Экс-Участник


Re: не могу понять в чем глюк
Ответ #1 - 07. Августа 2008 :: 08:02
Печать  
Надо Sum(Case) попробовать.
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: не могу понять в чем глюк
Ответ #2 - 07. Августа 2008 :: 08:06
Печать  
Спасибо!!!
все получилось
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать