8.х Запрос Регистр сведений

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Антон87, 31 май 2012.

  1. TopicStarter Overlay
    Антон87
    Offline

    Антон87

    Регистрация:
    26 апр 2012
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Есть Регистр сведений, тмбШтабели с измерениями ПриходныйОрдер, РасходныйОрдер, НОменклатура, ХарактеристикаНоменклатуры и с ресурсом НомерШтабеля(Регистр "самодельный" для типовой конфигурации, так как нету в типовой конфигурации вообще штабелей). и для каждой записи может быть заполнен либо ПРиходныйОрдер либо РасходныйОрдерИз него нужно выбрать записи по определенному номеру штабеля, но только с заполненным полем приходный.
  2. TopicStarter Overlay
    Антон87
    Offline

    Антон87

    Регистрация:
    26 апр 2012
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    сделал так:
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    | тмбШтабель.Ссылка,
    | тмбШтабель.СтатусШтабеля
    |ПОМЕСТИТЬ ВТ_Штабели
    |ИЗ
    | Справочник.тмбШтабель КАК тмбШтабель
    |ГДЕ
    | (тмбШтабель.СтатусШтабеля = &СтатусШтабеля
    |   ИЛИ тмбШтабель.СтатусШтабеля = &СтатусШтабеля1)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВТ_Штабели.Ссылка КАК Номер,
    | ВТ_Штабели.СтатусШтабеля,
    | ЕСТЬNULL(тмбШтабели.ПриходныйОрдер.Ссылка,0)КАК ПриходныйОрдерСсылка,
    | тмбШтабели.Номенклатура.Ссылка,
    | тмбШтабели.ХарактеристикиНоменклатуры.Ссылка
    |ПОМЕСТИТЬ ВТ_Приход
    |ИЗ
    | РегистрСведений.тмбШтабели КАК тмбШтабели,
    | ВТ_Штабели КАК ВТ_Штабели
    |ГДЕ
    | тмбШтабели.НомерШтабеля.Ссылка = ВТ_Штабели.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВТ_Приход.Номер,
    | ВТ_Приход.СтатусШтабеля,
    | ВТ_Приход.ПриходныйОрдерСсылка,
    | ВТ_Приход.НоменклатураСсылка,
    | ВТ_Приход.ХарактеристикиНоменклатурыСсылка
    |ИЗ
    | ВТ_Приход КАК ВТ_Приход
    |ГДЕ
    | ВТ_Приход.ПриходныйОрдерСсылка <> 0";
    Запрос.УстановитьПараметр("СтатусШтабеля", <СтатусШтабеля>);  //Тмб статусы штабелей
    Запрос.УстановитьПараметр("СтатусШтабеля1", <СтатусШтабеля1>);  //Тмб статусы штабелей
    РезультатЗапроса = Запрос.Выполнить();
    В принципе работает. :sm_rolleyes:
    может можно как то по-другому сделать?
  3. TopicStarter Overlay
    Антон87
    Offline

    Антон87

    Регистрация:
    26 апр 2012
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    сам разобрался :yahoo:
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    | тмбШтабель.Ссылка,
    | тмбШтабель.СтатусШтабеля
    |ПОМЕСТИТЬ ВТ_Штабели
    |ИЗ
    | Справочник.тмбШтабель КАК тмбШтабель
    |ГДЕ
    | (тмбШтабель.СтатусШтабеля = &СтатусШтабеля
    |   ИЛИ тмбШтабель.СтатусШтабеля = &СтатусШтабеля1)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВТ_Штабели.Ссылка КАК Номер,
    | ВТ_Штабели.СтатусШтабеля,
    | тмбШтабели.ПриходныйОрдер.Ссылка КАК ПриходныйОрдерСсылка,
    | тмбШтабели.Номенклатура.Ссылка,
    | тмбШтабели.ХарактеристикиНоменклатуры.Ссылка
    |ИЗ
    | РегистрСведений.тмбШтабели КАК тмбШтабели,
    | ВТ_Штабели КАК ВТ_Штабели
    |ГДЕ
    | тмбШтабели.НомерШтабеля.Ссылка = ВТ_Штабели.Ссылка
    | И тмбШтабели.ПриходныйОрдер.Ссылка <> &ПриходныйОрдер";
    Запрос.УстановитьПараметр("ПриходныйОрдер", Документы.ПриходныйОрдерНаТовары.ПустаяСсылка());
    Запрос.УстановитьПараметр("СтатусШтабеля", <СтатусШтабеля>);  //Тмб статусы штабелей
    Запрос.УстановитьПараметр("СтатусШтабеля1", <СтатусШтабеля1>);  //Тмб статусы штабелей
    РезультатЗапроса = Запрос.Выполнить();
    Просто все запросы делаю через консоль, а там чтоб задать параметр ПриходныйОрдер нужно было выбрать тип параметра "строка" и туда вписать значение

    Спросил и сам себе ответил...

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