Russian Qt Forum
Сентябрь 25, 2024, 06:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ищу софт на Qt который форматирует запросы.  (Прочитано 3361 раз)
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« : Июнь 15, 2013, 18:03 »

Собственно: Ищу софт на Qt который форматирует запросы.
SQL нестандартный.
Хелп.
Можно просто парсер на Qt, остальное доделаю сам.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июнь 15, 2013, 18:13 »

может пригодится для написания своего:
https://pypi.python.org/pypi/sqlparse/
Записан

Юра.
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #2 : Июнь 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, Крутой 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. Но он недопилен.
« Последнее редактирование: Июнь 15, 2013, 18:32 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Июнь 15, 2013, 18:35 »

>Не, питон все таки
ну сам язык довольно понятный, можно алгоритм оттуда позаимствовать, хотя, конечно, писать придётся с самого начала
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 23.