|   |   | 
| 
 | группировка в скд | ☑ | ||
|---|---|---|---|---|
| 0
    
        ponaroshku 13.07.16✎ 10:43 | 
        Добрый день!
 Есть в базе определенные подразделения с такой структурой: Подразделение 1 - 250 рублей -Подразделение 1.1 - 100 рублей --Подразделение 1.1.1. 150 рублей Пользователь хочет видеть в отчете: Подразделение 1.1 - 250 рублей При этом вариант с иерархией ему не нравится (т.к. выводит родителя - "Подразделение 1" Как сделать такое? Пробовала задавать отбор по группировке, получается Подразделение 1.1. 100 рублей Подразделение 1.1.1. 150 рублей | |||
| 1
    
        ponaroshku 13.07.16✎ 10:44 | 
        Это нужно только в одном из вариантов отчета     | |||
| 2
    
        aleks_default 13.07.16✎ 10:46 | 
        Задавай отбор по уровню в группировке     | |||
| 3
    
        ponaroshku 13.07.16✎ 10:51 | 
        (2) не получается его рассчитать на стадии формирования отчета, выдает ошибку "выражение не может быть вычислено LevelInGroup"     | |||
| 4
    
        aleks_default 13.07.16✎ 10:56 | 
        (3)Ты используешь системное поле "Уровень"?     | |||
| 5
    
        ponaroshku 13.07.16✎ 11:00 | 
        (4) да
 вывести его может, отбор по нему не может сделать | |||
| 6
    
        aleks_default 13.07.16✎ 11:04 | 
        Странно. А если вычисляемое поле сделать с выражением Уровень() и по нему отобрать     | |||
| 7
    
        ponaroshku 13.07.16✎ 11:12 | 
        (6) аналогично, выражение не может быть вычислено Level     | |||
| 8
    
        ponaroshku 13.07.16✎ 11:12 | 
        с иерархией и уровнем хорошие варианты, но первый не подходит, второй не срабатывает :(     | |||
| 9
    
        aleks_default 13.07.16✎ 11:22 | 
        Я правильно понял нужно вывести иерархию подразделений, кроме подразделений корневого уровня? На пустого родителя отбор задавала?
 А что такое "отбор по группировке"? | |||
| 10
    
        ponaroshku 13.07.16✎ 11:26 | 
        (9) для некоторых подразделений и не всегда исключая корневой уровень
 есть и такие, типа подразделение 2 - 10 -подразделение 2.1 - 20 --подразделение 2.1.1 - 30 ---подразделение 2.1.1.1 - 40 Нужно вывести подразделение 2.1 - 90 подразделение 2.1.1 - 70 т.е. не всегда отметается именно корневой уровень Пустой родитель пробовала, не подходит Отбор по группировке - по родителю | |||
| 11
    
        3achem 13.07.16✎ 11:46 | 
        Самый простой вариант, нарисовать свой макет и вывести через цикл, костыльно, но если сроки поджимают, то это самое оно.
 И > для некоторых подразделений и не всегда исключая корневой уровень это 100% свой макет и условия при выводе | |||
| 12
    
        aleks_default 13.07.16✎ 12:15 | 
        Есть вариант с произвольной иерархией замутится. 
 У Хрусталевой описано как можно сделать свою иерархию по плоской таблице. Там таблицу связывать нужно саму с собой по Подразделение= Родитель. И там в связях наборов данные есть такая колонка "Начальное значение связи". Там можно указать параметр в значение которого выставить подразделение, с которого начнется раскручивание иерархии. Т.е. делаешь связь таблицы подразделения саму с собой по условию Источник Подразделение Приемник Родитель и нач. значение ставишь &Родитель (тока сначала добавь его на закладке Параметры). Ну и вторую связь таблицы подразделений с таблицей где хранятся суммы. Ну и в настройках структура группировок - группировка "Подразделение(Только иерархия)". У меня получилось кое-что, но не знаю так ли как тебе нужно. | |||
| 13
    
        ponaroshku 13.07.16✎ 12:25 | 
        (12) это исправление запроса, наверно, не самый лучший вариант, переписав запрос есть риск, что иные варианты отчета перестанут работать
 Но да, тоже рассматриваю и такой вариант (11) спасибо. Да, похоже так и сделаю | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |