|
помогите исправить ошибку в запросе | ☑ | ||
---|---|---|---|---|
0
dreamoff
28.06.13
✎
09:50
|
ВЫБРАТЬ
| ПДСОстатки.СуммаОстаток КАК Накопления, | ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Больше) | И ПДСОстатки.СуммаОстаток > КартыПДСУсловияПДС.Значение | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | ИНАЧЕ ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.БольшеРавно) | И ПДСОстатки.СуммаОстаток >= КартыПДСУсловияПДС.Значение | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | ИНАЧЕ ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Меньше) | И ПДСОстатки.СуммаОстаток < КартыПДСУсловияПДС.Значение | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | ИНАЧЕ ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.МеньшеРавно) | И ПДСОстатки.СуммаОстаток <= КартыПДСУсловияПДС.Значение | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | ИНАЧЕ ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Равно) | И ПДСОстатки.СуммаОстаток = КартыПДСУсловияПДС.Значение | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | КОНЕЦ | КОНЕЦ | КОНЕЦ | КОНЕЦ | КОНЕЦ КАК Процент, | БазыДанных.Ссылка КАК Заведение |ИЗ | Справочник.КартыПДС.УсловияПДС КАК КартыПДСУсловияПДС | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПДС.Остатки КАК ПДСОстатки | ПО КартыПДСУсловияПДС.Карта = ПДСОстатки.КартаПДС | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БазыДанных КАК БазыДанных | ПО КартыПДСУсловияПДС.БазаДанных = БазыДанных.Ссылка |ГДЕ | КартыПДСУсловияПДС.Карта = &КартаПоиска | И (КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.Дисконтная) | ИЛИ КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.ПлатежноДисконтная)) | И КартыПДСУсловияПДС.ПериодДействияНачало <= &НаДату | И (КартыПДСУсловияПДС.ПериодДействияОкончание >= &НаДату | ИЛИ КартыПДСУсловияПДС.ПериодДействияОкончание = ДАТАВРЕМЯ(1, 1, 1)) в запросах я не силен(нужно что бы выбиралась только одна строчка соответствующая условию,а выводятся все строки,которые в тч,причем пустые,т.к. они не попадают под условию.КартыПДСУсловияПДС-тч справочника. подскажите,где я ошибся? |
|||
1
dreamoff
28.06.13
✎
10:09
|
ап
|
|||
2
Smallrat
28.06.13
✎
10:15
|
"они не попадают под условию.КартыПДСУсловияПДС-тч справочника"
что за условие то ? и чтобы не городить огород с ВЫБОР КОГДА ИНАЧЕ ВЫБОР можно писать просто ВЫБОР КОГДА ТОГДА КОГДА ТОГДА ИНАЧЕ 0 КОНЕЦ |
|||
3
dreamoff
28.06.13
✎
10:20
|
(2) вот такое условие
Если (СтрокаУсловия.ТипСравнения = Перечисления.ТипыСравнений.Больше) и (СуммаОплат > СтрокаУсловия.Значение) Тогда НайденоПодходящееУсловиеПроцент = Истина; ИначеЕсли (СтрокаУсловия.ТипСравнения = Перечисления.ТипыСравнений.БольшеРавно) и (СуммаОплат >= СтрокаУсловия.Значение) Тогда НайденоПодходящееУсловиеПроцент = Истина; ИначеЕсли (СтрокаУсловия.ТипСравнения = Перечисления.ТипыСравнений.Меньше) и (СуммаОплат < СтрокаУсловия.Значение) Тогда НайденоПодходящееУсловиеПроцент = Истина; ИначеЕсли (СтрокаУсловия.ТипСравнения = Перечисления.ТипыСравнений.МеньшеРавно) и (СуммаОплат <= СтрокаУсловия.Значение) Тогда НайденоПодходящееУсловиеПроцент = Истина; ИначеЕсли (СтрокаУсловия.ТипСравнения = Перечисления.ТипыСравнений.Равно) и (СуммаОплат = СтрокаУсловия.Значение) Тогда НайденоПодходящееУсловиеПроцент = Истина; КонецЕсли; |
|||
4
Smallrat
28.06.13
✎
10:30
|
(3) ну а где это условие в условиях запроса ?
В выборке просто написать КартыПДСУсловияПДС.ПроцентСумма КАК Процент В условиях написать |ГДЕ | КартыПДСУсловияПДС.Карта = &КартаПоиска | И (КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.Дисконтная) | ИЛИ КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.ПлатежноДисконтная)) | И КартыПДСУсловияПДС.ПериодДействияНачало <= &НаДату | И (КартыПДСУсловияПДС.ПериодДействияОкончание >= &НаДату | ИЛИ КартыПДСУсловияПДС.ПериодДействияОкончание = ДАТАВРЕМЯ(1, 1, 1)) И | ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Больше) | И ПДСОстатки.СуммаОстаток > КартыПДСУсловияПДС.Значение | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.БольшеРавно) | И ПДСОстатки.СуммаОстаток >= КартыПДСУсловияПДС.Значение | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Меньше) | И ПДСОстатки.СуммаОстаток < КартыПДСУсловияПДС.Значение | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.МеньшеРавно) | И ПДСОстатки.СуммаОстаток <= КартыПДСУсловияПДС.Значение | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Равно) | И ПДСОстатки.СуммаОстаток = КартыПДСУсловияПДС.Значение | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ |
|||
5
dreamoff
28.06.13
✎
13:20
|
(4) спасибо большое,что объяснили дураку,что условие это не то,что я изобразил)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |