|
Запрос к временной таблице. | ☑ | ||
---|---|---|---|---|
0
antihacker
18.03.16
✎
12:16
|
Всем привет !
Вот запрос. Запрос = Новый Запрос; МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; // Текст запроса для построения временной таблицы Запрос.Текст = "ВЫБРАТЬ | СобытияТекСотрудника.ДатаСобытия КАК ДатаСобытия |ПОМЕСТИТЬ МенеджерВТ |ИЗ | &СобытияТекСотрудникаТЗ КАК СобытияТекСотрудника; |ВЫБРАТЬ | МИНИМУМ(МенеджерВТ.ДатаСобытия) КАК СамыйРаннийПриход |ИЗ | МенеджерВТ КАК МенеджерВТ ГДЕ МенеджерВТ.ДатаСобытия > &ВремяПриходаСОбеда"; Запрос.УстановитьПараметр("СобытияТекСотрудникаТЗ",СобытияТекСотрудникаПриход); Запрос.УстановитьПараметр("ВремяПриходаСОбеда",ОтчетОбъектАнализСобитии.ВремяПриходаСОбеда); РезультатСамыйРаннийПриходСОбеда = Запрос.Выполнить().Выбрать(); сообщить(РезультатСамыйРаннийПриходСОбеда.Количество()); "сообщить" - пишет что есть одна строка. Хотя там ничего нету. Пробовал пробежаться по циклу по результатам. Пока РезультатСамыйРаннийПриходСОбеда.Следующий() Цикл сообщить(РезультатСамыйРаннийПриходСОбеда.СамыйРаннийПриход); КонецЦикла; Но сообщить показывает пустое сообщение. Открыль регистр и проверил нет ли строки с пустыми датами. Нет там все колрнки заполнены. Глюк 1С или мой ? |
|||
1
ДенисЧ
18.03.16
✎
12:21
|
А если выгрузить(), потом в отладчике посмотреть?
|
|||
2
Zhuravlik
18.03.16
✎
12:23
|
Фразы ""сообщить" - пишет что есть одна строка. Хотя там ничего нету"
И "Но сообщить показывает пустое сообщение" противоречат друг-другу. |
|||
3
mehfk
18.03.16
✎
12:24
|
Там NULL
|
|||
4
Zhuravlik
18.03.16
✎
12:26
|
Сначала перепиши код, чтобы было удобнее отлаживать
РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); (3) От NULL избавляйся в самом запросе |
|||
5
mehfk
18.03.16
✎
12:27
|
(4)>> От NULL избавляйся в самом запросе
Автору это скажи. |
|||
6
Zhuravlik
18.03.16
✎
12:28
|
Имхо, если у тебя есть в конечной выборке есть поле NULL - это уже признак того, что что-то сделано не так.
|
|||
7
antihacker
18.03.16
✎
12:29
|
Это как убрать NULL в запросе ?
|
|||
8
Zhuravlik
18.03.16
✎
12:29
|
(5) Перепутал) (4) -> 0
|
|||
9
Zhuravlik
18.03.16
✎
12:30
|
(7) Это сделать на него проверку и вставить пустое значение типа вместо поля NULL. Если тебе по логике запроса нужны пустые значения.
|
|||
10
antihacker
18.03.16
✎
12:31
|
ДатаСобытия это Дата а не цифра или текст
|
|||
11
mehfk
18.03.16
✎
12:33
|
ИМЕЮЩИЕ МИНИМУМ(МенеджерВТ.ДатаСобытия) ЕСТЬ НЕ NULL
|
|||
12
hhhh
18.03.16
✎
12:33
|
(1) можно прям в отладчике набрать Запрос.Выполнить().Выгрузить()
|
|||
13
hhhh
18.03.16
✎
12:35
|
(9) вот это выкинь
МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; оно не нужно |
|||
14
Zhuravlik
18.03.16
✎
12:36
|
(13) У него там коммент // Текст запроса для построения временной таблицы - тс просто кусок кода приводить не стал
|
|||
15
Zhuravlik
18.03.16
✎
12:37
|
(10) Не понимаю к чему это было сказано
|
|||
16
antihacker
18.03.16
✎
12:42
|
А как можно смотреть в отладчике что содержить результат запроса ?
|
|||
17
hhhh
18.03.16
✎
12:44
|
(16) походу вот это надо копать
ГДЕ МенеджерВТ.ДатаСобытия > &ВремяПриходаСОбеда видимо они не пришли с обеда никто. |
|||
18
Дык ё
18.03.16
✎
12:45
|
(17) тяпница же :)
|
|||
19
Zhuravlik
18.03.16
✎
12:47
|
(16) РезультатЗапроса.Выгрузить() - вернет таблицу значений. В отладчике по f2 можно просмотреть содержимое.
|
|||
20
Zhuravlik
18.03.16
✎
12:53
|
(7) Почитай
https://its.1c.ru/db/metod8dev#content:2614:hdoc:_top:null И вообще - почаще заглядывай на ИТС. |
|||
21
antihacker
18.03.16
✎
12:56
|
Сделал вот реззап = Запрос.Выполнить().Выгрузить();
И где сотмреть результат ? |
|||
22
hhhh
18.03.16
✎
12:59
|
(21) в отладчике. сделай точку останова. реззап не надо было делать. Посто в отладке там Вычислить выражение Задать Запрос.Выполнить().Выгрузить()
|
|||
23
Zhuravlik
18.03.16
✎
13:01
|
(21) гугли "Отладка 1С" http://programmist1s.ru/otladka-1s/
|
|||
24
antihacker
18.03.16
✎
13:32
|
Это глюк просто
Почему то запрос вытаскивает строку где все колонки пустые. Хотя среди выбираемых строк нет такого |
|||
25
antihacker
18.03.16
✎
13:33
|
Только одна строка. Не больше
|
|||
26
mehfk
18.03.16
✎
13:46
|
(24) Это у тебя глюк. Смотри (3) и (11).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |