Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) а кто-нить пример покажет SQLite+регистры на ДБФ? (число прочтений - 15545 )
sashas09
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #30 - 25. Сентября 2008 :: 16:52
Печать  
Дык еще надо бы в ВТОстатки

предусмотреть что-то типа

SELECT
рег.Измерение1 [типизация],
....
рег.Ресурс1 [типизация],
...
рег.РесурсХ [типизация]

FROM
$РегистрОстатки. .....

WHERE
NOT (
          (Round(рег.Ресурс1,ТочностьРесурса1)!=0)AND
          ....
          (Round(рег.РесурсХ,ТочностьРесурса1)!=0)
        )
  
Наверх
ICQ  
IP записан
 
sashas09
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #31 - 25. Сентября 2008 :: 16:54
Печать  
Ашипка в предложении
вместо != должно быть =
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #32 - 08. Декабря 2008 :: 11:54
Печать  
По просьбе. Немного доделанный класс 1sqliteVT. Реализовано ВТ Остатки, Обороты.
ОстаткиИОбороты - не реализованы, времени нет, да и мне пока не надо.
На ВТ Обороты посмотрите внимательнее. Делал относительно давно, поэтому точно не помню всё ли там нормально. Если найдёте какой-нить косяк - рад буду подправить.
  

1sqliteVT.rar ( 21 KB | Загрузки )
Наверх
 
IP записан
 
sashas09
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #33 - 08. Декабря 2008 :: 14:52
Печать  
а есче вапрос - как бы прикрутить заодно Round из 30 поста?

в этой версии его нет
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #34 - 08. Декабря 2008 :: 15:03
Печать  
А, ну да, надо. Сделаем. У меня просто все ресурсы целочисленные.
  
Наверх
 
IP записан
 
sashas09
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Местоположение: Киев
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #35 - 08. Декабря 2008 :: 15:40
Печать  
как целочисленные - даже во взаиморасчетах?
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на ДБФ?
Ответ #36 - 08. Декабря 2008 :: 17:22
Печать  
А я разве говорил, что у меня торговля?  Подмигивание
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: а кто-нить пример покажет SQLite+регистры на Д
Ответ #37 - 05. Февраля 2009 :: 17:51
Печать  
сегодня наступил ровно на такие же грабли:

Thor писал(а) 25. Июля 2008 :: 09:23:
Предварительные результаты.
1. Объект тестирования - значения периодического реквизита "Курс" всех элементов справочника "Валюты". В справочнике 5 валют, одна из них - национальная (на тест не повлияла), из остальных четырех по одной (Евро) курс имеется на каждый рабочий день в течение 4 лет, по остальным заполнение от 1 до 10 значений в месяц.
2. Тесты Было выполнено 3 теста, результат сравнивался с образцом - ТекЭлемент.Курс.Получить(ТекДата). Тесты различаются условиями отбора по дате периодического значения -
1.
Код
Выбрать все
WHERE objid=спр.id AND id='   E' AND date<= '"+ДатаСтр+"' 


2.
Код
Выбрать все
WHERE objid=спр.id AND id='   E' AND (date< '"+ДатаСтр+"' OR date= '"+ДатаСтр+"')  


3.
Код
Выбрать все
WHERE idx_ID_OBJID_DATE_TIME_DOCID_PARTNO <
	|('   E' || спр.id || '"+ДатаСтр+"Я') 


3. Результаты теста.
Сражу скажу, что второй тест выдал полное совпадение по всей выборке (отдельный респект Chieftain  Подмигивание)
Первый тест выдавал расхождения на датах, у которых день заказчивался на 9 - 9, 19 и 29 числа месяца. Причем влияет только число - 9-ка в месяце (сентябрь) не добавила расхождений.
Третий тест выдал расхождения по всем валютам, кроме национальной и Евро, причем возвращались значения, относящиеся к курсам других валют  Озадачен. Скорей всего причина в том, что в 3-м тесте ключ сравнения составной, т.е. выполнение условия происходит на значениях валюты с меньшим внутренним идентификатором (национальная валюта и евро имеют наименьшие идентификаторы).


моя ситуация:
1. есть справочник "Номенклатура", у него периодический реквизит "НоваяЦена", изменяется только документами.
2. для одного элемента в таблице 1sconst есть только одна запись для указанного периодического реквизита с датой 08.04.2008
3. получаю значение реквизита запросом вида
Код
Выбрать все
select value
from __1s_const as Конст
where date <= :ДатаЗначения
and id = :ПоследнееЗначение.Номенклатура.НоваяЦена
and objid = :Элемент
order by date desc
limit 1 



при Дата:
1. 08.04.09 все правильно
2. 09.04.09 запрос пустой
3. 10.04.09 и далее все правильно

если заменить запрос, как указано выше, то все в порядке:
Код
Выбрать все
select value
from __1s_const as Конст
where (date < :ДатаЗначения or date = :ДатаЗначения)
and id = :ПоследнееЗначение.Номенклатура.НоваяЦена
and objid = :Элемент
order by date desc
limit 1 



чудеса, да и только... Улыбка

пока есть только одна зацепка: недавно упаковывал таблицу констант старой досовской утилиткой dbed, но вроде раньше с ней проблем не было.
есть мысль попробовать нарисовать тест, вдруг Саша Орефков сюда заглянет Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать