Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос
0 Shok05
 
20.02.14
10:58
Никак не могу понять , почему не работает запрос. Задачка на данный момент следующая. Есть документы РеестрПлатежей с табличной частью с полем Клиент из справочника Контрагенты. Нужно за определённый период выбрать все документы в которых поле клиент равно тому что ввел пользователь в поле на форме Клввод (т.е нечеткий поиск по нескольким буквам). Вот тест запроса:

ТекстЗапроса = "
|SEL ECT
| Док.IDDoc AS [Документ $Документ.РеестрПлатежей],
| $Док.магазин AS [Наименование $Справочник.МагазиныКухниСити],
| $Док.ВыбСпособОплаты AS [Способ $Перечисление.СпособОплаты],
| $Док.ВыбВалюта AS ВалютаДокП,
| $ОбщийРеквизит.Фирма AS ФирмаДокП,
| $ДокС.Клиент AS [Клиент $Справочник.Контрагенты]";

ТекстЗапроса=ТекстЗапроса+" FR OM $ДокументСтроки.РеестрПлатежей AS ДокС ";

ТекстЗапроса=ТекстЗапроса+"
|INNER JOIN
| $Документ.РеестрПлатежей as Док ON Док.IDDoc = ДокС.IDDoc ";
ТекстЗапроса = ТекстЗапроса + "
|INNER JOIN _1sjourn AS Журнал (nolock) ON Журнал.IDDoc = Док.IDDoc
|WHERE
| Журнал.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND UPPER($ДокС.Клиент) LIKE :КлвводП
|";


RS.УстановитьТекстовыйПараметр("НачДата", НачДата);
RS.УстановитьТекстовыйПараметр("КонДата", КонДата);
RS.УстановитьТекстовыйПараметр("КлвводП","%"+ВРег(СокрЛП(Клввод))+"%");

При вводе в поле Клввод букв ничего не находит. Если вводишь цифру, то показывает документы не понятно по какому принципцу.

Заранее очень благодарен!
1 Wobland
 
20.02.14
11:08
уверен, что $ДокС.Клиент - строка?
2 fisher
 
20.02.14
11:11
Похоже на 1С++
Это точно 8-ка? Или я что-то пропустил?
3 МихаилМ
 
20.02.14
11:14
модераторы , перенесте тему из v8 в v7
4 МихаилМ
 
20.02.14
11:16
(0)

почему грязное чтение  только для журнала ?
5 dk
 
20.02.14
11:28
скобки в условиях не учили ставить?
(Журнал.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~) AND (UPPER($ДокС.Клиент) LIKE :КлвводП)

(1) +1 ))
6 dk
 
20.02.14
11:29
нужен еще 1 inner join к контрагентам и like через descr
7 1Сергей
 
20.02.14
11:32
...
|SEL ECT
...
ТекстЗапроса=ТекстЗапроса+" FR OM



Что-то мне подсказывает, что там дофига синтаксических ошибок :)
8 ADirks
 
20.02.14
11:47
(0)  добавь в селект-листе колонку
$ДокС.Клиент AS идКлиент

и поймёшь в чём дело :)
9 Shok05
 
21.02.14
14:11
нужен еще 1 inner join к контрагентам и like через descr  - Правильный ответ
10 Shok05
 
21.02.14
14:12
Тема закрыта. спасибо! Извиняюсь что в разделе по 8-ке написал