Eprst писал(а) 27. Апреля 2011 :: 05:08:Dmiter писал(а) 26. Апреля 2011 :: 19:41: В запросе этот реквизит идет через case (так как в документах он в разных полях таблиц). Необходимо из реквизита (справочник) вытащить его атрибут - присоединение по on напрямую к полю не получается. В примере есть только получение атрибута от общего реквизита документов.
А чего, без case ужо не судьба ?
А текст запроса покажешь ?
Колонки:select
ТекущийОбъект.iddocdef as [ТекущийДокумент_вид]
,ТекущийОбъект.dnprefix as [ПрефиксНомера]
,ТекущийОбъект.row_id as [НомерСтрокиЖурналаДокументов]
,ТекущийОбъект.docno as [НомерДокументаСортировка]
,ТекущийОбъект.date_time_iddoc as [ПозицияДокумента]
,case when ТекущийОбъект.ismark = 1 then 7 else
case when ТекущийОбъект.closed&1 = 1 then 8 else 6 end
end as [Пиктограмма]
,ltrim(ТекущийОбъект.docno) as [НомерДокумента]
,dbo.ConvertIDTimeToTime(substring(ТекущийОбъект.date_time_iddoc,9,6)) as [ВремяДокумента]
,left(ТекущийОбъект.date_time_iddoc,8) as [ДатаДокумента $Дата]
,ТекущийОбъект.iddoc as [ТекущийДокумент $Документ]
,ТекущийОбъект.iddocdef AS [ВидДокумента $ВидДокументаПредставление]
,ТекущийОбъект.closed&1 AS [Проведен]
,case when ТекущийОбъект.ismark = 1 then 1 else 0 end as [ПометкаУдаления]
,$ТекущийОбъект.IDD as [IDD $Строка]
,$ТекущийОбъект.Автор as [Автор $Справочник.Пользователи]
,$ТекущийОбъект.Фирма as [Фирма $Справочник.Фирмы]
,$ТекущийОбъект.ТипУчета as [ТипУчета $Число]
,$ТекущийОбъект.ФинУчет as [ФинУчет $Число]
,$ТекущийОбъект.ИзПЛ as [ИзПЛ $Число]
,case ТекущийОбъект.iddocdef
when 7849 then $ДокТ_РасходнаяНакладная.Контрагент
when 6016 then $ДокСчет.Контрагент
when 16410 then $ДокТ_ЗаявкаНаВозврат.Контрагент
end as [Покупатель $Справочник.Контрагенты]
,case ТекущийОбъект.iddocdef
when 7849 then $ДокТ_РасходнаяНакладная.ТорговаяТочка
when 16410 then $ДокТ_ЗаявкаНаВозврат.ТорговаяТочка
end as [ТорговаяТочка $Справочник.ТорговыеТочкиКонтрагента]
,case ТекущийОбъект.iddocdef
when 16410 then $ДокТ_ЗаявкаНаВозврат.СуммаСНДС
when 7849 then $ДокТ_РасходнаяНакладная.СуммаСНДС
when 6016 then $ДокСчет.СуммаСНДС
end as [СуммаСНДС $Число]
,$ДокТ_РасходнаяНакладная.ПолученДокумент AS [Получен $Строка]
Источник:
from ЖурналДокументов as ТекущийОбъект $nolock
left join Документ.Счет as ДокСчет $nolock
on ТекущийОбъект.iddoc = ДокСчет.iddoc
left join Документ.Т_РасходнаяНакладная as ДокТ_РасходнаяНакладная $nolock
on ТекущийОбъект.iddoc = ДокТ_РасходнаяНакладная.iddoc
left join Документ.Т_ЗаявкаНаВозврат as ДокТ_ЗаявкаНаВозврат $nolock
on ТекущийОбъект.iddoc = ДокТ_ЗаявкаНаВозврат.iddoc
Условия:where (ТекущийОбъект.iddocdef in (6016,7849,16410))
Необходимо получить атрибут АдресДоставки справочника ТорговаяТочка