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



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Помогите любителю, изменил реквизит на периодический
05. Января 2012 :: 12:34
Печать  
Конфигурация ТиС самописная. Изменил реквизит Валюта, в справочнике Цены на периодический. Перестал работать прямой запрос, что там надо изменить???
Давно делал запрос, с помощью мастера. Никак не могу победить ошибку.

Вот текст:

ТекстЗапроса = "
           |SELECT Подзапрос.Склад [Склад $Справочник.МестаХранения]
           |      , Подзапрос.Товар [Товар $Справочник.Номенклатура]
           |      ,Sum(CASE
           |            WHEN  Подзапрос.СуммаКол = 0
           |                  THEN 0
           |            ELSE Подзапрос.СуммаСС / Подзапрос.СуммаКол * Подзапрос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 Подзапрос.Склад
           |";
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите любителю, изменил реквизит на периодический
Ответ #1 - 05. Января 2012 :: 16:42
Печать  
Попробуйте так:
Код
Выбрать все
ТекстЗапроса = "
		|SELECT Подзапрос.Склад [Склад $Справочник.МестаХранения]
		|	, Подзапрос.Товар [Товар $Справочник.Номенклатура]
		|	,Sum(CASE
		|		WHEN  Подзапрос.СуммаКол = 0
		|			THEN 0
		|		ELSE Подзапрос.СуммаСС / Подзапрос.СуммаКол * Подзапрос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, :ДатаЦен) = Валюты.ID
		|		WHERE ($Цены.ТипЦен = :ВыбТипЦен)) AS Подзапрос2 ON Подзапрос.Товар = Подзапрос2.Товар
		|GROUP BY Подзапрос.Склад
		|		, Подзапрос.Товар
		|ORDER BY Подзапрос.Склад
		|";
 

  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать