Имя: Пароль:
1C
 
Нужна помощь с запросом
0 v_kras
 
06.07.19
15:21
В конструкторе запросов все работает супер.
А этот код в обработке ничего не возвращает в табличный документ. То есть в реквизит МесяцРождения записываю месяц, (8), он ничего не возвращает. Хотя у меня 3 сотрудника с месяцем рождения - 8.

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Сотрудники.ФизическоеЛицо.ФИО КАК ФизическоеЛицоФИО,
        |    Сотрудники.ФизическоеЛицо.ДатаРождения КАК ФизическоеЛицоДатаРождения,
        |    Сотрудники.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |    МЕСЯЦ(Сотрудники.ФизическоеЛицо.ДатаРождения) = &ВыберитеМесяцРождения";
        
    Запрос.УстановитьПараметр("ВыберитеМесяцРождения", МесяцРождения);
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
        ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьСтрока);
                            
    КонецЦикла;
1 dubolom
 
06.07.19
15:21
Зачем уже третья тема?
2 dubolom
 
06.07.19
15:23
Параметры правильно называются?
3 v_kras
 
06.07.19
15:23
Да, все правильно называется.
4 Dotoshin
 
06.07.19
15:33
(3) Ну посмотри отладчиком, что запрос возвращает. Может у тебя запрос пустой и ты даже в цикл не заходишь.
5 lodger
 
06.07.19
15:34
Функция Месяц
МЕСЯЦ(<Дата>)

Принимает параметр типа ДАТА. Возвращает номер месяца даты (целочисленное значение от 1 до 12).

ВЫБРАТЬ МЕСЯЦ(ДАТАВРЕМЯ(2016, 6, 23))
Запрос вернет – 6
6 v_kras
 
06.07.19
15:43
Спасибо за оперативные ответы.
Все коллеги, я разобрался. На форме, реквизит "МесяцРождения", в который я записывал число имел тип (СТРОКА). Соответственно, запрос не принимал строку и возвращал пустое значение. Изменил тип реквизита формы "МесяцРождения" на ЧИСЛО, и все получилось.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой