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


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Условие к типизированному полю тч документа неопределенного вида
06. Июля 2010 :: 09:35
Печать  
Необходимо сделать запрос, в котором надо получить даты документов, реквизит шапки при наличии в табличной части документа номенклатуры "дисконтная карта клиента", но поле "номенклатура" может принимать как вид "Справочник.Номенклатура", так и вид "Справочник.ТехнологическиеОпирации". Выглядит запрос примерно так:
Код
Выбрать все
рс = СоздатьОбъект("Odbcrecordset");
		ТекстЗапроса = "
		|SELECT
		|	$ДокС.Номенклатура as [Номенклатура $Справочник],
		|	SUM($ДокС.Количество) as Количество
		|FROM
		|	$ДокументСтроки.ЗаказНаряд as ДокС
		|INNER JOIN
		|	$Документ.ЗаказНаряд as Док ON Док.IDDoc = ДокС.IDDoc
		|INNER JOIN
		|	_1SJourn as Жур ON Жур.IDDoc = ДокС.IDDoc And
		|				 Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~
		| --Inner Join $Справочник.Номенклатура as Ном On $ДокС.Номенклатура = Ном.Id
		| --Where $ДокС.Номенклатура = :ВыбНоменклатура
		|GROUP BY
		|	$ДокС.Номенклатура";

		СпрНом = СоздатьОбъект("Справочник.Номенклатура");
		СпрНом.НайтиПоКоду("014463928",0);
		рс.УстановитьТекстовыйПараметр("НачДата",ДобавитьМесяц(ТекущаяДата(),-120));
		рс.УстановитьТекстовыйПараметр("КонДата",ТекущаяДата());
		рс.УстановитьТекстовыйПараметр("ВыбНоменклатура",СпрНом.ТекущийЭлемент());
		тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
		Сообщить(тз.КоличествоСтрок());
		тз.ВыбратьСтроку(); 


При попытке наложить условие на выборку или объединить со справочником.номенклатура  выдает пустую таблицу. Я так понимаю, что внутреннее представление $ДокС.Номенклатура не совпадает с внутренним представлением спр.номенклатура.
Подскажите, как можно объединить таблицы или наложить условие по полям типа справочник неопределенного вида?
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Условие к типизированному полю тч документа неопределенного вида
Ответ #1 - 06. Июля 2010 :: 09:43
Печать  
where $ДокС.Номенклатура = :ВыбНоменклатура~

ЗЫ: если нужно соединить табличку Справочника, то добавляй ВидСправочника36 к id:

Код
Выбрать все
Inner Join $Справочник.Номенклатура as Ном On $ДокС.Номенклатура =ВидСправочника36.Номенклатура + Ном.Id 



  
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Условие к типизированному полю тч документа неопределенного вида
Ответ #2 - 06. Июля 2010 :: 09:44
Печать  
Eprst писал(а) 06. Июля 2010 :: 09:43:
where $ДокС.Номенклатура = :ВыбНоменклатура~

Спасибо. А объединить как?
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Условие к типизированному полю тч документа неопределенного вида
Ответ #3 - 06. Июля 2010 :: 09:47
Печать  
Только нужно не inner, а left + еще табличку технологических операций, иначе последние потеряешь в запросе.
  
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Условие к типизированному полю тч документа неопределенного вида
Ответ #4 - 06. Июля 2010 :: 09:49
Печать  
А мне они и не нужны.
Спасибо за быстрые и  точные ответы.
Вопрос снят.
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать