Имя: Пароль:
1C
1С v8
Отчет НаличиеЗаявкиТМЦПоОбъектам. Проблемы с выводом заявок ТМЦ определенного статуса.
0 Shitcoder
 
14.12.18
16:55
Здравствуйте.
Создаю отчет НаличиеЗаявкиТМЦПоОбъектам в конфигурации ERP 2.4.6.160.
Отчет выводит последние(хронологически) заявки ТМЦ по подразделениям.
Отчет работает, но выводит по каждому подразделению две заявки ТМЦ со статусами Аннулировано и Выполнено. Что можно сделать, чтобы выводились только заявки со статусом Выполнено? Статусы берутся из перечисления СтатусыЗаявокТМЦ. Я попробовал связать данное перечисление и документ ЗаявкаТМЦ, у них есть реквизиты Статус, но не совсем понимаю, какое условие следует написать, чтобы отчет заработал правильно.
Заранее спасибо.
Текст запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    СтруктураПредприятия.Ссылка КАК Ссылка,
    СтруктураПредприятия.Родитель КАК Родитель
ПОМЕСТИТЬ ВТ_СтруктураПредприятияРодители
ИЗ
    Справочник.СтруктураПредприятия КАК СтруктураПредприятия
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтруктураПредприятия КАК СтруктураПредприятия1
        ПО СтруктураПредприятия.Ссылка = СтруктураПредприятия1.Родитель

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    СтруктураПредприятия.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_СтруктураПредприятия
ИЗ
    Справочник.СтруктураПредприятия КАК СтруктураПредприятия
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтруктураПредприятияРодители КАК ВТ_СтруктураПредприятияРодители
        ПО СтруктураПредприятия.Ссылка = ВТ_СтруктураПредприятияРодители.Ссылка

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВТ_СтруктураПредприятия.Ссылка КАК Ссылка,
    ЕСТЬNULL(ДополнительныеСведения.Значение, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаОткрытия
ПОМЕСТИТЬ ВТ_ДатаОткрытия
ИЗ
    ВТ_СтруктураПредприятия КАК ВТ_СтруктураПредприятия
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
        ПО ВТ_СтруктураПредприятия.Ссылка = ДополнительныеСведения.Объект
            И (ДополнительныеСведения.Свойство = &ДатаОткрытияСвойство)

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВТ_СтруктураПредприятия.Ссылка КАК Ссылка,
    ЕСТЬNULL(ДополнительныеСведения.Значение, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаЗакрытия
ПОМЕСТИТЬ ВТ_ДатаЗакрытия
ИЗ
    ВТ_СтруктураПредприятия КАК ВТ_СтруктураПредприятия
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
        ПО ВТ_СтруктураПредприятия.Ссылка = ДополнительныеСведения.Объект
            И (ДополнительныеСведения.Свойство = &ДатаЗакрытияСвойство)

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЕСТЬNULL(ВТ_ДатаОткрытия.Ссылка, ВТ_ДатаЗакрытия.Ссылка) КАК Подразделение,
    МАКСИМУМ(ВТ_ДатаОткрытия.ДатаОткрытия) КАК ДатаОткрытия,
    МАКСИМУМ(ВТ_ДатаЗакрытия.ДатаЗакрытия) КАК ДатаЗакрытия
ПОМЕСТИТЬ ВТ_Подразделения
ИЗ
    ВТ_ДатаОткрытия КАК ВТ_ДатаОткрытия
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатаЗакрытия КАК ВТ_ДатаЗакрытия
        ПО ВТ_ДатаОткрытия.Ссылка = ВТ_ДатаЗакрытия.Ссылка
ГДЕ
    (ВТ_ДатаОткрытия.ДатаОткрытия <= &НаДату
            ИЛИ ВТ_ДатаОткрытия.ДатаОткрытия = ДАТАВРЕМЯ(1, 1, 1))
    И (ВТ_ДатаЗакрытия.ДатаЗакрытия <= &НаДату
            ИЛИ ВТ_ДатаЗакрытия.ДатаЗакрытия = ДАТАВРЕМЯ(1, 1, 1))

СГРУППИРОВАТЬ ПО
    ЕСТЬNULL(ВТ_ДатаОткрытия.Ссылка, ВТ_ДатаЗакрытия.Ссылка)

ИНДЕКСИРОВАТЬ ПО
    Подразделение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Склады.Ссылка КАК Склад,
    Склады.ТекущийОтветственный КАК ТекущийОтветственный
ПОМЕСТИТЬ ВТ_НеЗакрытыеСклады
ИЗ
    Справочник.Склады КАК Склады
ГДЕ
    НЕ Склады.Родитель В ИЕРАРХИИ (&СкладыЗакрытые)

ИНДЕКСИРОВАТЬ ПО
    Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(ВТ_НеЗакрытыеСклады.Склад, "<Склад не указан>") КАК Склад,
    ВТ_Подразделения.Подразделение КАК Подразделение,
    ЕСТЬNULL(ВТ_НеЗакрытыеСклады.ТекущийОтветственный, "<Склад не указан>") КАК Ответственный
ПОМЕСТИТЬ ВТ_Склады
ИЗ
    ВТ_Подразделения КАК ВТ_Подразделения
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_НеЗакрытыеСклады КАК ВТ_НеЗакрытыеСклады
        ПО ВТ_Подразделения.Подразделение = ВТ_НеЗакрытыеСклады.Склад.Подразделение

ИНДЕКСИРОВАТЬ ПО
    Подразделение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЕСТЬNULL(КВАН_ЗаявкаТМЦ.Статус, "<Заявка ТМЦ отсуствует>") КАК СтатусЗаявкаТМЦ,
    ЕСТЬNULL(КВАН_ЗаявкаТМЦ.Ссылка, "<Заявка ТМЦ отсутствует>") КАК СсылкаЗаявкаТМЦ,
    ВТ_Склады.Склад КАК Склад,
    ВТ_Склады.Подразделение КАК Подразделение,
    ВТ_Склады.Ответственный КАК Ответственный,
    ВЫБОР
        КОГДА КВАН_ЗаявкаТМЦ.Ссылка ЕСТЬ NULL
            ТОГДА ""
        ИНАЧЕ "V"
    КОНЕЦ КАК НаличиеЗаявкаТМЦ,
    ЕСТЬNULL(КВАН_ТоварыПоЗаявкамТМЦКОформлению.Регистратор.Ссылка, "<Внутренний заказ отсутствует>") КАК СсылкаВнутреннийЗаказ,
    ЕСТЬNULL(КВАН_ТоварыПоЗаявкамТМЦКОформлению.Регистратор.Статус, "<Внутренний заказ отутствует>") КАК СтатусВнутреннийЗаказ,
    ВЫБОР
        КОГДА КВАН_ТоварыПоЗаявкамТМЦКОформлению.Регистратор.Ссылка ЕСТЬ NULL
            ТОГДА ""
        ИНАЧЕ "V"
    КОНЕЦ КАК НаличиеВнутреннийЗаказ,
    КВАН_ЗаявкаТМЦ.Статус.Ссылка КАК СтатусСсылка,
    КВАН_СтатусыЗаявокТМЦ.Ссылка КАК Ссылка1
ИЗ
    ВТ_Склады КАК ВТ_Склады
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КВАН_ЗаявкаТМЦ КАК КВАН_ЗаявкаТМЦ
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КВАН_ТоварыПоЗаявкамТМЦКОформлению КАК КВАН_ТоварыПоЗаявкамТМЦКОформлению
            ПО КВАН_ЗаявкаТМЦ.Ссылка = КВАН_ТоварыПоЗаявкамТМЦКОформлению.ЗаявкаТМЦ
            ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.КВАН_СтатусыЗаявокТМЦ КАК КВАН_СтатусыЗаявокТМЦ
            ПО КВАН_ЗаявкаТМЦ.Статус.Ссылка = КВАН_СтатусыЗаявокТМЦ.Ссылка
        ПО ВТ_Склады.Подразделение = КВАН_ЗаявкаТМЦ.Подразделение
            И (КВАН_ЗаявкаТМЦ.ДатаНачалаДействия <= &НаДату)
            И (КВАН_ЗаявкаТМЦ.ДатаОкончанияДействия >= &НаДату)
1 Shitcoder
 
14.12.18
17:54
Все получилось, спасибо.
2 zmaximka
 
14.12.18
18:41
(1) Без проблем. Обращайся
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.