Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Перешл с SQL на DBF как быть с запросом (число прочтений - 9395 )
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Перешл с SQL на DBF как быть с запросом
Ответ #30 - 22. Апреля 2010 :: 07:38
Печать  
Код
Выбрать все
(SELECT val FROM :ВыбПроект) 


А может все таки
Код
Выбрать все
(SELECT val FROM #СзПроектов) 


Был не прав - видимо в :ВыбПроект имя таблицы.
  
Наверх
IP записан
 
n0_0ne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #31 - 22. Апреля 2010 :: 07:48
Печать  
Если просто указать одного клиента без списка, то все работает!
  
Наверх
 
IP записан
 
n0_0ne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #32 - 22. Апреля 2010 :: 07:50
Печать  
Код
Выбрать все
ТекстЗапроса = "

|SELECT
|     Жур.IDDocDef+Жур.IDDoc as [Док $Документ]
|    ,Жур.$ОбщийРеквизит.Проект as [Проект $Справочник.Проекты]
|    
|FROM
|    1SJourn Жур
|INNER JOIN
|	1SCRDOC Отбор ON Отбор.ChildID = Жур.IDDoc AND
|				Отбор. MDID = $ГрафаОтбора.Контрагент AND
|				Отбор.ParentVal = :ВыбКонтр
|			    
|WHERE DTOS(date)+time+iddoc BETWEEN (DTOS(:НачДата~~)+'		   ') AND (DTOS(:КонДата~~)+'ZZZZZZZZZZZZZZZ')
|AND Жур.$ОбщийРеквизит.Проект IN (SELECT val FROM :ВыбПроект) AND
|Жур.Closed  = 1
|
|";


врГруппа="";
Запрос.УложитьСписокОбъектов(ВыбПроект, врГруппа,"Проекты");
Запрос.УстановитьТекстовыйПараметр("ВыбПроект", врГруппа);

врГруппа2="";
Запрос.УложитьСписокОбъектов(ВыбКонтр, врГруппа2,"Контрагенты");
Запрос.УстановитьТекстовыйПараметр("ВыбКонтр", врГруппа2);
 



В данном примере ВыбКонтр заменен на одного клиента, а не на список.

Как только меняю на список, сразу валится ошибка.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Перешл с SQL на DBF как быть с запросом
Ответ #33 - 22. Апреля 2010 :: 07:50
Печать  
Блин..так лень QA открывать:

Код
Выбрать все
.....
FROM
    1SJourn Жур
INNER JOIN
	1SCRDOC Отбор ON Отбор.ChildID = Жур.IDDoc
	  AND Отбор. MDID = $ГрафаОтбора.Контрагент
	  AND   substr(Отбор.ParentVal,7,9) in (SELECT val FROM :ВыбКонтр)
........
 



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


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #34 - 22. Апреля 2010 :: 07:53
Печать  
Был бы он ) И один фиг не арбайтен!
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Перешл с SQL на DBF как быть с запросом
Ответ #35 - 22. Апреля 2010 :: 07:54
Печать  
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Перешл с SQL на DBF как быть с запросом
Ответ #36 - 22. Апреля 2010 :: 08:03
Печать  
Короче, на вот, рабочий код:

Код
Выбрать все
|SELECT
|     Жур.IDDocDef+Жур.IDDoc as [Док $Документ]
|     ,substr(Отбор.ParentVal,7,9) as [Контрагент $Справочник.Контрагенты]
|FROM
|    1SJourn Жур
|INNER JOIN
|	1SCRDOC Отбор ON Отбор.ChildID = Жур.IDDoc
|	  AND Отбор. MDID = $ГрафаОтбора.Контрагент
|Where
|    substr(Отбор.ParentVal,7,9) in (SELECT val FROM :ВыбКонтрагент) 

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


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #37 - 22. Апреля 2010 :: 08:09
Печать  
А в чем сложность то почему не работает обычный запрос?
Код то рабочий, а как теперь к нему прикрутить проекты ))) Думаю бдет тот же эффект.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Перешл с SQL на DBF как быть с запросом
Ответ #38 - 22. Апреля 2010 :: 08:14
Печать  
Какой именно ?
У тебя ошибка - нельзя в фоксе делать вложенный запрос в присоединении табличек..
Улыбка
  
Наверх
 
IP записан
 
n0_0ne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #39 - 22. Апреля 2010 :: 08:20
Печать  
Ну епт ((((
Делать два запроса чтоли((((

А как тогда сделать отбор доков по двум - трем - четырем реквизитам (списку) ???
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Перешл с SQL на DBF как быть с запросом
Ответ #40 - 22. Апреля 2010 :: 08:24
Печать  
n0_0ne писал(а) 22. Апреля 2010 :: 08:20:
Ну епт ((((
Делать два запроса чтоли((((

А как тогда сделать отбор доков по двум - трем - четырем реквизитам (списку) ???


Ау... я ж тебе написал рабочий код..
Добавь в него условие на проект и период по журнальчику... и всё.
  
Наверх
 
IP записан
 
n0_0ne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #41 - 22. Апреля 2010 :: 08:27
Печать  
Дык я добавил! Че я тундра чтоли и получил тоже самое что и изначально (
Или я совсем неулавливаю мыслю или хз ))))

Вот логически и объявил проект так как мне нужно это поле, далее добавил условие по дате из журнала через индекс и сделал проверку на принодлежность проекта к группе и поулчил что нельзя так делать

Даже больше скажу, все работает пока не добавляешь условие по проекту!
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Перешл с SQL на DBF как быть с запросом
Ответ #42 - 22. Апреля 2010 :: 09:03
Печать  
на вот, балуйся..
  

___________2.ert ( 261 KB | Загрузки )
Наверх
 
IP записан
 
n0_0ne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 02. Марта 2009
Re: Перешл с SQL на DBF как быть с запросом
Ответ #43 - 22. Апреля 2010 :: 09:32
Печать  
Вот не поверишь, один в один написал. Я про запрос.
И выдал ошибку.
А все оказалось в неверной последоваьтельности в поле WHERE
Спасибо тебе ОГРОМНОЕ Епрст. Был бы ты из г.Барнаула напоил бы пивом до отвала!!!


А вот подскажи, почему ставлю NOT перед IN ничего не показывает?

Все раб ) Через поле ввода все работает )
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать