Запрос по переодическим реквизитам

Тема в разделе "1C и всё что с ней связано", создана пользователем SeverBap, 26 мар 2009.

  1. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    У вообщем так: Справочник комплект имеет периодический реквизит РабочееМесто (который тоже справочник) у него есть подразделение (тоесть в где находится рабочее место), вот мне нужно сделать выборку по подразделениям и получить какой комплект там установлен.
    Сейчас у меня такой запрос:
    Код (Text):
           
    ТекстЗапросаОборудование=
    "//{{ЗАПРОС(ЗапросПоОборудованию)
    |ОборудованиеЭлемент = Справочник.Комплект.ТекущийЭлемент;
    |ПодразделениеЭлемент = Справочник.Комплект.РабочееМесто.Подразделение.ТекущийЭлемент;
    |Группировка ПодразделениеЭлемент упорядочить по ПодразделениеЭлемент.Код;
    |Группировка ОборудованиеЭлемент упорядочить по ОборудованиеЭлемент.Код;
    |Условие(ПодразделениеЭлемент=Подразделение);
    |"//}}ЗАПРОС
    ;
    Есть конечно надумки такие:
    Код (Text):
            ТекстЗапросаОборудование=
    "//{{ЗАПРОС(ЗапросПоОборудованию)
    |ОборудованиеЭлемент = Справочник.Комплект.ТекущийЭлемент;
    |РабочееМесто = Справочник.Комплект.РабочееМесто.Получить(МояНужнаяДата);
    |Группировка РабочееМесто упорядочить по РабочееМесто.Подразделение.Код;
    |Группировка ОборудованиеЭлемент упорядочить по ОборудованиеЭлемент.Код;
    |Условие(РабочееМесто.Подразделение=Подразделение);
    |"//}}ЗАПРОС
    ;
    Но что-то не получается, подскажите (прямые запросы мне кажется только для SQL, а у меня DBF). :rolleyes:
     
  2. kaa

    kaa Гость

    а если использовать ВыбратьПоРеквизиту()
     
  3. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Делаю, но нужно через запрос!
     
  4. NomadSoul

    NomadSoul Гость

    Bap, а почему не указана дата, на которую следует брать периодический реквизит? Например следующий запрос выбирает периодический реквизит "Оклад" на дату "ДатаНа":
    "//{{ЗАПРОС(Сформировать)
    |Период с ДатаНа по ДатаНа;
    |Код = Справочник.Сотрудники.Код;
    |Наименование = Справочник.Сотрудники.Наименование;
    |Оклад = Справочник.Сотрудники.Оклад;
    |"//}}ЗАПРОС
     
  5. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Периодические реквизиты при вытаскивании запросом выдаются только на конечную дату периода запроса (для семерки) - так что выбрать усю периодику запросом не получиться. Проще через объект Периодический.
     
  6. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Все разобрался, нормально отбор работает!
     
  7. kaa

    kaa Гость

    ну так озвуч ;)
     
  8. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Все через запрос:
    Код (Text):
            ТекстЗапросаОборудование=
    "//{{ЗАПРОС(ЗапросПоОборудованию)
    |Период с ЗначениеГодаКонец по ЗначениеГодаКонец;
    |ОборудованиеЭлемент = Справочник.Комплект.ТекущийЭлемент;
    |ПодразделениеЭлемент = Справочник.Комплект.РабочееМесто.Подразделение.ТекущийЭлемент;
    |Группировка ПодразделениеЭлемент упорядочить по ПодразделениеЭлемент.Код;
    |Группировка ОборудованиеЭлемент упорядочить по ОборудованиеЭлемент.Код;
    |Условие(ПодразделениеЭлемент=Подразделение);
    |"//}}ЗАПРОС
    ;
    Остальное пришлось урезать, теперь сохраняет и выводит то что мне надо!
     
Загрузка...

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