|
Запрос не правильно отрабатывает :( | ☑ | ||
---|---|---|---|---|
0
ultrannge89
08.07.13
✎
14:47
|
Помогите разобраться в чем может быть причина?
ТекДата = ТекущаяДата(); Статус = "Активная"; Лимиты.Очистить(); Запрос = Новый Запрос; ДопУсловие = ""; Если ЗначениеЗаполнено(ВидЛимита) Тогда ДопУсловие = " И Ю_Лимиты.ВидЛимита = &ОтборЛимита"; Запрос.УстановитьПараметр("ОтборЛимита", ВидЛимита); КонецЕсли; ДопУсловие1 = ""; Если ЗначениеЗаполнено(СрезДаты) Тогда ДопУсловие1 = "Ю_Лимиты.Период >= &НачалоПериода И Ю_Лимиты.Период <= &КонецПериода"; Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(СрезДаты)); Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(СрезДаты)); Иначе ДопУсловие1 = "Ю_Лимиты.Период >= &НачалоПериода И Ю_Лимиты.Период <= &КонецПериода"; Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекДата)); Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(ТекДата)) КонецЕсли; Запрос.Текст ="ВЫБРАТЬ | Ю_Лимиты.Сотрудник, | Ю_Лимиты.ВидЛимита, | Ю_Лимиты.Сумма, | Ю_Лимиты.Регистратор.Ссылка КАК Документ, | ЕСТЬNULL(Ю_ЭлектронныеКартыСрезПоследних.ЭлектроннаяКарта, ЗНАЧЕНИЕ(Справочник.Ю_ЭлектронныеКарты.ПустаяСсылка)) КАК Карта |ИЗ | РегистрСведений.Ю_Лимиты КАК Ю_Лимиты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Ю_ЭлектронныеКарты.СрезПоследних КАК Ю_ЭлектронныеКартыСрезПоследних | ПО Ю_Лимиты.Сотрудник = Ю_ЭлектронныеКартыСрезПоследних.Сотрудник | И Ю_Лимиты.Сотрудник.ЭлектроннаяКарта = Ю_ЭлектронныеКартыСрезПоследних.ЭлектроннаяКарта И Ю_ЭлектронныеКартыСрезПоследних.Статус = &Статус |ГДЕ ЕСТЬNULL(Ю_ЭлектронныеКартыСрезПоследних.ЭлектроннаяКарта, ЗНАЧЕНИЕ(Справочник.Ю_ЭлектронныеКарты.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Ю_ЭлектронныеКарты.ПустаяСсылка) И "+ДопУсловие1 +ДопУсловие; Запрос.УстановитьПараметр("Статус", Статус); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Строка = Лимиты.Добавить(); Строка.Сотрудник = Выборка.Сотрудник; Строка.ВидЛимита = Выборка.ВидЛимита; Строка.Сумма = Выборка.Сумма; Строка.Документ = Выборка.Документ; КонецЦикла; |
|||
1
palpetrovich
08.07.13
✎
14:49
|
надо догадаться где неправильно?
|
|||
2
chelentano
08.07.13
✎
14:50
|
а где голосовалка?
|
|||
3
Ненавижу 1С
гуру
08.07.13
✎
14:51
|
ставлю на то, что параметр не должен быть строкой
|
|||
4
ultrannge89
08.07.13
✎
14:51
|
Запрос формирует таблицу значений. Но в нее попадает не то что нужно. Условие не отрабатывает.
ЗНАЧЕНИЕ(Справочник.Ю_ЭлектронныеКарты.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.Ю_ЭлектронныеКарты.ПустаяСсылка) |
|||
5
exwill
08.07.13
✎
14:52
|
(0) Вопрос поставлен некорректно.
Запрос, в частности, и компьютеры вообще не могут работать не правильно, по определению. Может быть расхождение между тем, что ты ожидал получить, и что ты получил. |
|||
6
chelentano
08.07.13
✎
14:53
|
(4) как определил, что именно это условие не отрабатывает?
|
|||
7
ultrannge89
08.07.13
✎
14:55
|
Я получил список сотрудников у которых есть карты и есть лимиты в данном периоде, а хотел получить сотрудников у которых нет карт но есть лимиты
|
|||
8
exwill
08.07.13
✎
14:56
|
(4) Тебе нужны только NULL? Зачем тогда так сложно писать? Пиши просто ЕСТЬ NULL.
|
|||
9
ultrannge89
08.07.13
✎
14:56
|
В общем как по другому в запросе задать условие на пустую электронную карту?
|
|||
10
exwill
08.07.13
✎
14:58
|
+(8)
ГДЕ Ю_ЭлектронныеКартыСрезПоследних.ЭлектроннаяКарта ЕСТЬ NULL |
|||
11
ultrannge89
08.07.13
✎
15:01
|
Ладно спасибо за помощь, если не получится буду в выборке условие проверять, хоть и не правильно но зато без заморочек
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |