Переключение на Главную Страницу Страницы: 1 ... 46 47 [48] 49 50 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1sqlite (число прочтений - 458865 )
ziflex
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Местоположение: Владивосток
Зарегистрирован: 05. Мая 2011
Пол: Мужской
Re: 1sqlite
Ответ #705 - 02. Февраля 2012 :: 07:17
Печать  
Eprst писал(а) 02. Февраля 2012 :: 07:09:
чорт, это же мой код у тебя в примере..
Новую вк еще не тестил, ща проверю, падает ли с ней, если запрос к базе sqllite или нет
Улыбка

Я этот код c infostart стянул )))

Странно. Вот другой пример запроса. Тут он открывает таблицу, но падает во время выполнения запроса:
Код
Выбрать все
        
	SQLLite = СоздатьОбъект("SQLiteBase");
	SQLLite.Открыть(ИмяБД);
	запросSQLLite = SQLLite.НовыйЗапрос();
	запросSQLLite.ВыполнитьЗапрос("PRAGMA journal_mode=WAL"); //это прописать, ежели база в терминале
	//запросSQLLite.ВыполнитьЗапрос("PRAGMA journal_mode=OFF");

	//Если таблицы нет, то создаем формируя структуру
	//{

	//Таблица "Контрагенты"
	ТекстЗапроса ="
	|Create table if not EXISTS
	|"+табКонт+" (
	|	Code varchar(24) primary key not null,
	|	Descr TEXT,
	|	Agent TEXT,
	|	Route varchar(50),
	|	City varchar(50),
	|	Street varchar(50),
	|	Building varchar(10),
	|	Housing varchar(10),
	|	Comment TEXT,
	|	EditStamp NUMERIC
	|)
	|";

	Попытка
		запросSQLLite.ВыполнитьЗапрос(ТекстЗапроса);
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат 0;
	КонецПопытки;
	//}
	...
 

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite
Ответ #706 - 02. Февраля 2012 :: 07:18
Печать  
Подтверждаю, с новой 1sqlite
любое открытие бд кладет 1с-ину в даун (у меня не падает, просто зависает на долго, т.е навсегда:

 
Код
Выбрать все
ИмяБД = КаталогИБ()+"ExtForms\DB_SQLite\baza.db1";
  база.Открыть(ИмяБД); 



вот такой простой код валит всё с новой вк, причем не важно, есть ли бд на диске, или её еще нет
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #707 - 03. Февраля 2012 :: 04:28
Печать  
Исправил.
Брать здесь
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #708 - 03. Февраля 2012 :: 11:02
Печать  
Вот наконец-то пытаюсь уйти от старой шестой студии 98 года, и пересобрать библиотеку современными средствами, в Visual Studio 2008. Размером получается чуть меньше, работает чуть пошустрее.
Кому охота, может затестить.
http://snegopat.ru/downloads/1sqlite/1sqlite_1026_2008.zip
  
Наверх
 
IP записан
 
sashas09
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: 1sqlite
Ответ #709 - 05. Февраля 2012 :: 22:19
Печать  
orefkov писал(а) 03. Февраля 2012 :: 11:02:
Вот наконец-то пытаюсь уйти от старой шестой студии 98 года, и пересобрать библиотеку современными средствами, в Visual Studio 2008. Размером получается чуть меньше, работает чуть пошустрее.
Кому охота, может затестить.
http://snegopat.ru/downloads/1sqlite/1sqlite_1026_2008.zip


1sqlite_1026_2008.zip - запуск в терминале 2003

Неудачная попытка создания объекта
База=СоздатьОбъект("SQLiteBase");

1sqlite_1026 - вроде ок


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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite
Ответ #710 - 12. Марта 2012 :: 12:23
Печать  
Такая же фигня... не работает Печаль
  
Наверх
 
IP записан
 
Grey77
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 22. Мая 2012
Re: 1sqlite
Ответ #711 - 22. Мая 2012 :: 20:24
Печать  
Доброй ночи. Подскажите пожалуйста как правильно сделать запрос в 1sqlite на примере стандартной ТИС . Необходимо выбрать документы реализации за определенный период времени по 2м условиям: контрагент в документе и товар. Я новичок в этом деле. Ничего не получается.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: 1sqlite
Ответ #712 - 22. Мая 2012 :: 22:25
Печать  
Grey77 писал(а) 22. Мая 2012 :: 20:24:
...Необходимо выбрать документы реализации за определенный период времени по 2м условиям: контрагент в документе и товар. Я новичок в этом деле. Ничего не получается.

По контрагенту и товару есть графа отбора?
  
Наверх
 
IP записан
 
Grey77
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 22. Мая 2012
Re: 1sqlite
Ответ #713 - 23. Мая 2012 :: 03:27
Печать  
по контрагенту графа отбора, а по товару список значений
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: 1sqlite
Ответ #714 - 23. Мая 2012 :: 21:35
Печать  
Не понял что значит
Grey77 писал(а) 23. Мая 2012 :: 03:27:
... а по товару список значений
?
Да и какие виды документов?
  
Наверх
 
IP записан
 
Grey77
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 22. Мая 2012
Re: 1sqlite
Ответ #715 - 24. Мая 2012 :: 16:29
Печать  
Возможно я как-то неправильно формулирую свои мысли. Тогда можно представленный ниже запрос перевести в формат 1sqlite?
ТекстЗапроса = "
|SELECT
|      $ДокР.Номенклатура as [Номенклатура $Справочник.Номенклатура],
|      SUM($ДокР.Количество) as Количество
|FROM
|      $ДокументСтроки.Реализация as ДокР
|INNER JOIN
|      $Документ.Реализация as Док ON Док.IDDoc = ДокР.IDDoc
|                                  AND $Док.Контрагент = :ВыбПоставщик  AND $ДокР.Номенклатура = :ВыбТовар
|INNER JOIN
|      1SJourn as Жур ON Жур.IDDoc = ДокР.IDDoc
|WHERE                 Жур.Date BETWEEN :НачДата~~ AND :КонДата~~ AND
|                         Жур.Closed = 1
|GROUP BY
|      $ДокР.Номенклатура";
Запрос.УстановитьТекстовыйПараметр("НачДата", НачДата);
Запрос.УстановитьТекстовыйПараметр("КонДата", КонДата-1);
Запрос.УстановитьТекстовыйПараметр("ВыбПоставщик", ВыбПоставщик);
Запрос.УстановитьТекстовыйПараметр("ВыбТовар", ВыбТовар);

ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
ТЗ.ВыбратьСтроку();

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


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: 1sqlite
Ответ #716 - 24. Мая 2012 :: 20:48
Печать  
Что-то типа такого:

     ТекстЗапроса = "
     |SELECT
     |      ДокР.Номенклатура as [Номенклатура $Справочник.Номенклатура],
     |      SUM(ДокР.Количество) as Количество
     |FROM
     |      ДокументСтроки_Реализация as ДокР
     |INNER JOIN
     |      Документ_Реализация as Док ON Док.IDDoc = ДокР.IDDoc
     |                                  AND Док.Контрагент = :ВыбПоставщик  AND ДокР.Номенклатура = :ВыбТовар
     |INNER JOIN
     |      Журнал as Жур ON Жур.IDDoc = ДокР.IDDoc
     |WHERE                 Жур.Date BETWEEN :НачДата AND :КонДата AND
     |                         Жур.Closed = 1
     |GROUP BY
     |      ДокР.Номенклатура";
     
     БазаДанных = СоздатьОбъект("SQLiteBase");
     БазаДанных.Открыть(":memory:");
     Запрос = БазаДанных.НовыйЗапрос();
     Запрос.Подставлять("НачДата", НачДата);
     Запрос.Подставлять("КонДата", КонДата);
     Запрос.Подставлять("ВыбПоставщик", ВыбПоставщик);
     Запрос.Подставлять("ВыбТовар", ВыбТовар);
     ит = СоздатьОбъект("ИндексированнаяТаблица");
     ит = запрос.ВыполнитьЗапрос(ТекстЗапроса,ит);
     ит.ВыбратьСтроку();      
  
Наверх
 
IP записан
 
Grey77
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 22. Мая 2012
Re: 1sqlite
Ответ #717 - 26. Мая 2012 :: 06:14
Печать  
Спасибо огромное. Все работает
  
Наверх
 
IP записан
 
Grey77
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 22. Мая 2012
Re: 1sqlite
Ответ #718 - 30. Мая 2012 :: 17:57
Печать  
zk96 писал(а) 24. Мая 2012 :: 20:48:
Что-то типа такого:

     ТекстЗапроса = "
     |SELECT
     |      ДокР.Номенклатура as [Номенклатура $Справочник.Номенклатура],
     |      SUM(ДокР.Количество) as Количество
     |FROM
     |      ДокументСтроки_Реализация as ДокР
     |INNER JOIN
     |      Документ_Реализация as Док ON Док.IDDoc = ДокР.IDDoc
     |                                  AND Док.Контрагент = :ВыбПоставщик  AND ДокР.Номенклатура = :ВыбТовар
     |INNER JOIN
     |      Журнал as Жур ON Жур.IDDoc = ДокР.IDDoc
     |WHERE                 Жур.Date BETWEEN :НачДата AND :КонДата AND
     |                         Жур.Closed = 1
     |GROUP BY
     |      ДокР.Номенклатура";
     
     БазаДанных = СоздатьОбъект("SQLiteBase");
     БазаДанных.Открыть(":memory:");
     Запрос = БазаДанных.НовыйЗапрос();
     Запрос.Подставлять("НачДата", НачДата);
     Запрос.Подставлять("КонДата", КонДата);
     Запрос.Подставлять("ВыбПоставщик", ВыбПоставщик);
     Запрос.Подставлять("ВыбТовар", ВыбТовар);
     ит = СоздатьОбъект("ИндексированнаяТаблица");
     ит = запрос.ВыполнитьЗапрос(ТекстЗапроса,ит);
     ит.ВыбратьСтроку();      


Подскажите еще плиз. Как в этом запросе поставить еще фильтрацию по фирме. Фирма является общим реквизитом для документов. Галка отбор не установлена. Заранее благодарен.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite
Ответ #719 - 04. Июня 2012 :: 08:36
Печать  
where Док.Фирма = ....
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 46 47 [48] 49 50 ... 79
ОтправитьПечать