Имя: Пароль:
1C
1С v8
Упорядочивание в построителе отчета
0 evgenius-inc
 
27.02.14
14:47
Есть запрос в построителе отчета
Текст Запроса =
    "ВЫБРАТЬ
    |    ВыборкаДляМинимальнойДаты.МинимальнаяДатаЗаказа КАК ДатаПервогоЗаказа,
    |    ВыборкаДляМаксимальнойДаты.МаксимальнаяДатаЗаказа КАК ДатаПоследнегоЗаказа,
    |    упТранспортныеУслугиОбороты.КоличествоОборот КАК КоличествоОборот,
    |    упТранспортныеУслугиОбороты.СуммаЗаказчикОборот КАК СуммаЗаказчикОборот,
    |    упТранспортныеУслугиОбороты.СуммаИсполнительОборот КАК СуммаИсполнительОборот,
    |    упТранспортныеУслугиОбороты.СуммаСкидкиНаценкиОборот КАК СуммаСкидкиНаценкиОборот,
    |    упТранспортныеУслугиОбороты.СуммаПремииОборот КАК СуммаПремииОборот,
    |    упТранспортныеУслугиОбороты.СуммаИсполнителяШтрафОборот КАК СуммаИсполнителяШтрафОборот,
    |    упТранспортныеУслугиОбороты.ПрочиеРасходыОборот КАК ПрочиеРасходыОборот,
    |    упТранспортныеУслугиОбороты.СуммаЗаказчикОборот - упТранспортныеУслугиОбороты.СуммаИсполнительОборот - упТранспортныеУслугиОбороты.СуммаСкидкиНаценкиОборот - упТранспортныеУслугиОбороты.СуммаПремииОборот + упТранспортныеУслугиОбороты.СуммаИсполнителяШтрафОборот - упТранспортныеУслугиОбороты.ПрочиеРасходыОборот КАК ВаловаяПрибыль,
    |    ВЫБОР
    |        КОГДА упТранспортныеУслугиОбороты.СуммаЗаказчикОборот = 0
    |                ИЛИ упТранспортныеУслугиОбороты.СуммаЗаказчикОборот ЕСТЬ NULL
    |            ТОГДА 0
    |        ИНАЧЕ ВЫРАЗИТЬ((упТранспортныеУслугиОбороты.СуммаЗаказчикОборот - упТранспортныеУслугиОбороты.СуммаИсполнительОборот - упТранспортныеУслугиОбороты.СуммаСкидкиНаценкиОборот - упТранспортныеУслугиОбороты.СуммаПремииОборот + упТранспортныеУслугиОбороты.СуммаИсполнителяШтрафОборот - упТранспортныеУслугиОбороты.ПрочиеРасходыОборот) / упТранспортныеУслугиОбороты.СуммаЗаказчикОборот * 100 КАК ЧИСЛО(15, 2))
    |    КОНЕЦ КАК Рентабельность
    |
    |{ВЫБРАТЬ
    |    КоличествоОборот,
    |    СуммаЗаказчикОборот,
    |    СуммаИсполнительОборот,
    |    СуммаСкидкиНаценкиОборот,
    |    СуммаПремииОборот,
    |    СуммаИсполнителяШтрафОборот,
    |    ВаловаяПрибыль,
    |    Рентабельность,
    |    ПрочиеРасходыОборот,
    |    ДатаПоследнегоЗаказа,
    |    ДатаПервогоЗаказа}
    |ИЗ
    |    РегистрНакопления.упТранспортныеУслуги.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК упТранспортныеУслугиОбороты  
    |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |            Заказы.Контрагент.ГоловнойКонтрагент КАК ГоловнойКонтрагент,
    |            МАКСИМУМ(Заказы.ДатаНачалаВыполненияПлан) КАК МаксимальнаяДатаЗаказа
    |        ИЗ
    |            Документ.упЗаказ КАК Заказы
    |        ГДЕ
    |            Заказы.СтатусЗаказа <> &Отменен
    |            И Заказы.ПометкаУдаления = ЛОЖЬ
    |            И Заказы.Фиктивный = ЛОЖЬ
    |            И Заказы.ВидОперации <> &Резерв
    |        
    |        СГРУППИРОВАТЬ ПО
    |            Заказы.Контрагент.ГоловнойКонтрагент) КАК ВыборкаДляМаксимальнойДаты
    |        ПО упТранспортныеУслугиОбороты.Контрагент.ГоловнойКонтрагент.Ссылка = ВыборкаДляМаксимальнойДаты.ГоловнойКонтрагент.Ссылка
    |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |            Заказы.Контрагент.ГоловнойКонтрагент КАК ГоловнойКонтрагент,
    |            МИНИМУМ(Заказы.ДатаНачалаВыполненияПлан) КАК МинимальнаяДатаЗаказа
    |        ИЗ
    |            Документ.упЗаказ КАК Заказы
    |        ГДЕ
    |            Заказы.СтатусЗаказа <> &Отменен
    |            И Заказы.ПометкаУдаления = ЛОЖЬ
    |            И Заказы.Фиктивный = ЛОЖЬ
    |            И Заказы.ВидОперации <> &Резерв
    |        
    |        СГРУППИРОВАТЬ ПО
    |            Заказы.Контрагент.ГоловнойКонтрагент) КАК ВыборкаДляМинимальнойДаты
    |        ПО упТранспортныеУслугиОбороты.Контрагент.ГоловнойКонтрагент.Ссылка = ВыборкаДляМинимальнойДаты.ГоловнойКонтрагент.Ссылка
    |{ГДЕ
    |    упТранспортныеУслугиОбороты.ТипПеревозки,
    |    упТранспортныеУслугиОбороты.КатегорияАвтомобиля,
    |    упТранспортныеУслугиОбороты.Заказ.ТипАвтомобиля КАК ТипАвтомобиля,
    |    упТранспортныеУслугиОбороты.Заказ.ТипКузова КАК ТипКузова,
    |    упТранспортныеУслугиОбороты.Заказ.Кругорейс КАК Кругорейс,
    |    упТранспортныеУслугиОбороты.Контрагент.* КАК Контрагент,
    |    упТранспортныеУслугиОбороты.Исполнитель.*,
    |    упТранспортныеУслугиОбороты.Водитель.*,
    |    упТранспортныеУслугиОбороты.Автомобиль.*,
    |    упТранспортныеУслугиОбороты.Заказ.*,
    |    упТранспортныеУслугиОбороты.КоличествоОборот,
    |    упТранспортныеУслугиОбороты.СуммаЗаказчикОборот,
    |    упТранспортныеУслугиОбороты.СуммаИсполнительОборот,
    |    упТранспортныеУслугиОбороты.СуммаСкидкиНаценкиОборот,
    |    упТранспортныеУслугиОбороты.СуммаПремииОборот,
    |    упТранспортныеУслугиОбороты.СуммаИсполнителяШтрафОборот,
    |    (упТранспортныеУслугиОбороты.СуммаЗаказчикОборот - упТранспортныеУслугиОбороты.СуммаИсполнительОборот - упТранспортныеУслугиОбороты.СуммаСкидкиНаценкиОборот - упТранспортныеУслугиОбороты.СуммаПремииОборот + упТранспортныеУслугиОбороты.СуммаИсполнителяШтрафОборот) КАК ВаловаяПрибыль,
    |    (ВЫБОР
    |            КОГДА упТранспортныеУслугиОбороты.СуммаЗаказчикОборот = 0
    |                    ИЛИ упТранспортныеУслугиОбороты.СуммаЗаказчикОборот ЕСТЬ NULL
    |                ТОГДА 0
    |            ИНАЧЕ ВЫРАЗИТЬ((упТранспортныеУслугиОбороты.СуммаЗаказчикОборот - упТранспортныеУслугиОбороты.СуммаИсполнительОборот - упТранспортныеУслугиОбороты.СуммаСкидкиНаценкиОборот - упТранспортныеУслугиОбороты.СуммаПремииОборот + упТранспортныеУслугиОбороты.СуммаИсполнителяШтрафОборот) / упТранспортныеУслугиОбороты.СуммаЗаказчикОборот * 100 КАК ЧИСЛО(15, 2))
    |        КОНЕЦ) КАК Рентабельность}
    |{УПОРЯДОЧИТЬ ПО
    |    упТранспортныеУслугиОбороты.Контрагент.* КАК КонтрагентСортировка}
    |ИТОГИ
    |    СУММА(КоличествоОборот),
    |    СУММА(СуммаЗаказчикОборот),
    |    СУММА(СуммаИсполнительОборот),
    |    СУММА(СуммаСкидкиНаценкиОборот),
    |    СУММА(СуммаПремииОборот),
    |    СУММА(СуммаИсполнителяШтрафОборот),
    |    СУММА(ПрочиеРасходыОборот),
    |    СУММА(ВаловаяПрибыль),
    |    ВЫБОР
    |        КОГДА СУММА(СуммаЗаказчикОборот) = 0
    |            ТОГДА 0
    |        ИНАЧЕ ВЫРАЗИТЬ(СУММА(ВаловаяПрибыль) / СУММА(СуммаЗаказчикОборот) * 100 КАК ЧИСЛО(15, 2))
    |    КОНЕЦ КАК Рентабельность
    |ПО
    |    ОБЩИЕ,
    |    ДатаПоследнегоЗаказа,
    |    ДатаПервогоЗаказа
    |{ИТОГИ ПО
    |    упТранспортныеУслугиОбороты.ТипПеревозки,
    |    упТранспортныеУслугиОбороты.КатегорияАвтомобиля,
    |    упТранспортныеУслугиОбороты.Заказ.ТипАвтомобиля КАК ТипАвтомобиля,
    |    упТранспортныеУслугиОбороты.Заказ.ТипКузова КАК ТипКузова,
    |    упТранспортныеУслугиОбороты.Заказ.Кругорейс КАК Кругорейс,
    |    упТранспортныеУслугиОбороты.Контрагент.*,
    |    упТранспортныеУслугиОбороты.Исполнитель.*,
    |    упТранспортныеУслугиОбороты.Водитель.*,
    |    упТранспортныеУслугиОбороты.Автомобиль.*,
    |    упТранспортныеУслугиОбороты.Заказ.*,
    |    упТранспортныеУслугиОбороты.Регистратор}    ";
При формировании отчета хочу отсортировать по головному контрагенту, но ничего не получается. Если убрать соединения с таблицами тогда сортирует. В чем дело не пойму
1 Defender aka LINN
 
27.02.14
14:48
(0) Судя по коду, отсортировать ты хочешь, пристально глядя в монитор? Или в дисковод говоришь, как сортировать?
2 evgenius-inc
 
27.02.14
14:51
Сортирую через: УниверсальныйОтчет.ПостроительОтчета.Порядок.Добавить("КонтрагентСортировка");
3 catena
 
27.02.14
14:59
(2)У тебя КонтрагентСортировка не головной контрагент же.
4 evgenius-inc
 
27.02.14
15:02
Да и головного когда прописываю никакой разницы
5 evgenius-inc
 
27.02.14
15:45
up
6 Михаил Козлов
 
27.02.14
15:55
Встаньте отладчиком в модуле отчета в СформироватьОтчет и посмотрите текст запроса, который формирует построитель: Построитель.ПолучитьЗапрос().Текст.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс