|
Отчет НаличиеЗаявкиТМЦПоОбъектам. Проблемы с выводом заявок ТМЦ определенного статуса. | ☑ | ||
---|---|---|---|---|
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) Без проблем. Обращайся
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |