Переключение на Главную Страницу Страницы: 1 ... 10 11 [12] 13 14 ... 60 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПрямойЗапрос" (число прочтений - 305032 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #165 - 26. Августа 2009 :: 19:42
Печать  
Имею желание (но не имею возможности) реализовать класс "РезультатЗапроса", который можно будет использовать в качестве параметра метода "Выполнить". Т.о. будет возвращаться класс который позволит манипулировать с данными. Например чтобы можно было сворачивать по иерархии и не только, устраивать обходы по иерархии.
В будущем возможно появится секция ИТОГИ в режиме запроса.
Желание желанием, но имеет ли это смысл? Я на текущий момент прекрасно обхожусь без данной надстройки и время тратить не очень хочу. Соответственно интересует мнение тех кто пользуется классом, как вы думаете насколько это нужно?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #166 - 28. Августа 2009 :: 09:56
Печать  
Вот если бы кто-нибудь сделал надстройку над ИТЗ, позволяющую обходить группировки аналогично запросу - методом Группировка, или хотя-бы добавил реквизит/колонку/своство/метод типа "ТекущаяГруппировка" - этой наработке цены бы не было. Или сделал аналог ТаблицыГруппировок - который бы предсказуемо работал. Хотя, конечно, без этого вполне можно обходиться и насущной потребности в этом нет.
Вот обходился же я без ПрямогоЗапроса всю жизнь. А как запрос появился - жизнь стала чуточку лучшеУлыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #167 - 02. Сентября 2009 :: 10:00
Печать  
Класс обновлен... новая версия:
1.03.004 (beta) от 02.09.09 г.
- Оптимизировано построение запроса для ВТ БИОборотыДтКт при условии: БЕЗСУБКОНТО (Дт и Кт) и периодичность >= МЕСЯЦ

Большое спасибо тов. berezdetsky за его класс AccountsRecordset. Иногда я поражаюсь насколько там все хорошо и грамотно сделано. Во многом провести оптимизацию БИОборотыДтКт без использования его наработок было бы возможно, но ошибок было бы вагон и мааааленькая тележка.

Пы.сы. есть большие сомнения в том что ВТ БИОстаткиОбороты когда нибудь появится. Для SQL можно взять из вышеупомянутого класса, что касается DBF то боюсь ее реализация наврядли получится оптимальной. Что касается оставшихся БИОбороты, БИДвиженияССубконто то они с вероятностью 80-90 процентов будут. Только вопрос времени.

Есть ли интерес у пользователей к ВТ по бух. подсистеме?
« Последняя редакция: 02. Сентября 2009 :: 17:48 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Alister
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 123
Зарегистрирован: 19. Мая 2006
Re: Класс "ПрямойЗапрос"
Ответ #168 - 02. Сентября 2009 :: 18:48
Печать  
vandalsvq писал(а) 02. Сентября 2009 :: 10:00:
Есть ли интерес у пользователей к ВТ по бух. подсистеме?
Безусловно - есть  Улыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #169 - 02. Сентября 2009 :: 19:56
Печать  
Alister писал(а) 02. Сентября 2009 :: 18:48:
Безусловно - есть  Улыбка

Ну хоть один отозвался и то хорошо Улыбка

2 Djelf
Помнится ты писал что хотел прикрутить КОП к Scintilla... можешь поделиться тем что делал?
Хотел написать простенький конструктор в режиме предприятия (а может и не очень простенький) вот и думал может уже что есть Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #170 - 03. Сентября 2009 :: 05:41
Печать  
Решил и я преобщиться к массе пользователей данного класса. Опять приятно удивлен насколько хорошо все сделано.

Читая документацию, увидел, что LIMIT/TOP/ПЕРВЫЕ нельзя использовать в подзапросах. Очень расстроился, потому как они в основном только там и используются. Открыл класс и увидел, что ключевое слово LIMIT никак не обрабатывается - а это очень хорошо Подмигивание не прикрывай, пожалуйста, эту фичу.

По бух. таблицам: интерес конечно есть, но как-то боязно пока.
  
Наверх
 
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #171 - 03. Сентября 2009 :: 06:11
Печать  
vandalsvq писал(а) 02. Сентября 2009 :: 10:00:
Есть ли интерес у пользователей к ВТ по бух. подсистеме?

А как же!
Ведь бухгалтерия - самая дешевая семерка, в тоже время - "необходимая и достаточная". А теперь добавляем туда прямые запросы, хорошо перемешиваем, следите за руками... Вуаля!
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #172 - 03. Сентября 2009 :: 06:31
Печать  
JohnyDeath писал(а) 03. Сентября 2009 :: 05:41:
Решил и я преобщиться к массе пользователей данного класса. Опять приятно удивлен насколько хорошо все сделано.

Читая документацию, увидел, что LIMIT/TOP/ПЕРВЫЕ нельзя использовать в подзапросах. Очень расстроился, потому как они в основном только там и используются. Открыл класс и увидел, что ключевое слово LIMIT никак не обрабатывается - а это очень хорошо Подмигивание не прикрывай, пожалуйста, эту фичу.

По бух. таблицам: интерес конечно есть, но как-то боязно пока.


А может быть сделать так а?
Писать "SQL_ПЕРВЫЕ N" в начале, и обязательное условие "DBF_ПЕРВЫЕ N" в конце. Как дополнение к синтаксису. При этом для SQL формата бд DBF_ПЕРВЫЕ будут выкидываться в урну, соответственно для DBF наоборот. Поведение LIMIT/TOP/ПЕРВЫЕ в текущей реализации не менять?
Есть мысли?

Пы.сы. кстати зря ты БИ боишься... они не кусаются, есть не просят, и не особо сложны в использовании. Конечно отсутствует БИОбороты, но в скором времени они появятся и все будет намана.  Очень довольный

Пы.пы.сы. это было юбилейное 1000-е сообщение. Красиво... даже портить не хочется  Смех
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #173 - 03. Сентября 2009 :: 06:48
Печать  
С ПЕРВЫМИ хотелось бы конечно, чтобы парсер текста запроса сам втыкал TOP/LIMIT туда куда нужно, т.е. в конец текущего подзапроса, а не в конец всего запроса. Я в рег. выражениях не силен, поэтому не знаю, реально ли это сделать. Насчет твоего предложения даже не знаю... Как-то не красиво, но всё же выход из положения.

Объясню почему я боюсь БИ. Был как-то период, когда я сам пытался написать что-то подобное (не помню, существовал ли в то время класс Ивана Берездецкого). Чем глубже я уходил, тем страшнее мне становилось )). В общем не хватило мне усидчивости и ума, чтобы добить это дело до конца (тогда, кстати и SQLite-а не было).
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #174 - 03. Сентября 2009 :: 07:01
Печать  
JohnyDeath писал(а) 03. Сентября 2009 :: 06:48:
С ПЕРВЫМИ хотелось бы конечно, чтобы парсер текста запроса сам втыкал TOP/LIMIT туда куда нужно, т.е. в конец текущего подзапроса, а не в конец всего запроса. Я в рег. выражениях не силен, поэтому не знаю, реально ли это сделать. Насчет твоего предложения даже не знаю... Как-то не красиво, но всё же выход из положения.

Объясню почему я боюсь БИ. Был как-то период, когда я сам пытался написать что-то подобное (не помню, существовал ли в то время класс Ивана Берездецкого). Чем глубже я уходил, тем страшнее мне становилось )). В общем не хватило мне усидчивости и ума, чтобы добить это дело до конца (тогда, кстати и SQLite-а не было).


В принципе счас у меня потихоньку зреет идея как разбирать запрос... вполне возможно что реализую, но есть подозрение что от этого быстрее подготовка работать не станет, это точно. Но попробовать можно... в общем тогда пока оставляю как есть, временное решение можно сделать, но только если я не смогу одолеть "постоянное".

Чт касается БИ. То я тоже иногда "пухну" от того как они сделаны. Просто здорово что есть куда подсмотреть. Иначе бы... в общем труба была бы, далее БИОстатки врядли бы быстро забрался.
В принципе счас уже меня не напугаешь. Самое в них сложное - рассчитать грамотно периоды с которых надо брать одну таблицу, а с которых другую. А суть же во многом аналогичная регистрам. Хотя они (регистры) наааааааааааамного проще и в понимании и в использовании.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #175 - 03. Сентября 2009 :: 08:18
Печать  
vandalsvq писал(а) 02. Сентября 2009 :: 19:56:
2 Djelf
Помнится ты писал что хотел прикрутить КОП к Scintilla... можешь поделиться тем что делал?
Хотел написать простенький конструктор в режиме предприятия (а может и не очень простенький) вот и думал может уже что есть Подмигивание

"Чем то" это можно назвать с большой натяжкой  Подмигивание
Код из разных мест надерган поэтому он довольно мутный. Плюс со сцинтиллой разбирался методом тыка...
Доделать до ума и подчистить руки не доходят... Хотя автозамена, автоподстановка, выделение ошибки запроса, трансляция благодаря твоему классу прямой>1sqlite работают.
Требует 1cpp, formex, yoxcel, 1sci, 1sqlite и http://www.script-coding.info/svcsvc.html

P.S. Сцинтилла периодически теряет фокус - я не везде возврат на нее расставил, и копирование по правой кнопке на ней неважно работает - лучше CtrlC/CtrlV.
  

SQLITEQA.zip ( 46 KB | Загрузки )
Наверх
www  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #176 - 03. Сентября 2009 :: 10:53
Печать  
Djelf писал(а) 03. Сентября 2009 :: 08:18:
"Чем то" это можно назвать с большой натяжкой  Подмигивание ...

Красиво и удобно.
Только вот это немного удивило (в процедуре "Сформировать"):
Код
Выбрать все
Если Найти(стрСКЛ,"Выбрать")=1 Тогда // ПрямойЗапрос 


может всё-таки так:
Код
Выбрать все
Если Найти(ВРЕГ(стрСКЛ),"ВЫБРАТЬ ")=1 Тогда // ПрямойЗапрос 


? Тем более "телепат" сам подставляет "ВЫБРАТЬ" в верхнем регистре.

Или вообще сразу все выполнять в ПрямомЗапросе.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #177 - 04. Сентября 2009 :: 06:18
Печать  
JohnyDeath писал(а) 03. Сентября 2009 :: 10:53:
Только вот это немного удивило (в процедуре "Сформировать"):
? Тем более "телепат" сам подставляет "ВЫБРАТЬ" в верхнем регистре.
Или вообще сразу все выполнять в ПрямомЗапросе.

Это ляп с того времени когда "телепат" еще не подставлял слова ПрямогоЗапроса (изначально редактор писался для 1sqlite). Боюсь таких ляпов еще довольно много  Печаль А задумок и недоделок вообще раз в 100 больше чем я когда нибудь сделаю  Смущённый
  
Наверх
www  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #178 - 08. Сентября 2009 :: 19:31
Печать  
В общем после долгого ковыряния ВТ БИОстатки, ВТ БИОборотыДтКт, на пути создания ВТ БИОбороты удалось их оптимизировать и исправить ряд "неприятных" (а порой и критичных) косяков.
В ближайшее время когда доделаю ВТ БИОбороты и выпущу релиз.

Пы.сы. а свет в конце туннеля уже виден.  Класс
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #179 - 09. Сентября 2009 :: 11:55
Печать  
     ТекстЗапроса =
     "SELECT
     |      $Жур.ТекущийДокумент КАК [Док $Документ.ПКО]
     |ИЗ
     |      ЖурналДокументов КАК Жур
     |WHERE
     |    $Жур.ДатаДокумента BETWEEN :НачДата AND :КонДата~
     |      AND
     |      $Жур.Проведен = 1
     |      AND (
     |   $Жур.ВидДокумента = :ВидДокумента.ПКО
     |      OR
     |   $Жур.ВидДокумента = :ВидДокумента.ПКОБанк
     |      OR
     |   $Жур.ВидДокумента = :ВидДокумента.ВозвратнаяНакладная
     |      OR
     |   $Жур.ВидДокумента = :ВидДокумента.РасходнаяНакладная
     |      OR
     |   $Жур.ВидДокумента = :ВидДокумента.АктПремии
     |      )
     |";

Вопрос: |$Жур.ТекущийДокумент КАК [Док $Документ.ПКО]
Если указать КАК [Док $Документ] то результатом запроса возвращается таблица значений с нужным количеством строк, но пустым значением Док, если же указать как указано сейчас, то возвращается полностью нормальная таблица значений. В чем может быть загвостка. или так не работает. Нужно получить список документов ограниченных по типу за период времени.

  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 10 11 [12] 13 14 ... 60
ОтправитьПечать