Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) 1sqlite: периодика и не только (число прочтений - 4665 )
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: 1sqlite: периодика и не только
Ответ #15 - 26. Июля 2010 :: 15:05
Печать  
Eprst писал(а) 26. Июля 2010 :: 14:43:
Вроде нет, это нужно у А.Орефкова поспрошать, в доке вроде тоже не было ничего нового по-поводу нового синтаксиса для подключения системных таблиц.

Подключение системных таблицу можно посмотреть у меня в классе "ПрямойЗапрос", там в парсинге таблиц все видно.
  

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


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: 1sqlite: периодика и не только
Ответ #16 - 26. Июля 2010 :: 17:51
Печать  
Спасибо, люди. Спрашиваем дальше.
Код
Выбрать все
тТхт="SELECT тСпр.id [РесСпр :Справочник.<Спр0>], тСпр.Дата_ as [РесДата :Дата], тСпр.Время_ as РесВремя,
|FROM [Справочник.<Спр0>] as тСпр
|WHERE ismark <> '*' AND parentext = :ВыбСпр
|ORDER BY code DESC LIMIT 3"; 


Полученную ТЗ потом перебираю по строкам и по другим справочникам (их аж 4 штуки) по каждой строке:
Код
Выбрать все
тТхт="SELECT тСпр.id [Спр<i> :Справочник.<Спр-i>], тСпр.Дата_ as [Дата<i> :Дата], тСпр.Время_ as Время<i>, ...
|FROM [Справочник.<Спр-i>] as тСпр
|WHERE ismark <> '*' AND parentext = :ВыбСпр AND code <= '"+тТЗ.РесСпр.Код+"'
|ORDER BY code DESC LIMIT 1"; 


- подгребаю данные в остальные колонки.

а вот как бы это одним запросом выгрести?..
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite: периодика и не только
Ответ #17 - 26. Июля 2010 :: 19:42
Печать  
Eprst писал(а) 26. Июля 2010 :: 14:43:
Вроде нет, это нужно у А.Орефкова поспрошать, в доке вроде тоже не было ничего нового по-поводу нового синтаксиса для подключения системных таблиц.

Цитирую два куска из доки:

Начиная с версии 1.0.2.3 добавлена возможность автоподключения таблиц указанием их имени, как оно описано в создании виртуальных таблиц 1С, заключенным в []



Служебные таблицы 1С, чьи имена начинаются с 1S (кроме 1SJOURN), подключаются, используя имя:
_1С|_1S.ИмяТаблицыБез1С
Пример:
create virtual table ПланСчетов using dbeng(_1С.Accs)
create virtual table Consts using dbeng(_1S.Const)


Логично, что по новому синтаксису можно подключать как
from [_1S.Const] Периодика
  
Наверх
 
IP записан
 
Cthulhu
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 04. Апреля 2010
Re: 1sqlite: периодика и не только
Ответ #18 - 28. Июля 2010 :: 14:19
Печать  
Cthulhu писал(а) 26. Июля 2010 :: 17:51:
Спасибо, люди.  ... а вот как бы это одним запросом выгрести?..

LEFT JOIN <Спр2> ON <Спр1>.code >= <Спр2>.code
- но так все лево-подсоединенные вывалятся, а мне только максимальный не больший надо.

ЗЫ: и ещё. искал не нашёл.
как выдрать список элементов справочника с последними значениями периодического реквизита (и датами их установки), с фильтром на это значение (на конкретное значение, и на непустое значение)?..
« Последняя редакция: 28. Июля 2010 :: 15:30 - Cthulhu »  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать