Имя: Пароль:
1C
1С v8
сортировка в сравнительный анализ движения ДС отчет УПП
,
0 Валидатор
 
09.10.13
12:38
вот как выглядит данный отчет:
http://pikucha.ru/ic8Ri
можно ли типовыми средствами сделать сортировку по номеру статьи? Чтобы после 99 не шла первая, а был подрядок: 1,2, 3 и т.д.?
1 Валидатор
 
09.10.13
12:40
ПостроительОтчета.Порядок.Добавить("НомерСценария","НомерСценария",,НаправлениеСортировки.Возр);

эта строка как то совсем не сортирует по возрастанию(
2 Валидатор
 
09.10.13
12:57
по датам видимо он выводит эти статьи, когда какая была, а как сделать чтобы по номерам статей была сортировка?
3 Валидатор
 
09.10.13
13:15
знает кто?
4 Maxus43
 
09.10.13
13:21
чтобы шли по порядку надо сортировать по Числу, а не строке, можешь доп поле добавить невидимое для сортировки
5 Валидатор
 
09.10.13
13:27
(4) статья наименование - 1. Средства от покупателей,
2. Прочие доходы, эти цифры они в наименование вписаны, то есть тип строка все равно получается
6 Maxus43
 
09.10.13
13:27
(5) ну а я о чем? доп числовое поле добавляй для сортировки
7 Валидатор
 
09.10.13
13:29
(6) на макете отчета?
8 Валидатор
 
09.10.13
13:29
(6) просто не совсем понимаю как сделать в унвиерсальном отчете с макетом, в обычном универсальном отчете было бы просто)
9 Maxus43
 
09.10.13
13:33
(8) в запросе поле, по нему сортировка, а вывод в отчет без этого поля конечно
10 Валидатор
 
09.10.13
13:37
(9) так а в чем смысл в запрос добавлять пустое поле числовое, которое никак не связано с сценарием? не понимаю
11 Валидатор
 
09.10.13
13:46
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ДанныеСценариев.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
    ДанныеСценариев.СуммаПриходУпр_0 КАК СуммаПриходУпр_0,
    ДанныеСценариев.СуммаРасходУпр_0 КАК СуммаРасходУпр_0,
    ДанныеСценариев.ДенежныйПотокУпр_0 КАК ДенежныйПотокУпр_0
{ВЫБРАТЬ
    ДанныеСценариев.СтатьяДвиженияДенежныхСредств.* КАК СтатьяДвиженияДенежныхСредств,
    ДанныеСценариев.ВидДенежныхСредств КАК ВидДенежныхСредств,
    ДанныеСценариев.НомерСценария,
    ДанныеСценариев.Период КАК Период,
    ДанныеСценариев.ЦФО.* КАК ЦФО,
    ДанныеСценариев.Проект.* КАК Проект,
    ДанныеСценариев.Контрагент.* КАК Контрагент,
    ДанныеСценариев.ДоговорКонтрагента.* КАК ДоговорКонтрагента,
    ДанныеСценариев.Сделка.* КАК Сделка,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, ДЕНЬ)) КАК ПериодДень,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, МЕСЯЦ)) КАК ПериодМесяц,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, КВАРТАЛ)) КАК ПериодКвартал,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, ГОД)) КАК ПериодГод,
    ДанныеСценариев.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств}
ИЗ
    (ВЫБРАТЬ
        &ПараметрНомерСценария_0 КАК НомерСценария,
        &ПараметрВидДанных_0 КАК ВидДанных,
        &ПустойСценарий КАК Сценарий,
        Факт_0.Период КАК Период,
        Факт_0.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
        Факт_0.ПриходРасход КАК ПриходРасход,
        Факт_0.ВидДенежныхСредств КАК ВидДенежныхСредств,
        Факт_0.ЦФО КАК ЦФО,
        Факт_0.Проект КАК Проект,
        Факт_0.Контрагент КАК Контрагент,
        Факт_0.ДоговорКонтрагента КАК ДоговорКонтрагента,
        Факт_0.Сделка КАК Сделка,
        Факт_0.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
        СУММА(Факт_0.СуммаПриходУпр) КАК СуммаПриходУпр_0,
        СУММА(Факт_0.СуммаРасходУпр) КАК СуммаРасходУпр_0,
        СУММА(Факт_0.ДенежныйПотокУпр) КАК ДенежныйПотокУпр_0
    ИЗ
        (ВЫБРАТЬ
            ФактДвижения.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
            ФактДвижения.ПриходРасход КАК ПриходРасход,
            ФактДвижения.ВидДенежныхСредств КАК ВидДенежныхСредств,
            ФактДвижения.ЦФО КАК ЦФО,
            ФактДвижения.Проект КАК Проект,
            ФактДвижения.Контрагент КАК Контрагент,
            ФактДвижения.ДоговорКонтрагента КАК ДоговорКонтрагента,
            ФактДвижения.Сделка КАК Сделка,
            ФактДвижения.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
            ФактДвижения.Период КАК Период,
            ФактДвижения.СуммаПриходВал КАК СуммаПриходВал,
            ФактДвижения.СуммаПриходУпр КАК СуммаПриходУпр,
            ФактДвижения.СуммаРасходВал КАК СуммаРасходВал,
            ФактДвижения.СуммаРасходУпр КАК СуммаРасходУпр,
            ФактДвижения.СуммаПриходВал - ФактДвижения.СуммаРасходВал КАК ДенежныйПотокВал,
            ФактДвижения.СуммаПриходУпр - ФактДвижения.СуммаРасходУпр КАК ДенежныйПотокУпр
        ИЗ
            (ВЫБРАТЬ
                ФактПоступления.Период КАК Период,
                ВЫБОР
                    КОГДА ЕСТЬNULL(ФактПоступления.ДокументПланированияПлатежа.ЦФО, &ПустойЦФО) = &ПустойЦФО
                        ТОГДА ФактПоступления.ДокументДвижения.Подразделение
                    ИНАЧЕ ФактПоступления.ДокументПланированияПлатежа.ЦФО
                КОНЕЦ КАК ЦФО,
                ФактПоступления.ВидДенежныхСредств КАК ВидДенежныхСредств,
                ФактПоступления.БанковскийСчетКасса.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
                ФактПоступления.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
                ФактПоступления.ПриходРасход КАК ПриходРасход,
                ФактПоступления.Проект КАК Проект,
                ФактПоступления.Контрагент КАК Контрагент,
                ФактПоступления.ДоговорКонтрагента КАК ДоговорКонтрагента,
                ФактПоступления.Сделка КАК Сделка,
                ФактПоступления.СуммаОборот КАК СуммаПриходВал,
                ФактПоступления.СуммаУпрОборот КАК СуммаПриходУпр,
                0 КАК СуммаРасходВал,
                0 КАК СуммаРасходУпр
            ИЗ
                РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаНач_0, &ДатаКон_0, День, ПриходРасход = &Приход) КАК ФактПоступления
            
            ОБЪЕДИНИТЬ ВСЕ
            
            ВЫБРАТЬ
                ФактПлатежи.Период,
                ВЫБОР
                    КОГДА ЕСТЬNULL(ФактПлатежи.ДокументПланированияПлатежа.ЦФО, &ПустойЦФО) = &ПустойЦФО
                        ТОГДА ФактПлатежи.ДокументДвижения.Подразделение
                    ИНАЧЕ ФактПлатежи.ДокументПланированияПлатежа.ЦФО
                КОНЕЦ,
                ФактПлатежи.ВидДенежныхСредств,
                ФактПлатежи.БанковскийСчетКасса.ВалютаДенежныхСредств,
                ФактПлатежи.СтатьяДвиженияДенежныхСредств,
                ФактПлатежи.ПриходРасход,
                ФактПлатежи.Проект,
                ФактПлатежи.Контрагент,
                ФактПлатежи.ДоговорКонтрагента,
                ФактПлатежи.Сделка,
                0,
                0,
                ФактПлатежи.СуммаОборот,
                ФактПлатежи.СуммаУпрОборот
            ИЗ
                РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаНач_0, &ДатаКон_0, День, ПриходРасход = &Расход) КАК ФактПлатежи) КАК ФактДвижения) КАК Факт_0
    
    СГРУППИРОВАТЬ ПО
        Факт_0.Период,
        Факт_0.СтатьяДвиженияДенежныхСредств,
        Факт_0.ПриходРасход,
        Факт_0.ВидДенежныхСредств,
        Факт_0.ЦФО,
        Факт_0.Проект,
        Факт_0.Контрагент,
        Факт_0.ДоговорКонтрагента,
        Факт_0.Сделка,
        Факт_0.ВалютаДенежныхСредств) КАК ДанныеСценариев
{ГДЕ
    ДанныеСценариев.СтатьяДвиженияДенежныхСредств.*,
    ДанныеСценариев.ВидДенежныхСредств,
    ДанныеСценариев.ЦФО.*,
    ДанныеСценариев.Проект.*,
    ДанныеСценариев.Контрагент.*,
    ДанныеСценариев.ДоговорКонтрагента.*,
    ДанныеСценариев.Сделка.*,
    ДанныеСценариев.ВалютаДенежныхСредств}

УПОРЯДОЧИТЬ ПО
    ДанныеСценариев.НомерСценария
{УПОРЯДОЧИТЬ ПО
    ДанныеСценариев.НомерСценария,
    ДанныеСценариев.Период}
ИТОГИ
    СУММА(СуммаПриходУпр_0),
    СУММА(СуммаРасходУпр_0),
    СУММА(ДенежныйПотокУпр_0)
ПО
    ОБЩИЕ,
    СтатьяДвиженияДенежныхСредств ИЕРАРХИЯ
{ИТОГИ ПО
    ДанныеСценариев.СтатьяДвиженияДенежныхСредств.*,
    ДанныеСценариев.ВидДенежныхСредств,
    ДанныеСценариев.НомерСценария,
    ДанныеСценариев.Период КАК Период,
    ДанныеСценариев.ЦФО.*,
    ДанныеСценариев.Проект.*,
    ДанныеСценариев.Контрагент.*,
    ДанныеСценариев.ДоговорКонтрагента.*,
    ДанныеСценариев.Сделка.*,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, ДЕНЬ)) КАК ПериодДень,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, МЕСЯЦ)) КАК ПериодМесяц,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, КВАРТАЛ)) КАК ПериодКвартал,
    (НАЧАЛОПЕРИОДА(ДанныеСценариев.Период, ГОД)) КАК ПериодГод,
    ДанныеСценариев.ВалютаДенежныхСредств}



вот куда в этот запрос воткнуть новое поле? оО
12 Maxus43
 
09.10.13
13:52
погоди, цифра в каком справочнике?
13 Maxus43
 
09.10.13
13:53
Для примера, как делают в типовых даже, добавляют в справочник поле Порядок, числовой, и по нему сортируют элементы для отчетов где надо строгий порядок
14 Валидатор
 
09.10.13
13:55
15 Maxus43
 
09.10.13
13:58
(14)>(13), добавляй для Групп реквизит порядок числовой, по нему сортируй. Самое простое
16 Валидатор
 
09.10.13
13:58
(15) в справочнике статьи движения?
17 Maxus43
 
09.10.13
13:59
да
18 Валидатор
 
09.10.13
14:01
(17) потом этот реквизит выносить на форму, ту которая на картинке справа, где наименование код и группа, и каждой статье вот так приписывать вручную порядок потом?
19 Maxus43
 
09.10.13
14:03
(18) да, а в запросе просто сортируй по этому полю
20 Валидатор
 
09.10.13
14:06
(19) еще бы понять как в этом запросе, который весь модуль тут формируется и в итоге выдает какой то один нихрена не понятный запрос, сделать сортировку по полю)
21 Maxus43
 
09.10.13
14:09
УПОРЯДОЧИТЬ ПО
ДанныеСценариев.СтатьяДвиженияДенежныхСредств.Порядок    
ДанныеСценариев.НомерСценария
{УПОРЯДОЧИТЬ ПО
    ДанныеСценариев.НомерСценария,
    ДанныеСценариев.Период}
22 Валидатор
 
09.10.13
14:20
(21) вроде получилось, спс. И еще вопрос, а можно сделать группировки по приходу и расходу, чтобы сначала выпадала вся колонка прихода (колонка с документами поступления), и потом колонка расхода (по документа платежным). А то жалуются финансисты, что им неудобно линейкой мерить где приход где расход
23 Валидатор
 
09.10.13
14:20
Несмотря на то, что в конце есть общие итоги, говорят мы бюджет составляем, и нам нужно чтобы сначала выпадал весь приход, а потом весь расход
24 Maxus43
 
09.10.13
14:24
ну отсортируй ещё по ДанныеСценариев.СуммаПриходУпр_0, попробовать сложно чтоль? тут легче, поля числовые
25 Maxus43
 
09.10.13
14:25
или в запросе признак булево, поступление или расход это, и по нему сортировать
26 Валидатор
 
09.10.13
14:40
(25) как для них его поставить? я понимаю что на закладке условия, но там же нет приход расход
27 Maxus43
 
09.10.13
14:45
(26) у тебя есть ФактПлатежи и ФактПоступления даже, эти запросы Объединяются, в Одном поле истина, в другом Ложь и всё
28 Maxus43
 
09.10.13
14:47
ФактПоступления.СуммаУпрОборот КАК СуммаПриходУпр,
                0 КАК СуммаРасходВал,
+ Code
                0 КАК СуммаРасходУпр,
ИСТИНА Как ПриходРасход          
ИЗ
                РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаНач_0, &ДатаКон_0, День, ПриходРасход = &Приход) КАК ФактПоступления
            
            ОБЪЕДИНИТЬ ВСЕ
.....................
             ФактПлатежи.СуммаОборот,
                ФактПлатежи.СуммаУпрОборот,
ЛОЖЬ
            ИЗ
                РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаНач_0, &ДатаКон_0, День, ПриходРасход = &Расход) КАК ФактПлатежи) КАК ФактДвижения) КАК Факт_0
29 Валидатор
 
09.10.13
14:54
(28) а в факт платежи приход расход ложь, так?
30 Валидатор
 
09.10.13
14:57
|    ФактПлатежи.СуммаОборот КАК СуммаРасходВал,
            |    ФактПлатежи.СуммаУпрОборот КАК СуммаРасходУпр,
            |  Ложь КАК ПриходРасход
            |ИЗ
            |    РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаНач_"+Номер+", &ДатаКон_"+Номер+", "+ПериодДанных+",ПриходРасход=&Расход) КАК ФактПлатежи) КАК ФактДвижения) КАК Факт"+"_"+Номер+"
            |СГРУППИРОВАТЬ ПО
31 Валидатор
 
09.10.13
14:57
так?
32 Maxus43
 
09.10.13
15:02
типа того
33 Валидатор
 
09.10.13
15:06
(32) cgc
34 Валидатор
 
09.10.13
15:06
(32) спс
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс