Простое условие в запросе #688152


#0 by Chum
Есть регистр сведений: Измерения: Нужно получить таблицу: Этап1 Этап2 ВесПлан ВесФакт РасстояниеПлан РасстояниеФакт ДатаInПлан ДатаOutПлан ДатаInФакт ДатаOutФакт Вес, расстояние и т.д. нужно раскидать в разные колонки из этого регистра в зависимости от значения измерения План: если истина, то в колонки План, иначе в Факт. Не могу сообразить как создать запрос. Вроде ВЫБОР нужно использовать?
#1 by mikecool
надо использовать выбор
#2 by Maxus43
да, ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ
#3 by Chum
А еще нужно свернуть эту таблицу по измерениям Этап1 и Этап2, План нужен только для раскидывания ресурсов и реквизитов по разным колонкам
#4 by Chum
т.е. что-то вроде: Выбор Когда План Тогда РегистрСведений.ХХХ.Вес Конец Как ВесПлан Выбор Когда НЕ План Тогда РегистрСведений.ХХХ.Вес Конец Как ВесФакт ???
#5 by 1dvd
да, но и про ИНАЧЕ не забудь
#6 by Chum
ага т.е. что-то вроде: Выбор Когда План Тогда РегистрСведений.ХХХ.Вес иначе 0 Конец Как ВесПлан
#7 by Classic
Просто вроде не отработает
#8 by vicof
Отработает
#9 by Classic
Тем лучше
#10 by Chum
Ушел проверять. Спасибо за подсказки
#11 by Chum
Коллеги, а как свернуть результат запроса при его выполнении? Склепал вот такой запрос. Отрабатывает, но выдает результат в виде шахматной доски. мне нужны данные, свернутые по трем колонкам: МаршрутныйЛист ПунктОтправления ПунктПрибытия остальные колонки должны быть схлопнуты Пробовал убрать группировку по полю План, но тогда ругается на ВЫБОР КОГДА ВыполнениеМаршрутногоЗадания.План, что нет группировки.
#12 by Ненавижу 1С
как планируешь "схлопнуть" даты?
#13 by Chum
дата там или есть, или ее нет. Вообще, идеальная картинка была бы такой:
#14 by Chum
т.е. я хотел сказать, что две строки, в одной дата есть, в другой даты нет. Нужно получить одну строку с датой.
#15 by viktor_vv
Можно еще саму с собой таблицу полным соединением соединить, тогда без Выбор можно обойтись, и с датами тогда можно разрулить по идее.    ПО ВыполнениеМаршрутногоЗаданияФакт.МаршрутныйЛист.ДатаИВремяОтправленияПлан МЕЖДУ НачалоПериода(&НачПериода, День) И КонецПериода(&КонПериода, День) И ВыполнениеМаршрутногоЗаданияПлан.Факт И   ВыполнениеМаршрутногоЗаданияПлан.МаршрутныйЛист = ВыполнениеМаршрутногоЗаданияФакт.МаршрутныйЛист И т. д. тут правда прикинуть как правильнее в Где условие указать.
#16 by r_p
Группируй с функцией МАКСИМУМ
#17 by Chum
блин... дошло. да, спасибо. через соединение попробую. Попробую вариант соединения с сортировкой даты по убыванию и выборкой первой строки.
#18 by Chum
например?
#19 by r_p
В конструкторе запроса на вкладке "Группировка" засунь твои даты в суммируемые поля, функцию выбери МАКСИМУМ. И все сложится.
#20 by viktor_vv
И таки да, номрмально. Только В Максимум нельзя Выбор засунуть, вроде как. Если так, то надо сверху еще одним Выбрать обернуть.
#21 by r_p
А вот и можно. Готов поспорить на 100 долларов =)
#22 by viktor_vv
Не, спорить не буду :). Сейчас сам забесплатно почитаю, проверю :).
#23 by Chum
получилось. премного благодарен что-то вроде этого:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С