Переключение на Главную Страницу Страницы: 1 ... 12 13 [14] 15 16 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1sqlite (число прочтений - 480225 )
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #195 - 03. Июля 2008 :: 05:04
Печать  
orefkov писал(а) 02. Июля 2008 :: 19:45:
...
А может, просто прикручу стандартные локальные олап-кубики, с OWC.

Мне кажется, что так и надо сделать. Вертелка кубов от OWC очень удобна, а тратить силы на свой вьюер.... нет, лучше здесь ещё что-нибудь полезненькое наваять.  Подмигивание
В общем у Орефкова нарисовался ещё один шедевр!  Очень довольный Спасибо!
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #196 - 03. Июля 2008 :: 05:50
Печать  
orefkov писал(а) 02. Июля 2008 :: 19:30:
Как это нет - это специальное "виртуальное" поле индекса - как раз для обеспечения возможности попадать в индексы по составным полям. 1С  в sql-версии не зря ведь поля date, time, iddoc объединила в одно поле.
Конечно, если бы в sql версии это были отдельные поля, то для попадания в индекс пришлось бы писать

date > ... or (date=... and time >...) or (date=... and time=... and iddoc >...)

MSSQL это бы понял, а вот SQLite - никоим образом не поймет.

1. А как посмотреть эти виртуальные поля индекса для конкретной таблицы? Или можно быть уверенным, что, если в родной таблице есть индекс, то и существует такое виртуальное поле индекса с именем = idx_Тут_Через_Нижнее_Подчёркивание_Все_Поля_Входящие_В_Индекс ?
2. Можно ли как-то самому создавать такие поля? (или это бред, т.к. необходимо наличие физического индекса таблицы?)
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1sqlite
Ответ #197 - 03. Июля 2008 :: 07:43
Печать  
artbear писал(а) 03. Июля 2008 :: 03:16:
kms писал(а) 02. Июля 2008 :: 21:53:
orefkov

Саня, а не стоит ли добавить еще и интерфейс для обратной перегонки из ИТ в таблицу SQLite (УложитьТЗ)?
Полезно было бы.

+1

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

De quelle planète es-tu?
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #198 - 03. Июля 2008 :: 07:49
Печать  
JohnyDeath писал(а) 03. Июля 2008 :: 05:50:
orefkov писал(а) 02. Июля 2008 :: 19:30:
Как это нет - это специальное "виртуальное" поле индекса - как раз для обеспечения возможности попадать в индексы по составным полям. 1С  в sql-версии не зря ведь поля date, time, iddoc объединила в одно поле.
Конечно, если бы в sql версии это были отдельные поля, то для попадания в индекс пришлось бы писать

date > ... or (date=... and time >...) or (date=... and time=... and iddoc >...)

MSSQL это бы понял, а вот SQLite - никоим образом не поймет.

1. А как посмотреть эти виртуальные поля индекса для конкретной таблицы? Или можно быть уверенным, что, если в родной таблице есть индекс, то и существует такое виртуальное поле индекса с именем = idx_Тут_Через_Нижнее_Подчёркивание_Все_Поля_Входящие_В_Индекс ?
2. Можно ли как-то самому создавать такие поля? (или это бред, т.к. необходимо наличие физического индекса таблицы?)

1. Об этом так и написано в документации к компоненте.
Раздел "Отображение ДБФ-таблиц 1С в базу данных SQLite"

Также модуль dbeng при отображении таблиц создает в структуре подключаемой таблицы "виртуальные" поля индексов - это поле, которое для движка SQLite выглядит обычным полем, но данные, возвращаемые модулем dbeng для этого поля - есть ключ индекса текущей записи, с добавлением номера записи. Основных назначений таких полей два - использование как уникального ключа записи для использовании в ТабличномПоле 1С++, и оптимизация указания границ по составным полям. Имя таких полей формируется как:

idx_Поле1_Поле2_Итд

то есть префикс "idx", за которым через символы "_" перечислены названия поля, входящих в индекс.


2. Это поля, отображающие индексы таблицы. Создай индекс - и поле появится. Индекс можно создать, написав его в 1cv.dd, удалить cdx, зайти монопольно. Правда при штатной реструктуризации базы 1С такой индекс скорее всего прибьет, то бишь надо его каждый раз добавлять. Но помнится, для опенконфа был подобный скрипт.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #199 - 03. Июля 2008 :: 07:53
Печать  
Смущённый ндааа, чё-т недоглядел... извиняюсь.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #200 - 03. Июля 2008 :: 07:59
Печать  
kms писал(а) 03. Июля 2008 :: 07:43:
kms писал(а) 02. Июля 2008 :: 21:53:
orefkov
Саня, а не стоит ли добавить еще и интерфейс для обратной перегонки из ИТ в таблицу SQLite (УложитьТЗ)?

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


ИМХО нужно выделить отдельный подконтекст от SQLiteQuery, видимый из 1С, который умеет укладывать данные в таблицы SQLite
А уж ИТЗ будет в него загружать данные.
т.е. код типа
Код
Выбрать все
ОбъектУкладки = SQLiteQuery.ПолучитьОбъектУкладки(НаборПараметровНастройкиУкладки...);
ИТЗ.Выгрузить(ОбъектУкладки, Индекс и т.д.); 



Или наоборот - выделить отдельный подконтекст от ИТЗ
Код
Выбрать все
ОбъектУкладки = ИТЗ.ПолучитьОбъектУкладки(НаборПараметровНастройкиУкладки...);
SQLiteQuery.УложитьТЗ(ОбъектУкладки...); 



В обоих случаях для сторонних ВК будет описан только интерфейс загрузки, который и должен реализовать ОбъектУкладки.
Объем работы в обоих случаях примерно одинаковый Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1sqlite
Ответ #201 - 03. Июля 2008 :: 08:44
Печать  
artbear писал(а) 03. Июля 2008 :: 07:59:
В обоих случаях для сторонних ВК будет описан только интерфейс загрузки, который и должен реализовать ОбъектУкладки.
Объем работы в обоих случаях примерно одинаковый Улыбка

Ну, в общем, да.
Можно поделить палку-о-двух концах на две обычных. Улыбка
В принципе, "ПараметрыДляПриемника" тоже хорошо, но мне почему-то сложнее для восприятия, чем прокси-объекты.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #202 - 03. Июля 2008 :: 10:24
Печать  
Вот кстати неплохая ссылка http://sb-news.net/sqlite.php SQLite по-русски
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #203 - 03. Июля 2008 :: 10:25
Печать  
kms, поделив палку о двух концах на две, получишь две палки о двух концах Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1sqlite
Ответ #204 - 04. Июля 2008 :: 10:03
Печать  
orefkov писал(а) 03. Июля 2008 :: 10:25:
kms, поделив палку о двух концах на две, получишь две палки о двух концах Улыбка

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

Я просто хотел сказать, что и с ПараметрамиДляПриемника может случиться то же самое.
Сегодня при передаче в ИТ мы хотим передать строку - указание для группировки.
Завтра появится плоская группировка ИТ - мы будем менять формат этой строки?

При этом версия ИТ может быть не готова принять такую строку в новом формате.
С прокси-объектами все это обработать проще.
Ну, по крайней мере - мне так кажется, на данный момент. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #205 - 04. Июля 2008 :: 11:45
Печать  
kms писал(а) 04. Июля 2008 :: 10:03:
orefkov писал(а) 03. Июля 2008 :: 10:25:
kms, поделив палку о двух концах на две, получишь две палки о двух концах Улыбка

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

Я просто хотел сказать, что и с ПараметрамиДляПриемника может случиться то же самое.
Сегодня при передаче в ИТ мы хотим передать строку - указание для группировки.
Завтра появится плоская группировка ИТ - мы будем менять формат этой строки?

При этом версия ИТ может быть не готова принять такую строку в новом формате.
С прокси-объектами все это обработать проще.
Ну, по крайней мере - мне так кажется, на данный момент. Улыбка


Ну, кто мешает в ПараметрыДляПриемника передать не строку, а еще какой-либо объект?
Кто мешает в Приемник передать не ИТ, а ПроксиОбъект, которому установили принимающую ИТ и способ приемки?
Моей компоненте по-барабану же, лишь бы Приемник кастился в ISQLiteResultLoader.
Аналогично будет и для загрузки чего угодно в таблицу SQLite.
Просто я пока думаю над интерфейсом, какимнить ITableDataSource.
И потом никто не запретит в 1С++ не реализовывать ISQLiteResultLoader непосредственно в ИТ, а например написать объект, реализующий как ISQLiteResultLoader, так и ITableDataSource, отвечающий за загрузку в/выгрузку из ИТ. Как захотите, так и сделаете.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #206 - 04. Июля 2008 :: 11:51
Печать  
Да, и кстати. Что-то никто не просит подключать таблицы журналов расчета.
Никому не нужно?
Или сделать для полноты картины? Я просто их структуру совершенно не знаю.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #207 - 07. Июля 2008 :: 04:28
Печать  
orefkov писал(а) 04. Июля 2008 :: 11:45:
kms писал(а) 04. Июля 2008 :: 10:03:
Я просто хотел сказать, что и с ПараметрамиДляПриемника может случиться то же самое.
Сегодня при передаче в ИТ мы хотим передать строку - указание для группировки.
Завтра появится плоская группировка ИТ - мы будем менять формат этой строки?


Ну, кто мешает в ПараметрыДляПриемника передать не строку, а еще какой-либо объект?
Кто мешает в Приемник передать не ИТ, а ПроксиОбъект, которому установили принимающую ИТ и способ приемки?

Ага, я как раз и подразумевал, что в ПараметрыДляПриемника может быть все, что угодно Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite
Ответ #208 - 07. Июля 2008 :: 04:28
Печать  
orefkov писал(а) 04. Июля 2008 :: 11:51:
Да, и кстати. Что-то никто не просит подключать таблицы журналов расчета.

Конечно, нужно.
Зарплата на больших базах также подтормаживает Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: 1sqlite
Ответ #209 - 07. Июля 2008 :: 05:15
Печать  
artbear писал(а) 07. Июля 2008 :: 04:28:
orefkov писал(а) 04. Июля 2008 :: 11:51:
Да, и кстати. Что-то никто не просит подключать таблицы журналов расчета.

Конечно, нужно.
Зарплата на больших базах также подтормаживает Улыбка

Да и на маленьких она не шибко быстро работает Подмигивание
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 12 13 [14] 15 16 ... 79
ОтправитьПечать