Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема прямые запросы к ДБФ и списки фильтров (число прочтений - 3384 )
NewIn1C
Junior Member
**
Отсутствует



Сообщений: 35
Зарегистрирован: 27. Декабря 2006
прямые запросы к ДБФ и списки фильтров
05. Февраля 2007 :: 15:04
Печать  
В прямых запросах к SQL базе используем функцию УложитьСписокОбъектов - что дает отбор по списку значений.
А использовать ту же функцию при запросах к БДФ не удается:
ЗапросКБазе.УложитьСписокОбъектов(СписокТО,"#ПарТО");
     ТекстЗапроса="
     |SELECT
     |  Спр.descr as Наименование,
     |  Апт.descr as НаимАптека,      
     |  SUM(НачОст)+SUM(Прих)-SUM(Расх) as КонОст,
     |  SUM(РасхСумма) as Продажа
     |FROM (      
     |SELECT
     |  $РегистрИтоги.Партии.ТипОперации as ТО,
     |  $РегистрИтоги.Партии.Товар as Товар,
     |  $РегистрИтоги.Партии.Аптека as Аптека,
     |  $РегистрИтоги.Партии.Количество as НачОст,
     |  0 as Прих,
     |  0 as Расх,
     |  0 as РасхСумма
     |FROM
     |  $РегистрИтоги.Партии
     |WHERE
     |  (period = :ПредМесяц~~) AND (sp2037 in (SELECT val from #ПарТО)) 

FAILED! ICommandText::Execute(): File '#парто.dbf' does not exist.

Как передать в запрос список?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: прямые запросы к ДБФ и списки фильтров
Ответ #1 - 05. Февраля 2007 :: 15:15
Печать  
Ну хоть для приличия бы поиском воспользовался. http://www.1cpp.ru/forum/YaBB.pl?num=1170403721/5
  
Наверх
 
IP записан
 
NewIn1C
Junior Member
**
Отсутствует



Сообщений: 35
Зарегистрирован: 27. Декабря 2006
Re: прямые запросы к ДБФ и списки фильтров
Ответ #2 - 05. Февраля 2007 :: 15:19
Печать  
Тем не менее спасибо - пойду внимательно читать  Подмигивание
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: прямые запросы к ДБФ и списки фильтров
Ответ #3 - 05. Февраля 2007 :: 15:22
Печать  
Если ничего не получится - используй in (1,2,3)  Подмигивание
Кирилл выкладывал примеры отетов под ДБФ со списками
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
NewIn1C
Junior Member
**
Отсутствует



Сообщений: 35
Зарегистрирован: 27. Декабря 2006
Re: прямые запросы к ДБФ и списки фильтров
Ответ #4 - 05. Февраля 2007 :: 15:40
Печать  
Сначала делаю так:
     ПарТО = "";
     ЗапросКБазе.УложитьСписокОбъектов(СписокТО,ПарТО,""); 

Потом
     |  (period = :ПредМесяц~~) AND (sp2037 in (SELECT val from "+ПарТО+")) 

Работает
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: прямые запросы к ДБФ и списки фильтров
Ответ #5 - 05. Февраля 2007 :: 16:03
Печать  
Цитата:
Если ничего не получится - используй in (1,2,3)  Подмигивание
Кирилл выкладывал примеры отетов под ДБФ со списками

Ну вы даете...
Во-первых, ФАК http://itland.ru/forum//index.php?s=487f79c70379c3ece40f13147e662b13&showtopic=1...
Во-вторых, прямая ссылка на отчет http://itland.ru/forum//index.php?act=Attach&type=post&id=940 (из факушной ветки)
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: прямые запросы к ДБФ и списки фильтров
Ответ #6 - 05. Февраля 2007 :: 16:32
Печать  
spock писал(а) 05. Февраля 2007 :: 16:03:
Ну вы даете...

Лично я как раз эту ссылку всегда и даю  Подмигивание
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: прямые запросы к ДБФ и списки фильтров
Ответ #7 - 08. Февраля 2007 :: 15:28
Печать  
Опишу сегодняшнюю ситуацию с целью "ДАБЫ никто на такие грабли не наступал"

1. Вчера при переходе на 2.5 пересматривал код так или иначе связанный с 1С++

2. В одном из отчетов - вдруг подумалось - "НАДО исправить в строке соединения с базой MODE=ReadWrite на MODE=Read - Зачем подумал я мне в отчете Write"

ГРАБЛИ!!!!

Сегодня при запуске отчета получаю ошибку в методе

КамандаПрямогоЗапроса.УложитьСписокОбъектов(СписокТоваровВSQL, tempTable)

Код
Выбрать все
 "FAILED! ICommandText::Execute(): произошла одна или несколько ошибок 



В данном случае после танцев с бубном и перезагрузке сервера (переустановки драйвера) вычислил что естественно Write в строке подключения необходимо оставлять - так как
метод УложитьСписокОбъектов() записывает в текущем подключении Временную таблицу

ЗЫ Но больше всего меня сейчас веселит Сообщение об ошибке Очень довольный
- Информации то минимум - Одна ошибка или несколько
- какая ошибка и вообще ГДЕ ОНА....

Может это... Сообщение как то по другому сделать



  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: прямые запросы к ДБФ и списки фильтров
Ответ #8 - 09. Февраля 2007 :: 05:05
Печать  
Эту ошибку возвращает сам провайдер.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать