Получение значение реквизита ТЗ между датами в запросе
Добрый день. Помогите понять почему в запросе выводимое значение получается не между условиями ргПутевойЛистУслуги.ДатаВыполненияМП > ВложенныйЗапрос.Поле2 И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле3, а с начала периода отбора?
по этому условию получаю нужное количество.
По второму условию, получается количество в сумме с первым условием
Или по такому условию
Весь запрос
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП > НАЧАЛОПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ)
И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле1
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ)
по этому условию получаю нужное количество.
По второму условию, получается количество в сумме с первым условием
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП МЕЖДУ ВложенныйЗапрос.Поле1 И ВложенныйЗапрос.Поле2
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ)
Или по такому условию
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП > ВложенныйЗапрос.Поле2
И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле3
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ)
Весь запрос
ВЫБРАТЬ
ргПутевойЛист.Автомашина КАК Автомашина,
СУММА(ргПутевойЛистУслуги.КоличествоМП) КАК КоличествоМП,
СУММА(ргПутевойЛистУслуги.Количество) КАК Количество,
ргПутевойЛист.Дата КАК Дата,
НАЧАЛОПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ) КАК Дата1,
КОНЕЦПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ) КАК Дата2,
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП > НАЧАЛОПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ)
И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле1
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ) КАК Выгрузка1,
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП МЕЖДУ ВложенныйЗапрос.Поле1 И ВложенныйЗапрос.Поле2
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ) КАК Выгрузка2,
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП > ВложенныйЗапрос.Поле2
И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле3
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ) КАК Выгрузка3,
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП > ВложенныйЗапрос.Поле3
И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле4
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ) КАК Выгрузка4,
СУММА(ВЫБОР
КОГДА ргПутевойЛистУслуги.ДатаВыполненияМП > ВложенныйЗапрос.Поле4
И ргПутевойЛистУслуги.ДатаВыполненияМП < ВложенныйЗапрос.Поле5
ТОГДА ргПутевойЛистУслуги.КоличествоМП
ИНАЧЕ 0
КОНЕЦ) КАК Выгрузка5,
ВложенныйЗапрос.Поле1 КАК Поле1,
ВложенныйЗапрос.Поле2 КАК Поле2,
ВложенныйЗапрос.Поле3 КАК Поле3,
ВложенныйЗапрос.Поле4 КАК Поле4,
ВложенныйЗапрос.Поле5 КАК Поле5
ИЗ
Документ.ргПутевойЛист КАК ргПутевойЛист
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ргПутевойЛист.Услуги КАК ргПутевойЛистУслуги
ПО ргПутевойЛист.Ссылка = ргПутевойЛистУслуги.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ргПутевойЛист.Ссылка КАК Ссылка,
ргПутевойЛистЗахоронение.НомерСтроки КАК НомерСтроки,
ргПутевойЛистЗахоронение.ДатаЗаезда КАК ДатаЗаезда,
ВЫБОР
КОГДА ргПутевойЛистЗахоронение.НомерСтроки = 1
ТОГДА ргПутевойЛистЗахоронение.ДатаЗаезда
ИНАЧЕ 0
КОНЕЦ КАК Поле1,
ВЫБОР
КОГДА ргПутевойЛистЗахоронение.НомерСтроки = 2
ТОГДА ргПутевойЛистЗахоронение.ДатаЗаезда
ИНАЧЕ 0
КОНЕЦ КАК Поле2,
ВЫБОР
КОГДА ргПутевойЛистЗахоронение.НомерСтроки = 3
ТОГДА ргПутевойЛистЗахоронение.ДатаЗаезда
ИНАЧЕ 0
КОНЕЦ КАК Поле3,
ВЫБОР
КОГДА ргПутевойЛистЗахоронение.НомерСтроки = 4
ТОГДА ргПутевойЛистЗахоронение.ДатаЗаезда
ИНАЧЕ 0
КОНЕЦ КАК Поле4,
ВЫБОР
КОГДА ргПутевойЛистЗахоронение.НомерСтроки = 5
ТОГДА ргПутевойЛистЗахоронение.ДатаЗаезда
ИНАЧЕ 0
КОНЕЦ КАК Поле5
ИЗ
Документ.ргПутевойЛист КАК ргПутевойЛист
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ргПутевойЛист.Захоронение КАК ргПутевойЛистЗахоронение
ПО ргПутевойЛист.Ссылка = ргПутевойЛистЗахоронение.Ссылка) КАК ВложенныйЗапрос
ПО ргПутевойЛист.Ссылка = ВложенныйЗапрос.Ссылка
ГДЕ
НАЧАЛОПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ) >= &НачалоПериода
И КОНЕЦПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ) <= &КонецПериода
СГРУППИРОВАТЬ ПО
ргПутевойЛист.Автомашина,
ргПутевойЛист.Дата,
НАЧАЛОПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ),
КОНЕЦПЕРИОДА(ргПутевойЛист.Дата, ДЕНЬ),
ВложенныйЗапрос.Поле1,
ВложенныйЗапрос.Поле2,
ВложенныйЗапрос.Поле3,
ВложенныйЗапрос.Поле4,
ВложенныйЗапрос.Поле5
ИТОГИ
СУММА(КоличествоМП),
СУММА(Количество)
ПО
Автомашина,
Дата,
Дата1,
Дата2
ПоказатьПрикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
не вникая в детали, я бы спросил, что предполагает получить автор, если дата равна одной из границ. Условия почти везде больше и меньше, а равно как-то не учтено.
Кроме условия между, которое, как я понимаю, включает обе свои границы, что тоже вызывает вопрос, куда должен попасть результат, когда даты равны, и почему только один интервал обе границы включает, и что вообще надо получить, и зачем так...
Как-то выглядит бессистемно.
Кроме условия между, которое, как я понимаю, включает обе свои границы, что тоже вызывает вопрос, куда должен попасть результат, когда даты равны, и почему только один интервал обе границы включает, и что вообще надо получить, и зачем так...
Как-то выглядит бессистемно.
(2) У документы есть 2 таблицы значения. Услуги и Захоронение.
В услугах есть колонки время выполнения и количество.
В захоронении Время заезда.
Необходимо посчитать количество из ТЗ Услуги во временных рамках:
1. От начала дня до первого ВремяЗаезда из ТЗ Захоронение
2. Между первым ВремяЗаезда и вторым ВремяЗаезда
3. и т.д.
Скриншоты во вложении
В услугах есть колонки время выполнения и количество.
В захоронении Время заезда.
Необходимо посчитать количество из ТЗ Услуги во временных рамках:
1. От начала дня до первого ВремяЗаезда из ТЗ Захоронение
2. Между первым ВремяЗаезда и вторым ВремяЗаезда
3. и т.д.
Скриншоты во вложении
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот