Название: Ищу софт на Qt который форматирует запросы. Отправлено: panAlexey от Июнь 15, 2013, 18:03 Собственно: Ищу софт на Qt который форматирует запросы.
SQL нестандартный. Хелп. Можно просто парсер на Qt, остальное доделаю сам. Название: Re: Ищу софт на Qt который форматирует запросы. Отправлено: lit-uriy от Июнь 15, 2013, 18:13 может пригодится для написания своего:
https://pypi.python.org/pypi/sqlparse/ Название: Re: Ищу софт на Qt который форматирует запросы. Отправлено: panAlexey от Июнь 15, 2013, 18:29 может пригодится для написания своего: https://pypi.python.org/pypi/sqlparse/ Не, питон все таки. Мне под десктопное приложение надо, это раз. Во вторых мне его дорабатывать надо под нестандартный скуль типа: Цитировать SELECT CASE WHEN Журнал.ISMARK = 1 THEN 6 WHEN Журнал.CLOSED & 1 = 1 THEN 1 ELSE 0 END as Картинка , Журнал.DATE_TIME_IDDOC as ДатаВремяИдДок , CAST(LEFT(Журнал.Date_Time_IDDoc, 8) as DateTime) as Док_Дата , Журнал.IDDoc as [Док $Документ] , Журнал.IDDOCDEF as Док_вид , Журнал.DOCNO as Док_Номер , (Журнал.CLOSED & 1) as ДокументПроведён , Журнал.$ОбщийРеквизит.Фирма as [Фирма $Справочник.Фирмы] , Журнал.$ОбщийРеквизит.Автор as [Автор $Справочник.Пользователи] , Журнал.$ОбщийРеквизит.ТипУчета as ТипУчета , Журнал.$ОбщийРеквизит.ФинУчет as ФинУчет , Журнал.$ОбщийРеквизит.КодОперации as [КодОперации $Перечисление.КодыОпераций] , COALESCE($ДокРР.Клиент, $ДокРН.Клиент, $ДокСчет.Клиент, $ДокСчетФ.Клиент, $ДокЗНал.Клиент, $ДокЗВП.Клиент) as [Контрагент $Справочник.Контрагенты] , COALESCE($ДокРР.СостояниеСборки, $ДокРН.СостояниеСборки, $ДокСчет.СостояниеСборки, $ДокЗНал.СостояниеСборки , $ДокПерем.СостояниеСборки) as [СостояниеСборки $Перечисление.СостоянияРасходныхСборка] , COALESCE($ДокРР.Склад, $ДокРН.Склад, $ДокПерем.Склад) as [Склад $Справочник.МестаХранения] , COALESCE($ДокРР.АвторДокумента, $ДокРН.АвторДокумента , $ДокСчет.АвторДокумента, $ДокЗВП.АвторДокумента, $ДокЗНал.АвторДокумента) as [АвторДокумента $Справочник.Пользователи] ,COALESCE($ДокРР.НеобходимоСобратьКДатаВремя, $ДокСчет.НеобходимоСобратьКДатаВремя, $ДокПерем.НеобходимоСобратьКДатаВремя) as НеобходимоСобратьКДатаВремя FROM _1SJOURN AS Журнал (nolock) LEFT JOIN $Документ.РасходнаяРозничная as ДокРР (nolock) ON (ДокРР.IDDoc = Журнал.IDDoc) LEFT JOIN $Документ.РасходнаяНакладная as ДокРН (nolock) ON (ДокРН.IDDoc = Журнал.IDDoc) LEFT JOIN $Документ.Счет as ДокСчет (nolock) ON (ДокСчет.IDDoc = Журнал.IDDoc) LEFT JOIN $Документ.Счет_фактура as ДокСчетФ (nolock) ON (ДокСчетФ.IDDoc = Журнал.IDDoc) LEFT JOIN $Документ.Перемещение as ДокПерем (nolock) ON (ДокПерем.IDDoc = Журнал.IDDoc) LEFT JOIN $Документ.ЗаявкаНаОтгрузкуЗаНал as ДокЗНал (nolock) ON (ДокЗНал.IDDoc = Журнал.IDDoc) LEFT JOIN $Документ.ВходящийЗаказПокупателя as ДокЗВП (nolock) ON (ДокЗВП.IDDoc = Журнал.IDDoc) WHERE Журнал.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND ( Журнал.IDDOCDEF = $ВидДокумента.Счет ) AND ( Журнал.IDDOC IN ( SELECT SUBSTRING(РезервыТоваровОстатки.ПоСчету,5,9) FROM $РегистрОстатки.РезервыТоваров(,,,ПоСчету,) AS РезервыТоваровОстатки UNION ALL -- #0000085: Из журнала менеджера исчезают заявки со складским ордером. SELECT SUBSTRING($докСклОрд.ДокументОснование,5,9) ДООрдер FROM $Документ.СкладскойОрдер as докСклОрд (NOLOCK) WHERE докСклОрд.IDDOC IN ( SELECT регОтложенные.Ордер FROM $РегистрОстатки.ОстаткиТоваровОтложенные(, ,Фирма = $ПустойИД, (Ордер),ОстатокТовара) AS регОтложенные ) ) ) AND ( $ДокРН.КатегорияЦен IN (' 1E ',' 1F ') OR $ДокСчет.КатегорияЦен IN (' 1E ',' 1F ') OR $ДокЗНал.КатегорияЦен IN (' 1E ',' 1F ') OR $ДокЗВП.КатегорияЦен IN (' 1E ',' 1F ') OR $ДокРР.КатегорияЦен IN (' 1E ',' 1F ') ) пс. Сейчас использую PoorMansTSqlFormatterNppPlugin, v1.4.1.23401 для Npp. Но он недопилен. Название: Re: Ищу софт на Qt который форматирует запросы. Отправлено: lit-uriy от Июнь 15, 2013, 18:35 >Не, питон все таки
ну сам язык довольно понятный, можно алгоритм оттуда позаимствовать, хотя, конечно, писать придётся с самого начала |