|
v7: Запросы UPDATE и INSERT не реализованы. | ☑ | ||
---|---|---|---|---|
0
Volodja
24.02.23
✎
14:41
|
Как-то встречал, что SQLite поддерживает прямую запись в таблицы 1С 7.7
У меня при попытке выпонить запрос UPDATE [Справочник.Точки] SET [Префикс] = 'ZZ' WHERE [Префикс] = 'AB' выходит сообщение "Запросы UPDATE и INSERT не реализованы." У меня SQLite: версия продукта 1.0.2.6/3.36.0.25 Djelf |
|||
1
Volodja
24.02.23
✎
14:47
|
Запрос
Select sqlite_version() Выдает 3.36.0 |
|||
2
Злопчинский
24.02.23
✎
15:01
|
и что?
|
|||
3
Volodja
24.02.23
✎
15:03
|
(2) ну, собственно сществует ли другая 1sqlite? которая умеет их выполнять?
|
|||
4
МихаилМ
24.02.23
✎
15:05
|
||||
5
Volodja
24.02.23
✎
15:08
|
(4)Блин, ссылки уже не актуальные.
|
|||
6
МихаилМ
24.02.23
✎
15:13
|
(5) ссылки мной проверены. рабочие
|
|||
7
Volodja
24.02.23
✎
15:20
|
(6) Меня сюда не пускает http://catalog.mista.ru/public/559826/
|
|||
8
Chai Nic
24.02.23
✎
15:39
|
ODBCRecordSet из 1с++
Но там слегка другой синтаксис использования метаданных. |
|||
9
Djelf
24.02.23
✎
15:58
|
(0) DELETE я добавил, это было довольно просто, движок 1С это отрабатывает быстро.
Он работает немного странно - после этого подглючивают уже открытые таблицы, где это сработало. Причину не нашел. Но чтобы сделать UPDATE и INSERT нужна объектная модель записи т.к. 1sqlite работает изнутри 1С. Т.е. нужно сначала имитировать ПолучитьОбъект, потом заменить поля, потом записать. А раз так, то и профита по скорости почти не должно быть. |
|||
10
Злопчинский
24.02.23
✎
16:10
|
(9) а ты 1SQlite пересобираешь с выходом очередных версий оригинальной SQLite?
|
|||
11
Djelf
24.02.23
✎
16:12
|
(10) Только когда мне это кажется интересным и безопасным.
https://www.1cpp.ru/forum/YaBB.pl?num=1214205575/1070#1070 https://cloud.mail.ru/public/9znr/ZJ6ULE9aR |
|||
12
Volodja
24.02.23
✎
16:50
|
(11) подскажите тогда в 1sqlite, insert into
есть ваше сообщение (8) где вы пишите, что вставка реализована в движке 3.7.11 ? |
|||
13
Djelf
24.02.23
✎
17:06
|
(12) Не путай движок sqlite и ВК 1sqlite.
Первый работает со сторонними базами sqlite напрямую и умеет это делать с базами формата sqlite. 1sqlite тоже так умеет работать с базами формата sqlite, но не с базой формата 1С! А вот с 1С, 1sqlite работает через прокладку внутри движка 1С и несколько ограничен этим движком на запись и обновление таблиц. |
|||
14
Volodja
24.02.23
✎
17:11
|
(13) Ссылка там не открывается, поэтому подумалось, что есть уже и 1sqlite которая писать в таблицу умеет.
Значит 1sqlite этого не умеет. Вопрос тогда закрыт. Спасибо. |
|||
15
Злопчинский
24.02.23
✎
18:50
|
(14) ну, например если делать апдейт скулайтом - то надо модифицировать verstamp, скулайт об этом ничего не знает.
или генерить внутренний ид при инсерте - откуда скулайт знает правила генерации наверное так вот думаю... |
|||
16
Злопчинский
24.02.23
✎
19:11
|
(11) похоже на облаке поименовал неправильно
вместо 3.41.0.26 лежит 3.40.1.26 |
|||
17
Djelf
25.02.23
✎
14:12
|
(16) Действительно, я очепятался на 1с++, но в облаке лежит правильная версия.
(15) Так то оно так, но, насколько помню, Орефков делал 1sqlite на собственных исследованиях. С оглядкой вот на эту разработку https://okolokompa.com/katalog/programmistam/1s-predprijatie-7/otchjoty-i-obrabotki-1s-7-7/biblioteka-funkcij-dlja-raboty-s-bazam/ Т.е. алгоритм изменения/добавления данных известен, но при использовании внутри клюшек он будет не эффективен. Снаружи, из сторонних сред программирования, выбора особенно и нет. Разве что OLE, но это очень медленно. Я оцениваю увеличение скорости работы, при реализации, всего раза в половину-два, по сравнению с выгрузкой запроса в тз/итз и дальнейшим перебором и записью. Однако, появилась бы возможность проводить данные по регистрам не на дату документа, а на произвольную и т.п. и т.д. Это было бы интересно, если бы я на клюшкам стал имитировать снеговик, но такой цели у меня нет. |
|||
18
trdm
25.02.23
✎
20:55
|
столько усилий, могли бы уже свою 1С написать...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |