Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 19:58

Запрос

Автор Shaman_blr, 04 окт 2023, 10:37

0 Пользователей и 1 гость просматривают эту тему.

Shaman_blr

Всем привет подскажите ответик.
ВЫБРАТЬ
ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Склад,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Номенклатура,
СУММА(ЮИ_ВыпускПродукцииПоПартиямОбороты.КоличествоЧистоеОборот) КАК КоличествоЧистое,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор.ЕдиницаРабочегоЦентра,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор.РабочийЦентр,
НАЧАЛОПЕРИОДА(ЮИ_ВыпускПродукцииПоПартиямОбороты.Период, МЕСЯЦ) КАК Период
ПОМЕСТИТЬ Выработка
ИЗ
РегистрНакопления.ЮИ_ВыпускПродукцииПоПартиям.Обороты(
&НачалоПериода,
&КонецПериода,
Регистратор,
Склад = &Склад
И Организация = &Организация) КАК ЮИ_ВыпускПродукцииПоПартиямОбороты
ГДЕ
ЮИ_ВыпускПродукцииПоПартиямОбороты.Номенклатура.ЮИ_ТипНоменклатуры <> ЗНАЧЕНИЕ(Справочник.ЮИ_ТипыНоменклатуры.МягкиеОтходы)
И ТИПЗНАЧЕНИЯ(ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор) <> ТИП(Документ.ЮИ_ВыполнениеТехнологическогоПроцесса)
И ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор.ТехнологическийПроцесс = &ТехнологическийПроцесс

СГРУППИРОВАТЬ ПО
ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Склад,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Номенклатура,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор.ЕдиницаРабочегоЦентра,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Регистратор.РабочийЦентр,
ЮИ_ВыпускПродукцииПоПартиямОбороты.Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Выработка.Регистратор,
Выработка.Склад,
Выработка.Номенклатура,
Выработка.КоличествоЧистое КАК Выработка,
ЮИ_ВремяНаработкиНоменклатурыОбороты.ВремяОборот КАК ВремяМинута,
Выработка.РегистраторЕдиницаРабочегоЦентра,
Выработка.РегистраторРабочийЦентр,
НАЧАЛОПЕРИОДА(Выработка.Период, ДЕНЬ) КАК Дата,
ДЕНЬ(КОНЕЦПЕРИОДА(Выработка.Период, МЕСЯЦ)) КАК КоличествоДнейМесяца,
НАЧАЛОПЕРИОДА(Выработка.Период, МЕСЯЦ) КАК МЕСЯЦ,
НАЧАЛОПЕРИОДА(Выработка.Период, КВАРТАЛ) КАК КВАРТАЛ,
НАЧАЛОПЕРИОДА(Выработка.Период, ГОД) КАК ГОД,
Выработка.Период,
ЮИ_ПроизводительностьОборудования.Период КАК Период1,
ЮИ_ПроизводительностьОборудования.Производительность КАК Производительность
ИЗ
Выработка КАК Выработка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЮИ_ВремяНаработкиНоменклатуры.Обороты(
&НачалоПериода,
&КонецПериода,
Регистратор,
Склад = &Склад
И Организация = &Организация) КАК ЮИ_ВремяНаработкиНоменклатурыОбороты
ПО Выработка.Регистратор = ЮИ_ВремяНаработкиНоменклатурыОбороты.Регистратор
И Выработка.Номенклатура = ЮИ_ВремяНаработкиНоменклатурыОбороты.Номенклатура
И Выработка.Склад = ЮИ_ВремяНаработкиНоменклатурыОбороты.Склад
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЮИ_ПроизводительностьОборудования КАК ЮИ_ПроизводительностьОборудования
ПО Выработка.Номенклатура.Код = ЮИ_ПроизводительностьОборудования.Номенклатура.Код
И Выработка.РегистраторРабочийЦентр.РабочийЦентр.Код = ЮИ_ПроизводительностьОборудования.РабочийЦентр.Код
И Выработка.Период = ЮИ_ПроизводительностьОборудования.Период
ГДЕ
Выработка.Номенклатура = &Номенклатура
И Выработка.РегистраторЕдиницаРабочегоЦентра = &РегистраторЕдиницаРабочегоЦентра
Если в регисте ЮИ_ПроизводительностьОборудования на определенный месяц заполнено число то оно подкидывается.
Но бывает такое что
например:
01.07.2023 стоит 77000
01.01.2024 стоит 89000

Когда я кручу отчет за 01.08.2023 у меня в производительности значение null ТАК КАК регистр не заполнен, подскажите что нужно дописать, если я кручу за 8 месяц и там пусто чтобы он брал за месяц который последний заполнен тобишь за 01.07.
Или я кручу за 01.09 и там пусто чтобы тоже брал за 01.07 так как он последний заполненый.

LexaK

Shaman_blr, почему связь делаете через Код?
вы совсем не понимаете что такое ссылка, для чего они и как ими пользоваться?
        ПО Выработка.Номенклатура.Код = ЮИ_ПроизводительностьОборудования.Номенклатура.Код
(это же самое Г..но из Г..на)
если помогло нажмите: Спасибо!

Shaman_blr

LexaK, у нас одна и так же номенклатура с одним и тем же названием. А код разный.
Ну вопрос был в другом вообще))

LexaK

Цитата: Shaman_blr от 04 окт 2023, 11:41у нас одна и так же номенклатура с одним и тем же названием. А код разный.
ой, как хорошо что в запросе вы не пишите так.
        ПО Выработка.Номенклатура.Наименование = ЮИ_ПроизводительностьОборудования.Номенклатура.Наименование

а если у вас будет (или уже есть) Номенклатура с одинаковыми Кодами?
представляете какая у вас будет каша в результате?

если помогло нажмите: Спасибо!

Shaman_blr

LexaK, ок) так как это решит мою проблему?)

LexaK

Shaman_blr, попробуйте такой запрос
ВЫБРАТЬ
    Выработка.Регистратор,
    Выработка.Склад,
    Выработка.Номенклатура,
    Выработка.КоличествоЧистое КАК Выработка,
    ЮИ_ВремяНаработкиНоменклатурыОбороты.ВремяОборот КАК ВремяМинута,
    Выработка.РегистраторЕдиницаРабочегоЦентра,
    Выработка.РегистраторРабочийЦентр,
    НАЧАЛОПЕРИОДА(Выработка.Период, ДЕНЬ) КАК Дата,
    ДЕНЬ(КОНЕЦПЕРИОДА(Выработка.Период, МЕСЯЦ)) КАК КоличествоДнейМесяца,
    НАЧАЛОПЕРИОДА(Выработка.Период, МЕСЯЦ) КАК МЕСЯЦ,
    НАЧАЛОПЕРИОДА(Выработка.Период, КВАРТАЛ) КАК КВАРТАЛ,
    НАЧАЛОПЕРИОДА(Выработка.Период, ГОД) КАК ГОД,
    Выработка.Период,
    ЮИ_ПроизводительностьОборудования.Период КАК Период1,
    ЮИ_ПроизводительностьОборудования.Производительность КАК Производительность
ИЗ
    Выработка КАК Выработка
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЮИ_ВремяНаработкиНоменклатуры.Обороты(
                &НачалоПериода,
                &КонецПериода,
                Регистратор,
                Склад = &Склад
                    И Организация = &Организация) КАК ЮИ_ВремяНаработкиНоменклатурыОбороты
        ПО Выработка.Регистратор = ЮИ_ВремяНаработкиНоменклатурыОбороты.Регистратор
            И Выработка.Номенклатура = ЮИ_ВремяНаработкиНоменклатурыОбороты.Номенклатура
            И Выработка.Склад = ЮИ_ВремяНаработкиНоменклатурыОбороты.Склад
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЮИ_ПроизводительностьОборудования КАК ЮИ_ПроизводительностьОборудования
        ПО Выработка.Номенклатура = ЮИ_ПроизводительностьОборудования.Номенклатура
            И Выработка.РегистраторРабочийЦентр.РабочийЦентр = ЮИ_ПроизводительностьОборудования.РабочийЦентр
            И Выработка.Период >= ЮИ_ПроизводительностьОборудования.Период
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЮИ_ПроизводительностьОборудования КАК Рег2
        ПО Рег2.Номенклатура = ЮИ_ПроизводительностьОборудования.Номенклатура
            И Рег2.РабочийЦентр = ЮИ_ПроизводительностьОборудования.РабочийЦентр
            И Рег2.Период > ЮИ_ПроизводительностьОборудования.Период
            И Выработка.Период >= Рег2.Период

ГДЕ
    Выработка.Номенклатура = &Номенклатура
    И Выработка.РегистраторЕдиницаРабочегоЦентра = &РегистраторЕдиницаРабочегоЦентра
и Рег2.Период Есть Null
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск