Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Построитель отчета и пакет запросов

Построитель отчета и пакет запросов
Я
   Родом из детства
 
19.03.21 - 15:23
Итак, имеется обработка. Реквизит - ПостроительОтчета. На форме обработке у меня две таблицы, в первой - заказы, во второй - работники(работник|текущее количество заказов). Перетаскиванием заказ назначается работнику. Хотелось одним выполнением построителя заполнять обе эти таблицы. Для заполнения таблицы с работниками создал пакет запросов. Однако, так и не понял, как выполнить пакетный запрос? Чтобы потом можно было пройтись по результатам вирт.таблиц? Что-то типо ПостроительДерева.ВыполнитьПакет();
Заранее спасибо за ответы)
   Родом из детства
 
1 - 19.03.21 - 15:25
ВЫБРАТЬ
    RGS_ДействияОператоров.Период,
    RGS_ДействияОператоров.Объект,
    RGS_ДействияОператоров.ВидДействияОператора,
    RGS_ДействияОператоров.Пользователь,
    RGS_ДействияОператоров.Объект.Маршрут.ПунктПрибытия
ПОМЕСТИТЬ ВТ_ГрузыПрошедшиеКонтроль
ИЗ
    РегистрСведений.RGS_ДействияОператоров КАК RGS_ДействияОператоров
ГДЕ
    RGS_ДействияОператоров.Период >= &Период
    И RGS_ДействияОператоров.ВидДействияОператора = ЗНАЧЕНИЕ(Перечисление.RGS_ВидыДействийОператора.КонтрольСГ)
    И RGS_ДействияОператоров.Объект.Маршрут.ПунктПрибытия = &ПунктПрибытия
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    RGS_СтатусыСборкиСрезПоследних.Груз,
    RGS_СтатусыСборкиСрезПоследних.Грузчик,
    RGS_СтатусыСборкиСрезПоследних.Статус КАК СтатусГотовности
ПОМЕСТИТЬ ВТ_СтатусыСборки
ИЗ
    РегистрСведений.RGS_СтатусыСборки.СрезПоследних(, Склад = &Склад) КАК RGS_СтатусыСборкиСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    RGS_ГрузчикиСрезПоследних.Сотрудник,
    ЕСТЬNULL(ВложенныйЗапрос.КоличествоАктивныхГрузов, 0) КАК КоличествоАктивныхЗаказов
ПОМЕСТИТЬ ВТ_Грузчики
ИЗ
    РегистрСведений.RGS_Грузчики.СрезПоследних(
            ,
            НазначениеНаСборку = ИСТИНА
                И Сотрудник.Подразделение = &Подразделение) КАК RGS_ГрузчикиСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            RGS_СтатусыСборкиСрезПоследних.Грузчик КАК Грузчик,
            КОЛИЧЕСТВО(RGS_СтатусыСборкиСрезПоследних.Груз) КАК КоличествоАктивныхГрузов
        ИЗ
            РегистрСведений.RGS_СтатусыСборки.СрезПоследних(, Склад = &Склад) КАК RGS_СтатусыСборкиСрезПоследних
        ГДЕ
            RGS_СтатусыСборкиСрезПоследних.Статус = ЗНАЧЕНИЕ(Перечисление.RGS_СтатусыГрузаНаСкладе.Собирается)
        
        СГРУППИРОВАТЬ ПО
            RGS_СтатусыСборкиСрезПоследних.Грузчик) КАК ВложенныйЗапрос
        ПО RGS_ГрузчикиСрезПоследних.Сотрудник = ВложенныйЗапрос.Грузчик
{ГДЕ
    RGS_ГрузчикиСрезПоследних.Сотрудник}
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_ГрузыПрошедшиеКонтроль.Объект КАК СборныйГруз,
    ВТ_ГрузыПрошедшиеКонтроль.Объект.Маркировка КАК Маркировка,
    ВТ_ГрузыПрошедшиеКонтроль.Объект.ВесНетто КАК Вес,
    ВТ_ГрузыПрошедшиеКонтроль.Объект.Объем КАК Объем,
    ВТ_ГрузыПрошедшиеКонтроль.Объект.КоличествоМест КАК КоличествоМестВсего,
    ГрузыНаСкладахОстатки.Ячейка КАК Ячейка,
    ЕСТЬNULL(ГрузыНаСкладахОстатки.КоличествоОстаток, 0) КАК МестВЯчейке,
    ВТ_ГрузыПрошедшиеКонтроль.Объект.Грузополучатель КАК Грузополучатель,
    уатЗаказГрузоотправителя_уэТовары.Длина,
    уатЗаказГрузоотправителя_уэТовары.Ширина,
    уатЗаказГрузоотправителя_уэТовары.Высота,
    ВТ_ГрузыПрошедшиеКонтроль.Объект.Доставка,
    ВТ_СтатусыСборки.Грузчик,
    ВТ_СтатусыСборки.СтатусГотовности КАК СтатусГотовности
ИЗ
    ВТ_ГрузыПрошедшиеКонтроль КАК ВТ_ГрузыПрошедшиеКонтроль
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ГрузыНаСкладах.Остатки КАК ГрузыНаСкладахОстатки
        ПО ВТ_ГрузыПрошедшиеКонтроль.Объект = ГрузыНаСкладахОстатки.Груз
            И ВТ_ГрузыПрошедшиеКонтроль.ОбъектМаршрутПунктПрибытия = ГрузыНаСкладахОстатки.Склад.ПунктНазначения
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.уатЗаказГрузоотправителя_уэ.Товары КАК уатЗаказГрузоотправителя_уэТовары
        ПО ВТ_ГрузыПрошедшиеКонтроль.Объект = уатЗаказГрузоотправителя_уэТовары.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтатусыСборки КАК ВТ_СтатусыСборки
        ПО ВТ_ГрузыПрошедшиеКонтроль.Объект = ВТ_СтатусыСборки.Груз
{ГДЕ
    ВТ_ГрузыПрошедшиеКонтроль.Объект.Маркировка,
    ВТ_СтатусыСборки.СтатусГотовности}

УПОРЯДОЧИТЬ ПО
    СтатусГотовности,
    СборныйГруз
   Родом из детства
 
2 - 19.03.21 - 15:26
(1) Общий результат хочу поместить в одну таблицу, а результат вирт таблицы "ВТ_Грузчики", в другую
   Ёпрст
 
3 - 19.03.21 - 15:33
(0) текст запроса построителя скармливай обычному запросу, устанавливай параметры запроса из настроек построителя и потом уже, выполняй пакет.
   Родом из детства
 
4 - 19.03.21 - 15:34
(3) ну это дроч какой-то, тогда проще прост отдельным запросом тч грузчиков заполнить. Думал, может, функционал такой имеется у построителя, просто я не заметил. Но спасибо за совет%)
   Ёпрст
 
5 - 19.03.21 - 16:04
(4) Это нормальное поведение, так ты используешь все отборы от построителя в обычном запросе.
   Ёпрст
 
6 - 19.03.21 - 16:05
+ временные таблички, полученные из ТЗ  и т.д.
   Родом из детства
 
7 - 19.03.21 - 16:31
(6) Ааа, я сначала, похоже, немного не так понял. Ну да, имеет смысл. Спасибо!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.