Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Задвоение строк в запросе 1sqlite.dll (число прочтений - 2044 )
fantom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 10. Июня 2008
Задвоение строк в запросе 1sqlite.dll
12. Декабря 2011 :: 09:03
Печать  
Сделал запрос
база = СоздатьОбъект("SQLiteBase");
     база.Открыть(":memory:");
     Состояние("Выполнение запроса...");
     запрос = база.НовыйЗапрос();
     ТексЗапроса ="
     |select
     |  Филиал         [Филиал  $Справочник.Филиалы]
     |, СтатьяИздержек [СтатьяИздержек $Справочник.СтатьиИздержек]
     |, Период
     |, ДокументРегистратор [ДокументРегистратор $Документ]
     |, Сумма
     |from РегистрИтоги_ИсполнениеБюджета Итоги
     |where Период between :НачДата AND :КонДата
     |";
     Если ПустаяСтрока(текФилиал) = 0 Тогда
           ТексЗапроса = ТексЗапроса + "where Филиал =:текФилиал";
     КонецЕсли;
     Запрос.Подставлять("НачДата",   НачДата);
     Запрос.Подставлять("КонДата",   КонДата);
     Запрос.Подставлять("текФилиал", текФилиал);
     тзЗапрос = запрос.ВыполнитьЗапрос(ТексЗапроса);
Если запрос выполняется с условиями, то в тзЗапрос строки задваиваются, если без условий, то нет. Подскажите в чем может быть проблема?
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #1 - 12. Декабря 2011 :: 09:19
Печать  
Сам то понял, что два WHERE в запросе не бывают?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #2 - 12. Декабря 2011 :: 09:21
Печать  
Помимо where, запрос вообще бредовый, в части использования таблички ИТОГОВ регистра и использования BETWEEN для условия на период.

Всё в топку.
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #3 - 12. Декабря 2011 :: 09:23
Печать  
У 1sqlite есть один косяк: он делает вид, что выполняет даже неправильный запрос, который возвращает муру, но без генерации ошибок...
Правильные запросы работают правильно ... а неправильные .... тоже работают, но как повезет Улыбка
  
Наверх
 
IP записан
 
fantom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 10. Июня 2008
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #4 - 12. Декабря 2011 :: 09:37
Печать  
я в запросе ставил комментарии ставил и поэтому так получилось, суть-то не этом
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #5 - 12. Декабря 2011 :: 09:43
Печать  
Суть в том, что ты не до конца понимаешь, что хранится в табличке ИТОГОВ регистра.
Там, если че - промежуточные итоги на начало периодичности хранения останков.

Оно тебе точно надо, запрос к этой табличке ?
  
Наверх
 
IP записан
 
fantom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 10. Июня 2008
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #6 - 12. Декабря 2011 :: 10:28
Печать  
нет не надо
  
Наверх
 
IP записан
 
fantom
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 10. Июня 2008
Re: Задвоение строк в запросе 1sqlite.dll
Ответ #7 - 12. Декабря 2011 :: 10:45
Печать  
спасибо Eprst, что ткнули в правильном направлении
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать