8.х Условие отбора в запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем notaSS, 9 фев 2015.

  1. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Скажите,как сделать условие в запросе.
    Есть отчет по водителям,на форме поле выбора водителя, ссылка на справочник-сотрудники. Нужно, чтобы при наборе водителя, в выпадающем списке пользователю выводились только элементы справочника сотрудники из группы водители(ЕЩЕ ЕСТЬ ГРУППА КОНДУКТОРЫ). Делаю так, НО НЕ РАБОТАЕТ, ВЫВОДИТ ВСЕХ ПОДРЯД
    Код:
    ВЫБРАТЬ
    .......
    РабочееВремяОбороты.Водитель....
    ...
    ИЗ
    |    РегистрНакопления.РабочееВремя.Обороты
    ГДЕ
    ВыручкаОбороты.Водитель.Родитель = &Родитель
    
    Запрос.УстановитьПараметр("Родитель",справочники.Сотрудники.НайтиПоНаименованию("водители"));
    
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Код:
    .......
    ГДЕ
    ВыручкаОбороты.Водитель В ИЕРАРХИИ (&Родитель)
    
    Запрос.УстановитьПараметр("Родитель",справочники.Сотрудники.НайтиПоНаименованию("водители"));
    
  3. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    Добрый День!
    ПОдскажите как в событии "началовыбора" отобрать всех сотрудников, которые не уволены, т.е. у которых дата увольнения пустаядата?
    Код:
    Процедура Водитель1НачалоВыбора(Элемент, СтандартнаяОбработка)
        СтандартнаяОбработка = Ложь;
      
    Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |    уатСотрудники.Ссылка,
            |    уатСотрудники.ДатаУвольнения
            |ИЗ
            |    Справочник.уатСотрудники КАК уатСотрудники
            |ГДЕ
            |    уатСотрудники.Родитель = &Родитель";
      
        Запрос.УстановитьПараметр("Родитель", Справочники.уатСотрудники.НайтиПоНаименованию("Водители"));
        ТипПерсонала=Новый СписокЗНачений;
        ТипПерсонала.Добавить(Справочники.уатСотрудники.НайтиПоНаименованию("Водители"));
    Запрос.УстановитьПараметр("Водители", Справочники.уатСотрудники.НайтиПоНаименованию("Водители"));
    РезультатЗапроса = Запрос.Выполнить();
      
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        Значение = Новый СписокЗначений();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Значение.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
            // Вставить обработку выборки ВыборкаДетальныеЗаписи
        КонецЦикла;
        Форма = Справочники.уатСотрудники.ПолучитьФормуВыбора("ФормаСписка",Элемент);//("ФормаВыбора",);
        Форма.РежимВыбора = Истина;
        Форма.Отбор.ссылка.ВидСравнения = ВидСравнения.ВСписке;
        Форма.Отбор.ссылка.Значение = Значение;
        Форма.Отбор.ссылка.Использование = Истина;
        форма.элементыформы.СправочникСписок.ИерархическийПросмотр=Ложь;
        Форма.Открыть();
    Сейчас отбор устанавливается по группе справочника сотрудники-по водителям., а нужно еще по не уволенным.
  4. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Код:
    уатСотрудники.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)

Поделиться этой страницей