Имя: Пароль:
1C
1C 7.7
v7: Как правильно передавать параметры условий в запрос через OLE
,
0 Oxana_Zap
 
04.04.12
23:23
Как правильно передавать параметры условий в запрос  через OLE

ТекстЗапроса = " Период с '"+НачДата+ "' по '"+КонДата+"';
| ВидРасхода = Документ.РасходнаяНакладная.ВидРасх;
| Фирма = Документ.РасходнаяНакладная.Фирма;
| Клиент = Документ.РасходнаяНакладная.Клиент;
| Договор = Документ.РасходнаяНакладная.Заказ;
| СуммаДок = Документ.РасходнаяНакладная.Сумма;
| Группировка Документ;


Нужно добавить условие где  
1)Признак=перечисление.ВидРасхода.РасходыСвоим;
Это перечисление есть только в базе источнике.
2) Договор=ПустоеЗначение
Как правильно это передать в запрос?
1 viktor_vv
 
04.04.12
23:55
С договором в принципе все просто.

| Договор = Документ.РасходнаяНакладная.Заказ;
| СуммаДок = Документ.РасходнаяНакладная.Сумма;
| Условие (ПустоеЗначение(Договор)=1);
| Группировка Документ;
2 Oxana_Zap
 
04.04.12
23:58
(1) спасибо..че то не додумалась..а с перечислением?
3 viktor_vv
 
05.04.12
00:03
Получете по Оле значение перечисление по номеру, присваиваете переменной и эту переменную в условие в запрос.
4 viktor_vv
 
05.04.12
00:04
Сейчас вспомню как там по Оле.
5 Oxana_Zap
 
05.04.12
00:08
(4) я писала так
НашРасход=источник.перечисление.ВидРасхода.РасходыСвоим;
а запрос
| Условие (ВидРасхода ='"+НашРасход+"');

но так не срабатывало хотя и не ругалось
6 viktor_vv
 
05.04.12
00:10
А ззачем в кавычках.?

А так

| Условие (ВидРасхода = НашРасход);
7 Oxana_Zap
 
05.04.12
00:12
(7)да начиталась где то . думала что так надо при работе с ОЛЕ. а Дата в кавычках тогда зачем?
8 Oxana_Zap
 
05.04.12
00:13
попробую так ..спасибо
9 viktor_vv
 
05.04.12
00:13
Ну это примитивный тип. Интерпретатор все что в одинарных кавычках преобразует в дату.
10 viktor_vv
 
05.04.12
00:14
Но насчет (6) не уверен.
11 viktor_vv
 
05.04.12
00:19
Есть еще тормозной вариант.

| Условие (СокрЛП(ВидРасхода) =""Представление значения перечисления РасходыСвоим"");
|";

Не знаю какое представление у вас, но например

| Условие (СокрЛП(ВидРасхода) =""Расходы своим"");
|";
12 viktor_vv
 
05.04.12
00:20
СокрЛП() приведет значение перечисления к строке, как правило это представление.
13 andrewks
 
05.04.12
00:37
.Идентификатор()