Имя: Пароль:
1C
1С v8
Фактический период действия
0 OnePrg
 
18.03.21
18:06
Мне нужно в этом запросе получить поле фактического периода действия (дата окончания минус дата начала в днях), но по факту не получается


ВЫБРАТЬ
    Средняя.БазовыйПериодНачало КАК БазовыйПериодНачало,
    СУММА(ВЫБОР
            КОГДА НЕ Начисления.Сторно
                ТОГДА ВЫБОР
                        КОГДА Начисления.ГрафикРаботы.СокращатьКалендарныеДни
                                И Начисления.ВидРасчета.ЭтоОтпуск
                            ТОГДА Начисления.КалендарныеДни
                        ИНАЧЕ Начисления.ПроизводственныйКалендарьКалендарныеДниФактическийПериодДействия
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА Начисления.ГрафикРаботы.СокращатьКалендарныеДни
                            И Начисления.ВидРасчета.ЭтоОтпуск
                        ТОГДА Начисления.КалендарныеДни
                    ИНАЧЕ -Начисления.ПроизводственныйКалендарьКалендарныеДниФактическийПериодДействия
                КОНЕЦ
        КОНЕЦ) КАК КалендарныеДниБаза,
    Начисления.ВидРасчета,
    СУММА(Начисления.Результат) КАК Результат,
    СУММА(Начисления.ПроизводственныйКалендарьКалендарныеДниФактическийПериодДействия) КАК КалендарныеДни,
    СУММА(Начисления.ОсновноеЗначениеПолноеПериодДействия) КАК ОсновноеЗначениеПолноеПериодДействия,
    СУММА(Начисления.ОсновноеЗначениеПолноеФактическийПериодДействия) КАК ОсновноеЗначениеПолноеФактическийПериодДействия,
    Начисления.ПериодДействияНачало,
    Начисления.ПериодДействияКонец
ИЗ
    РегистрРасчета.РасчетСреднегоЗаработка КАК Средняя
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
                (Назначение = &парамСотрудник
                        И Сотрудник.Физлицо = &парамФизлицо
                    ИЛИ Сотрудник = &парамСотрудник
                        И Назначение.Физлицо <> &парамФизлицо)
                    И ВидРасчета.ЗачетНормыВремени
                    И ВидРасчета.ЗачетКалендарных
                    И ВидРасчета В
                        (ВЫБРАТЬ
                            База.ВидРасчета
                        ИЗ
                            ПланВидовРасчета.СреднийЗаработок.БазовыеВидыРасчета КАК База
                        ГДЕ
                            База.Ссылка В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработку), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуДляОтпуска)))) КАК Начисления
        ПО (Начисления.ПериодДействияНачало <= Средняя.БазовыйПериодКонец)
            И (Начисления.ПериодДействияКонец >= Средняя.БазовыйПериодНачало)
ГДЕ
    Средняя.Авторасчет
    И Средняя.Регистратор = &Регистратор

СГРУППИРОВАТЬ ПО
    Средняя.БазовыйПериодНачало,
    Начисления.ВидРасчета,
    Начисления.ПериодДействияНачало,
    Начисления.ПериодДействияКонец



http://imagizer.imageshack.com/img923/9484/iHpjD5.png