Имя: Пароль:
1C
 
Нужна помощь с запросом к справочнику сотрудники.
0 v_kras
 
06.07.19
14:53
Есть запрос, который выбирает всех сотрудников без сортировки. Как сделать так, чтобы при вводе цисла, например 07 в реквизит МесяцРождения, сортировались только те сотрудники с месяцом рождения 07, без привязки к дате и году рождения.
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Сотрудники.ФизическоеЛицо.ФИО КАК ФизическоеЛицоФИО,
        |    Сотрудники.ФизическоеЛицо.ДатаРождения КАК ФизическоеЛицоДатаРождения,
        |    Сотрудники.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(Сотрудники.ФизическоеЛицо.ДатаРождения, МЕСЯЦ) >= &ВыберитеМесяцРождения";
        
    Запрос.УстановитьПараметр("ВыберитеМесяцРождения", МесяцРождения;
1 ILM
 
гуру
06.07.19
15:00
МЕСЯЦ(Сотрудники.ФизическоеЛицо.ДатаРождения) = 7

не сортировались, а отбирались.
2 dubolom
 
06.07.19
15:01
РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(Сотрудники.ФизическоеЛицо.ДатаРождения,ГОД),КОНЕЦПЕРИОДА(Сотрудники,ФизическоеЛицо.ДатаРождения,МЕСЯЦ),МЕСЯЦ)
3 Гобсек
 
06.07.19
15:03
|ГДЕ
|    МЕСЯЦ(Сотрудники.ФизическоеЛицо.ДатаРождения) = &ВыберитеМесяцРождения
4 v_kras
 
06.07.19
15:10
В конструкторе запросов все здорово работает, но он мне не выводит в табличный документ. В чем может быть проблема? Компилятор не на что не ругается

&НаСервере
Функция ПолучитьМакетНаСервере()
    
    ТабДок = Новый ТабличныйДокумент;
    
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы =ОриентацияСтраницы.Ландшафт;

    ДатаОтчета  = ?(ЗначениеЗаполнено(ДатаФормирования), ДатаФормирования, ТекущаяДата());
    ОбработкаОбъект = РеквизитФормыВЗначение("Отчет");
    Макет = ОбработкаОбъект.ПолучитьМакет("Отчет_Выгрузка");
    
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.ДатаФормирования = Формат(ДатаОтчета, "ДЛФ=DD");
    ТабДок.Вывести(ОбластьШапка);
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Сотрудники.ФизическоеЛицо.ФИО КАК ФизическоеЛицоФИО,
        |    Сотрудники.ФизическоеЛицо.ДатаРождения КАК ФизическоеЛицоДатаРождения,
        |    Сотрудники.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |    МЕСЯЦ(Сотрудники.ФизическоеЛицо.ДатаРождения) = &ВыберитеМесяцРождения";
        
    Запрос.УстановитьПараметр("ВыберитеМесяцРождения", МесяцРождения);
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
        ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьСтрока);
                            
    КонецЦикла;

    Возврат Макет;
                
КонецФункции
5 hhhh
 
06.07.19
15:35
(4) Возврат Макет;   что это у тебя?
6 ДенисЧ
 
06.07.19
16:13
(5)
Функция ПолучитьМакетНаСервере()
Возврат Макет;

Вроде всё логично... У неё просят макет, она его и возвращает... Что тут может быть непонятно?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.