|
Непонятная ситуация в запросе | ☑ | ||
---|---|---|---|---|
0
mikecool
19.03.15
✎
17:04
|
Тестовый запрос:
падает с ошибкой: {ВнешняяОбработка.КонсольЗапросов_82.МодульОбъекта(55)}: Ошибка при вызове метода контекста (ВыполнитьПакет): {(15, 44)}: Несовместимые типы "ССЫЛКА" КОГДА _ВТ_ДанныеДляПроверки.ЗаказКлиента <<?>>ссылка Документ.ЗаказКлиента однако запрос
возвращает 1 что же не так в первом запросе? |
|||
1
mikecool
19.03.15
✎
17:04
|
+0 то бишь не проходит условие
выбор когда _ВТ_ДанныеДляПроверки.ЗаказКлиента = Неопределено Тогда |
|||
2
n0ther
19.03.15
✎
17:10
|
а в чем хитрость запроса?
ВЫБРАТЬ Неопределено Как ЗаказКлиента, 150000 Как Сумма, 150000 Как КОплате, ВЫРАЗИТЬ(&АналитикаУчетаПоПартнерам КАК Справочник.КлючиАналитикиУчетаПоПартнерам) КАК АналитикаУчетаПоПартнерам ПОМЕСТИТЬ _ВТ_ДанныеДляПроверки ; |
|||
3
mikecool
19.03.15
✎
17:12
|
(2) тестовые данные, в оригинале - таблица значений
|
|||
4
User_Agronom
19.03.15
✎
17:15
|
(2) Из этой строки что то выбрать
|
|||
5
Drac0
19.03.15
✎
17:16
|
(0) Тоже пару раз нарывался на такое при использовании ССЫЛКА. Заменял другими конструкциями.
|
|||
6
Крошка Ру
19.03.15
✎
17:18
|
(3) Поменяй условия на ТИПЗНАЧЕНИЯ() = ТИП()
|
|||
7
mikecool
19.03.15
✎
17:19
|
(5) заменил на ТипЗначения и сравнение - все равно идет далее и вроде как ТипЗначения = Документ.ЗаказКлиента
совсем перестал понимать ) |
|||
8
salvator
19.03.15
✎
17:20
|
А обязательно Неопределено? Попробуй на NULL заменить.
|
|||
9
elCust
19.03.15
✎
17:21
|
Запрос большой я написал,
Там связей кучу я создал, Я сделал кучу группировок, Я вывел общие итоги, Что за таблетки дай еще. |
|||
10
mikecool
19.03.15
✎
17:21
|
(8)
пробовал преобразовать тз СтрокиНеопределено = ДанныеДляПроверки.НайтиСтроки(Новый Структура("ЗаказКлиента", Неопределено)); Для Каждого Строка Из СтрокиНеопределено Цикл Строка.ЗаказКлиента = NULL; КонецЦикла; в результате тип значения в строках = Неопределено |
|||
11
mikecool
19.03.15
✎
17:22
|
||||
12
Aceforg
19.03.15
✎
17:29
|
(10) Зачем неопределено? Используй пустую ссылку
|
|||
13
salvator
19.03.15
✎
17:31
|
(10) А в цикл-то заходит? Строки реально с неопределено?
|
|||
14
mikecool
19.03.15
✎
17:32
|
(12) падает аналогично:
ВЫБРАТЬ Значение(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) Как ЗаказКлиента, 150000 Как Сумма, 150000 Как КОплате, ВЫРАЗИТЬ(&АналитикаУчетаПоПартнерам КАК Справочник.КлючиАналитикиУчетаПоПартнерам) КАК АналитикаУчетаПоПартнерам ПОМЕСТИТЬ _ВТ_ДанныеДляПроверки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ выбор когда _ВТ_ДанныеДляПроверки.ЗаказКлиента = Значение(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) Тогда _ВТ_ДанныеДляПроверки.ЗаказКлиента иначе ВЫБОР КОГДА ТипЗначения(_ВТ_ДанныеДляПроверки.ЗаказКлиента) = Тип(Документ.ЗаказКлиента) ТОГДА ВЫРАЗИТЬ(_ВТ_ДанныеДляПроверки.ЗаказКлиента КАК Документ.ЗаказКлиента).Договор КОГДА _ВТ_ДанныеДляПроверки.ЗаказКлиента ССЫЛКА Справочник.ДоговорыКонтрагентов ТОГДА _ВТ_ДанныеДляПроверки.ЗаказКлиента {ВнешняяОбработка.КонсольЗапросов_82.МодульОбъекта(55)}: Ошибка при вызове метода контекста (ВыполнитьПакет): {(16, 10)}: Несовместимые типы "ВЫРАЗИТЬ" ТОГДА <<?>>ВЫРАЗИТЬ(_ВТ_ДанныеДляПроверки.ЗаказКлиента КАК Документ.ЗаказКлиента).Договор |
|||
15
mikecool
19.03.15
✎
17:33
|
(13) заходит, подменяет
|
|||
16
mikecool
19.03.15
✎
17:35
|
условие выбор когда _ВТ_ДанныеДляПроверки.ЗаказКлиента = Значение(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) Тогда
не отрабатывает и в этом случае |
|||
17
salvator
19.03.15
✎
17:38
|
Вот так попробуй:
выбор когда ТИПЗНАЧЕНИЯ(_ВТ_ДанныеДляПроверки.ЗаказКлиента) = ТИПЗНАЧЕНИЯ(Неопределено) Тогда _ВТ_ДанныеДляПроверки.ЗаказКлиента иначе ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(_ВТ_ДанныеДляПроверки.ЗаказКлиента) = ТИП(Документ.ЗаказКлиента) ТОГДА ВЫРАЗИТЬ(_ВТ_ДанныеДляПроверки.ЗаказКлиента КАК Документ.ЗаказКлиента).Договор КОГДА ТИПЗНАЧЕНИЯ(_ВТ_ДанныеДляПроверки.ЗаказКлиента) = ТИП(Справочник.ДоговорыКонтрагентов) ТОГДА _ВТ_ДанныеДляПроверки.ЗаказКлиента ИНАЧЕ _ВТ_ДанныеДляПроверки.ЗаказКлиента КОНЕЦ конец КАК Договор, |
|||
18
mikecool
19.03.15
✎
17:39
|
(17) пробовал, результат аналогичный
|
|||
19
mikecool
19.03.15
✎
17:39
|
+18 тут уже как бы и с пустой ссылкой не сравнивает )
|
|||
20
mikecool
19.03.15
✎
17:42
|
как будто предкомпиляция всего запроса идет
|
|||
21
Aceforg
19.03.15
✎
17:55
|
(17)
ВЫБРАТЬ Значение(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) Как ЗаказКлиента, 150000 Как Сумма, 150000 Как КОплате, ВЫРАЗИТЬ(&АналитикаУчетаПоПартнерам КАК Справочник.КлючиАналитикиУчетаПоПартнерам) КАК АналитикаУчетаПоПартнерам ПОМЕСТИТЬ _ВТ_ДанныеДляПроверки Объединить все ВЫБРАТЬ Значение(Документ.ЗаказКлиента.ПустаяСсылка) Как ЗаказКлиента, 150000 Как Сумма, 150000 Как КОплате, ВЫРАЗИТЬ(&АналитикаУчетаПоПартнерам КАК Справочник.КлючиАналитикиУчетаПоПартнерам) КАК АналитикаУчетаПоПартнерам |
|||
22
Aceforg
19.03.15
✎
17:59
|
+ (21) Объединение критично, можно добавить
Объединить все ВЫБРАТЬ Значение(Документ.ЗаказКлиента.ПустаяСсылка) Как ЗаказКлиента Где Ложь |
|||
23
mikecool
19.03.15
✎
18:01
|
(21) фишка в том, что запрос рабочий
проблема составила, когда в него в качестве заказа стало попадать Неопределено и он просто не выбирал данные решил в консоли его потестить и понеслась ( |
|||
24
Aceforg
19.03.15
✎
18:12
|
(22) Так сравнивай с Типзначения(НЕОПРЕДЕЛЕНО)
|
|||
25
Ёпрст
19.03.15
✎
18:13
|
а так че ?
ВЫБРАТЬ NULL КАК ЗаказКлиента ПОМЕСТИТЬ _ВТ_ДанныеДляПроверки ; ВЫБРАТЬ ВЫБОР КОГДА _ВТ_ДанныеДляПроверки.ЗаказКлиента ЕСТЬ NULL Тогда .... |
|||
26
Aceforg
19.03.15
✎
18:17
|
(25) Какбы NULL не равно Неопределно
ВЫБРАТЬ Выбор Когда NULL = Неопределено Тогда 1 Иначе 0 Конец выведет 0 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |