|   |   | 
| 
 | Запрос к временной таблице. | ☑ | ||
|---|---|---|---|---|
| 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).     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |