Имя: Пароль:
1C
1С v8
Помогите с отчетом в СКД
0 ixijixi
 
04.02.16
17:39
Привет!

Не могу сообразить.
Есть запрос вида
ВЫБРАТЬ
    Сотрудники.Сотрудник КАК Сотрудник,
    Сотрудники.Оклад КАК Оклад,
    ЕСТЬNULL(Надбавки.Надбавка, "?") КАК Надбавка,
    ЕСТЬNULL(Надбавки.Размер, 0) КАК ПроцентНадбавки,
    Сотрудники.Оклад * ЕСТЬNULL(Надбавки.Размер, 0) / 100 КАК РазмерНадбавки
ИЗ
    (ВЫБРАТЬ
        "Иванов" КАК Сотрудник,
        10000 КАК Оклад
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "Петров",
        15000
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "Семенов",
        20000) КАК Сотрудники
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            "Иванов" КАК Сотрудник,
            20 КАК Размер,
            "Вредность" КАК Надбавка
        
        ОБЪЕДИНИТЬ
        
        ВЫБРАТЬ
            "Иванов",
            10,
            "Квалификация"
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            "Петров",
            15,
            "Квалификация") КАК Надбавки
        ПО Сотрудники.Сотрудник = Надбавки.Сотрудник

компоную схему, выводится таблица вида
https://drive.google.com/file/d/0By3ywUqx3EFPN1diY3B2ZmFWQkE/view?usp=sharing

А нужна
https://drive.google.com/file/d/0By3ywUqx3EFPRy1jVHVxVHE4Wlk/view?usp=sharing

Кратко, проблема в том, что
1. У сотрудников с несколькими надбавками двоятся/троятся оклады
2. У сотрудников без надбавок вылезает дополнительная колонка НАДБАВКА = NULL
3. Ресурс ФОТ надо перенести в конец, после всех ресурсов

Вот схема, никак не могу понять как сделать правильно
https://drive.google.com/file/d/0By3ywUqx3EFPTkktczYxbUVId1k/view?usp=sharing
1 Wirtuozzz
 
04.02.16
17:46
1. Бери максимум или минимум, если бессмертный - среднее.
2. ЕстьNULL(Надбавка, Значение(справочник.Надбавка.ПустаяСсылка) КАК Надбавка
3. Создаешь ручками макет и помещаешь куда надо. Сначала идут группировки, потом ресурсы.
2 ixijixi
 
04.02.16
17:59
(1)
1. Если брать МАКСИМУМ, то Оклад выходит нормально, а ФОТ выходит МАКСИМУМ(ФОТ) + МАКСИМУМ(РазмерНадбавки), То есть 10000 + 2000, а должно быть 10000 + 2000 + 1000.
Предвосхищая - МАКСИМУМ(ФОТ) + СУММА(РазмерНадбавки) тоже не то.
2. Все равно выходит пустая колонка
3 ixijixi
 
04.02.16
18:50
пуш ап
4 Defender aka LINN
 
04.02.16
19:57
Делай несколько наборов данных
5 Tateossian
 
04.02.16
20:01
Делай все через объединение.
6 Tateossian
 
04.02.16
20:03
(5) Стоп-Стоп, у тебя заранее не известны все виды надбавок?
7 ixijixi
 
05.02.16
08:05
(6) По идее неизвестно, но я планирую предварительно делать ВЫБРАТЬ РАЗЛИЧНЫЕ
8 ixijixi
 
05.02.16
08:06
(4) Щас попробую, тоже уже думал
9 ixijixi
 
05.02.16
08:25
(4) Да, через два набора уже лучше, оклады не двоятся.

Только вот если есть несколько надбавок, то ФОТ начинает двоиться. Если сделать расчет не через вычисляемые поля, а через пользовательские, то все нормально.

Остался вопрос, как поле ФОТ выводить после всех ресурсов.
10 ixijixi
 
05.02.16
12:00
Все, разобрался. http://catalog.mista.ru/public/20849/
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.