Небольшой пример для тех, кто только начинает переходить на ПрямойЗапрос:
[code] ТекстЗапросаДвижений = "SELECT | $Жур.ТекущийДокумент КАК [Документ $Документ] //| Журнал.IDDOC as [Документ $Документ] | , $Жур.ВидДокумента КАК Документ_вид //| , Журнал.IDDOCDef as Документ_вид | , $Жур.ДатаДокумента КАК [ДатаДок $Дата] //| , "+?(БазаSQL = 0,"Журнал.DATE","$НачалоПериода.День(Журнал.DATE_TIME_IDDOC)")+" as ДатаДок | | , $СпрДоговора.ТекущийЭлемент КАК [Договор $Справочник.Договоры] //| , СпрДоговора.ID КАК [Договор $Справочник.Договоры] | , $СпрКонтрагенты.ТекущийЭлемент КАК [Покупатель $Справочник.Контрагенты] //| , СпрКонтрагенты.ID КАК [Покупатель $Справочник.Контрагенты] | | , $НаименованиеРегистра.ВидДвижения КАК ПриходРасход //| , НаименованиеРегистра.DEBKRED КАК ПриходРасход | | , НаименованиеРегистра.Фирма КАК [Фирма $Справочник.Фирмы] | , НаименованиеРегистра.ВидДолга КАК [ВидДолга $Перечисление.ВидыДолга] | , НаименованиеРегистра.КредДокумент КАК [КредДокумент $Документ] | , НаименованиеРегистра.ДокументОплаты КАК [ДокументОплаты $Документ] | , НаименованиеРегистра.КодОперации КАК [КодОперации $Перечисление.КодыОпераций] | | , НаименованиеРегистра.СуммаРуб*(1 - $НаименованиеРегистра.ВидДвижения * 2) КАК СуммаВзаиморасчетовВВалютеБухУчета //| , $НаименованиеРегистра.СуммаРуб*(1 - НаименованиеРегистра.DEBKRED * 2) КАК СуммаВзаиморасчетовВВалютеБухУчета | | , Жур.$ОбщийРеквизит.Автор КАК [Автор $Справочник.Пользователи] | , Жур.$ОбщийРеквизит.Проект КАК [Проект $Справочник.Проекты] | , Жур.$ОбщийРеквизит.ЮрЛицо КАК [ЮрЛицо $Справочник.СвоиЮрЛица] | |FROM Регистр."+НаименованиеРегистра+" КАК НаименованиеРегистра //|FROM $Регистр."+НаименованиеРегистра+" КАК НаименованиеРегистра | INNER JOIN ЖурналДокументов КАК Жур ON $НаименованиеРегистра.ТекущийДокумент = $Жур.ТекущийДокумент //| INNER JOIN "+?(БазаSQL = 0,"1SJOURN","_1SJOURN")+" AS Журнал "+?(БазаSQL = 0,"","With (NOLOCK)")+" ON НаименованиеРегистра.IDDOC = Журнал.IDDOC | LEFT JOIN Справочник.Договоры КАК СпрДоговора ON $СпрДоговора.ТекущийЭлемент = НаименованиеРегистра.Договор //| LEFT JOIN $Справочник.Договоры КАК СпрДоговора ON СпрДоговора.ID = $НаименованиеРегистра.Договор | LEFT JOIN Справочник.Контрагенты КАК СпрКонтрагенты ON $СпрКонтрагенты.ТекущийЭлемент = СпрДоговора.ParentExt //| LEFT JOIN $Справочник.Контрагенты КАК СпрКонтрагенты ON СпрКонтрагенты.ID = СпрДоговора.ParentExt | |WHERE $Жур.ДатаДокумента BETWEEN :ВыбНачПериода AND :ВыбКонПериода~ //|WHERE ("+?(БазаSQL = 0,"Журнал.DATE","Журнал.DATE_TIME_IDDOC")+" BETWEEN :ВыбНачПериода"+?(БазаSQL = 0,"~~","")+" AND :ВыбКонПериода"+?(БазаSQL = 0,"~~","~")+") | |";[/code]
В примере показано, что меняется. Старый вариант запроса для DBF закомментирован
|