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


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Подскажите с запросом.
30. Мая 2011 :: 19:11
Печать  
Добрый день.

По флагам и настройкам генерится такой запрос:
Код
Выбрать все
SELECT
			РезервыТМЦОстаткиОбороты.Фирма 				[Фирма $Справочник.Фирмы]
	,			СФирма.Descr								ФирмаИмя

	,			СДоговоры.ParentExt							[Покупатель $Справочник.Контрагенты]
	,				СПокупатель.Descr							ПокупательИмя

	, 		РезервыТМЦОстаткиОбороты.Склад 				[Склад $Справочник.Склады]
	,			ССклад.Descr								СкладИмя

	, 		РезервыТМЦОстаткиОбороты.Номенклатура 		[Номенклатура $Справочник.Номенклатура]
	,			СНоменклатура.Descr							НоменклатураИмя
	,			$СНоменклатура.ОсновнаяЕдиница				[ОсновнаяЕдиница $Справочник.Единицы]

	,		ПозицияДокумента [ДатаДок  $Дата]
	,		ltrim(rtrim(ПозицияДокумента)) [Позиция]
	,		RIGHT(РезервыТМЦОстаткиОбороты.ПозицияДокумента,9) [Документ $Документ]
	,		РезервыТМЦОстаткиОбороты.ВидДокумента 		Документ_вид
	, Sum(РезервыТМЦОстаткиОбороты.КоличествоНачальныйОстаток) СуммаКоличествоНачальныйОстаток
	, Sum(РезервыТМЦОстаткиОбороты.КоличествоПриход) СуммаКоличествоПриход
	, Sum(РезервыТМЦОстаткиОбороты.КоличествоРасход) СуммаКоличествоРасход
	, Sum(РезервыТМЦОстаткиОбороты.КоличествоКонечныйОстаток) СуммаКоличествоКонечныйОстаток
FROM $РегистрОстаткиОбороты.РезервыТМЦ(:ДатаНачала,:ДатаКонца~,Документ,Движения,

		INNER JOIN $Справочник.Фирмы AS СФирма (NOLOCK) ON СФирма.ID=Фирма
		INNER JOIN $Справочник.Договоры AS СДоговоры (NOLOCK) ON СДоговоры.ID=ДоговорПокупателя
		INNER JOIN $Документ.ЗаявкаПокупателя AS ДЗаявкаПокупателя (NOLOCK) ON ДЗаявкаПокупателя.IDDOC=ЗаявкаПокупателя
	,
		Номенклатура IN (Select val FROM #СпНоменклатура)
	,
		(Фирма,Склад,Получатель,ДоговорПокупателя,Номенклатура,ЗаявкаПокупателя)
) AS РезервыТМЦОстаткиОбороты

	INNER JOIN $Справочник.Договоры AS СДоговоры (NOLOCK) ON РезервыТМЦОстаткиОбороты.ДоговорПокупателя=СДоговоры.ID
	INNER JOIN $Справочник.Номенклатура AS СНоменклатура (NOLOCK) ON СНоменклатура.ID=Номенклатура
	INNER JOIN $Справочник.Фирмы AS СФирма (NOLOCK) ON СФирма.ID=РезервыТМЦОстаткиОбороты.Фирма
	INNER JOIN $Справочник.Склады AS ССклад (NOLOCK) ON ССклад.ID=РезервыТМЦОстаткиОбороты.Склад
	INNER JOIN $Справочник.Контрагенты AS СПолучатель (NOLOCK) ON СПолучатель.ID=РезервыТМЦОстаткиОбороты.Получатель
	INNER JOIN $Справочник.Контрагенты AS СПокупатель (NOLOCK) ON СПокупатель.ID=СДоговоры.ParentExt

GROUP BY РезервыТМЦОстаткиОбороты.Фирма
		,	СФирма.Descr

		,	СДоговоры.ParentExt
		,		СПокупатель.Descr

		,РезервыТМЦОстаткиОбороты.Склад
		,	ССклад.Descr

		,РезервыТМЦОстаткиОбороты.Номенклатура
		,	СНоменклатура.Descr
		,	$СНоменклатура.ОсновнаяЕдиница

	,ПозицияДокумента
	,ltrim(rtrim(ПозицияДокумента))
	,RIGHT(РезервыТМЦОстаткиОбороты.ПозицияДокумента,9)
	,РезервыТМЦОстаткиОбороты.ВидДокумента
ORDER BY  СФирма.Descr

	, СПокупатель.Descr

	, ССклад.Descr

	, СНоменклатура.Descr

	, ПозицияДокумента 



На выходе получаю таблицу, по движению 100% совпадающую с отчетом по резервам ТМЦ, но начальные остатки выводятся не верно.
Если нужно прикреплю таблицы из 1С и результат этого запроса.
Что в запросе не правильно? почему начальные остатки выдаются не верные.  Озадачен
  
Наверх
www  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Подскажите с запросом.
Ответ #1 - 31. Мая 2011 :: 03:19
Печать  
INNER JOIN $Документ.ЗаявкаПокупателя AS ДЗаявкаПокупателя (NOLOCK) ON ДЗаявкаПокупателя.IDDOC=ЗаявкаПокупателя

вот это не верно

INNER JOIN $Справочник.Контрагенты AS СПокупатель (NOLOCK) ON СПокупатель.ID=СДоговоры.ParentExt

вот это тоже
  
Наверх
 
IP записан
 
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Re: Подскажите с запросом.
Ответ #2 - 31. Мая 2011 :: 05:50
Печать  
Именно в этом запросе эти иннеры излишни, но это пока нет группировок по Покупателям и ЗаявкамПокупателя.
Т.е. они не "не верные", а излишние, на начальные остатки не должны влиять.
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать