Переключение на Главную Страницу Страницы: 1 ... 37 38 [39] 40 41 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1sqlite (число прочтений - 478263 )
andrmit
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 23. Августа 2010
Re: 1sqlite
Ответ #570 - 24. Августа 2010 :: 06:23
Печать  
Вот же задал вопрос... форум подвис... Очень довольный
  
Наверх
 
IP записан
 
Aleksey
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 46
Зарегистрирован: 12. Марта 2009
PRAGMA journal_mode = WAL или OFF
Ответ #571 - 28. Августа 2010 :: 06:13
Печать  
PRAGMA journal_mode = WAL или OFF
     
Для внешней SQLite базы понятно. А если запрос выполняется к таблицам 1С?
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: PRAGMA journal_mode = WAL или OFF
Ответ #572 - 30. Августа 2010 :: 19:36
Печать  
Aleksey писал(а) 28. Августа 2010 :: 06:13:
PRAGMA journal_mode = WAL или OFF
     
Для внешней SQLite базы понятно. А если запрос выполняется к таблицам 1С?

Тогда фиолетово.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #573 - 07. Октября 2010 :: 07:03
Печать  
Никто на вскидку не подскажет - как извлечь значение периодического реквизита типа "Строка"?

Так понимаю - храниться в виде нескольких записей, вот как бы это в рамках одного запроса в одну строку склеить, что то не соображу..
  
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #574 - 07. Октября 2010 :: 10:00
Печать  
Например, так (синтаксис для OLEDB, но принцип тот же)
Код
Выбрать все
SELECT c1.Value + c2.Value + c3.Value + c4.Value
FROM
(SELECT value
 FROM 1SCONST
WHERE objid = '     0   ' AND id = ' 9PS' AND partno = 0) AS c1,
(SELECT value
FROM 1SCONST
WHERE objid = '     0   ' AND id = ' 9PS' AND partno = 1) AS c2,
(SELECT value
 FROM 1SCONST
WHERE objid = '     0   ' AND id = ' 9PS' AND partno = 2) AS c3,
(SELECT value
FROM 1SCONST
WHERE objid = '     0   ' AND id = ' 9PS' AND partno = 3) AS c4

 

  

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #575 - 07. Октября 2010 :: 13:03
Печать  
Улыбкатакой вариант мне в голову приходил, думал может тут что похитрее можно придумать..
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite
Ответ #576 - 08. Октября 2010 :: 05:25
Печать  
На кубани была длиииинная ветка про блоб.
Там всё через left join
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #577 - 08. Октября 2010 :: 05:33
Печать  
Ну это вроде как не блоб, строка лежит в поле value таблицы 1sconst, порезанная на несколько частей..
Но принцип видимо такой же..
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite
Ответ #578 - 08. Октября 2010 :: 05:36
Печать  
Да без разницы, в блобе такие строки хранятся аналогично..
Просто кубань лежит, так бы кинул ссылку, там была куча вариантов, и через хранимки и так..
+ замеры производительности.
В общем, народ искал самый быстрый алгоритм.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite
Ответ #579 - 08. Октября 2010 :: 06:05
Печать  
На вот, нашел ветку, там даже не блоб, а всё же 1сконст был Улыбка

http://forums.kuban.ru/forum/viewtopic_new.php?t=2676470&page=1#15568907
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #580 - 08. Октября 2010 :: 06:37
Печать  
спасиб, ща гляну  Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #581 - 08. Октября 2010 :: 06:40
Печать  
вот же блин, полез добавить ссылку в закладки, а она у меня уже есть..
как я проглядел.. Улыбка
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #582 - 13. Октября 2010 :: 20:37
Печать  
CaBaT писал(а) 07. Октября 2010 :: 07:03:
Никто на вскидку не подскажет - как извлечь значение периодического реквизита типа "Строка"?

Так понимаю - храниться в виде нескольких записей, вот как бы это в рамках одного запроса в одну строку склеить, что то не соображу..


Из моего ответа vandalsvg в личку на такой же вопрос:
Цитата:
Вот, ща для теста создал строковую периодическую константу (40 симвоов), запросом получается так:
Код
Выбрать все
select group_concat(C.value, '') from
(select date, time, docid from [_1S.Const] where objid='     0   ' and id = '   Q' and date <= '20100719' order by date desc limit 1) aa inner join [_1S.Const] C
on (C.date = aa.date and C.time=aa.time and C.docid=aa.docid and C.ID='   Q'
and C.OBJID = '     0   ')
order by C.partno 


В индексы попадает великолепно, строку получает.

  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #583 - 14. Октября 2010 :: 05:28
Печать  
Спасибо, ща буду пробовать Улыбка
..
Супер, все работает, да еще и довольно быстро!!
Закинул себе в FAQ.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #584 - 03. Ноября 2010 :: 09:22
Печать  
Который раз сталкиваюсь с такой проблемой: при получении реквизита типа "Дата" с типизацией "Дата" в случае, если он пустой, неправильно работает метод "ПустоеЗначение".
При этом визуально значение вроде как правильное.
Вот что у меня под отладчиком получается:

Код
Выбрать все
_Опись.Вложен = '  .  .    '
ПолучитьПустоеЗначение("Дата") = '  .  .    '
ПустоеЗначение(ПолучитьПустоеЗначение("Дата")) = 1
ПустоеЗначение(_Опись.Вложен) = 0
ТипЗначенияСтр(_Опись.Вложен) = "Дата"
ТипЗначенияСтр(ПолучитьПустоеЗначение("Дата")) = "Дата" 


здесь _Опись.Вложен - это результат выборки из справочника реквизита типа "Дата"

Вроде бы значения одинаковые, а "ПустоеЗначение" выдает разный результат..
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 37 38 [39] 40 41 ... 79
ОтправитьПечать