Имя: Пароль:
1C
1С v8
1C:Управление автотранспортом
0 buganych
 
19.08.13
14:53
Подскажите, пожалуйста, что делаю не так?
Клиент попросил добавить поле В ремонте в отчете "Ведомость работы водителей". Все бы ничего, сделал под копирку с Временем в наряде и временем в работе, но так и не хочет вставать в нужное поле нужное значение. Движения все создаются правильно.
http://uploads.ru/?g=OAhty.jpg

Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
    
    // Содержит название отчета, которое будет выводиться в шапке.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
    УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
    
    Если ДополнительныеПараметры <> Неопределено Тогда
        
        //уатОбщегоНазначения.уатВосстановитьРеквизитыОтчета(ЭтотОбъект, ДополнительныеПараметры);
        
    КонецЕсли;
    
    УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
    
    ТекстЗапроса =
    "ВЫБРАТЬ
|    ДанныеПоВыработкеСотрудников.Период КАК Период,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ДЕНЬ) КАК ПериодДень,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, НЕДЕЛЯ) КАК ПериодНеделя,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ДЕКАДА) КАК ПериодДекада,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, МЕСЯЦ) КАК ПериодМесяц,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, КВАРТАЛ) КАК ПериодКвартал,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
|    НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ГОД) КАК ПериодГод,
|    ДанныеПоВыработкеСотрудников.Регистратор КАК Регистратор,
|    ВЫБОР
|        КОГДА ДанныеПоВыработкеСотрудников.Организация ЕСТЬ NULL
|            ТОГДА уатСведенияОСотрудникахСрезПоследних.Организация
|        ИНАЧЕ ДанныеПоВыработкеСотрудников.Организация
|    КОНЕЦ КАК Организация,
|    ДанныеПоВыработкеСотрудников.Подразделение,
|    ДанныеПоВыработкеСотрудников.КоличествоЕздок КАК КоличествоЕздок,
|    ДанныеПоВыработкеСотрудников.ТнКм КАК ТнКм,
|    ДанныеПоВыработкеСотрудников.ВесГруза КАК ВесГруза,
|    ДанныеПоВыработкеСотрудников.ПробегОбщий КАК ПробегОбщий,
|    ДанныеПоВыработкеСотрудников.ПробегСГрузом КАК ПробегСГрузом,
|    ДанныеПоВыработкеСотрудников.ПробегОбщий - ДанныеПоВыработкеСотрудников.ПробегСГрузом КАК ПробегПорожний,
|    ДанныеПоВыработкеСотрудников.РасходПоНормеОборот КАК РасходПоНормеОборот,
|    ДанныеПоВыработкеСотрудников.РасходПоФактуОборот КАК РасходПоФактуОборот,
|    ДанныеПоВыработкеСотрудников.РасходПоНормеОборот - ДанныеПоВыработкеСотрудников.РасходПоФактуОборот КАК ЭкономияПережог,
|    ВЫРАЗИТЬ((ДанныеПоВыработкеСотрудников.РасходПоНормеОборот - ДанныеПоВыработкеСотрудников.РасходПоФактуОборот) / ВЫБОР
|            КОГДА ДанныеПоВыработкеСотрудников.РасходПоНормеОборот = 0
|                ТОГДА 0.001
|            ИНАЧЕ ДанныеПоВыработкеСотрудников.РасходПоНормеОборот
|        КОНЕЦ * 100 КАК ЧИСЛО(10, 2)) КАК ЭкономияПережогПроценты,
|    ДанныеПоВыработкеСотрудников.Сотрудник,
|    уатСведенияОСотрудникахСрезПоследних.Должность,
|    уатСведенияОСотрудникахСрезПоследних.ТабельныйНомер,
|    уатСведенияОСотрудникахСрезПоследних.Класс,
|    уатСведенияОСотрудникахСрезПоследних.Позывной,
|    ВЫБОР
|        КОГДА ДанныеПоВыработкеСотрудников.КоличествоЕздок <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ВремяВНаряде <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ТнКм <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ВесГруза <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ПробегОбщий <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ПробегСГрузом <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ПробегОбщий - ДанныеПоВыработкеСотрудников.ПробегСГрузом <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.ВремяВРаботе <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.РасходПоНормеОборот <> 0
|                ИЛИ ДанныеПоВыработкеСотрудников.РасходПоФактуОборот <> 0
|            ТОГДА ИСТИНА
|        ИНАЧЕ ЛОЖЬ
|    КОНЕЦ КАК ЕстьДанныеПоСотруднику,
|    ДанныеПоВыработкеСотрудников.ВремяВРаботеИтоги КАК ВремяВРаботеИтоги,
|    ДанныеПоВыработкеСотрудников.ВремяВНарядеИтоги КАК ВремяВНарядеИтоги,
|    ДанныеПоВыработкеСотрудников.ВремяВПростоеИтоги КАК ВремяВПростоеИтоги,
|    ДанныеПоВыработкеСотрудников.ВремяВРаботеИтоги КАК ВремяВРаботеИтоги2,
|    ДанныеПоВыработкеСотрудников.ВремяВНарядеИтоги КАК ВремяВНарядеИтоги2,
|    ДанныеПоВыработкеСотрудников.ВремяВПростоеИтоги КАК ВремяВПростоеИтоги2,
|    ДанныеПоВыработкеСотрудников.ВремяВРаботе КАК ВремяВРаботе,
|    ДанныеПоВыработкеСотрудников.ВремяВНаряде КАК ВремяВНаряде,
|    ДанныеПоВыработкеСотрудников.ВремяВПростое КАК ВремяВПростое,
|    ДанныеПоВыработкеСотрудников.ВремяВРаботе КАК ВремяВРаботе2,
|    ДанныеПоВыработкеСотрудников.ВремяВНаряде КАК ВремяВНаряде2,
|    ДанныеПоВыработкеСотрудников.ВремяВПростое КАК ВремяВПростое2
|{ВЫБРАТЬ
|    Период,
|    ПериодДень,
|    ПериодНеделя,
|    ПериодДекада,
|    ПериодМесяц,
|    ПериодКвартал,
|    ПериодПолугодие,
|    ПериодГод,
|    Регистратор.*,
|    Организация.*,
|    ДанныеПоВыработкеСотрудников.Колонна.*,
|    Подразделение.*,
|    КоличествоЕздок,
|    ТнКм,
|    ВесГруза,
|    ПробегОбщий,
|    ПробегСГрузом,
|    РасходПоНормеОборот,
|    РасходПоФактуОборот,
|    ПробегПорожний,
|    ЭкономияПережогПроценты КАК ЭкономияПережогПроценты,
|    Сотрудник.*,
|    Должность.*,
|    ТабельныйНомер,
|    Класс,
|    Позывной,
|    ЭкономияПережог КАК ЭкономияПережог,
|    ВремяВРаботе,
|    ВремяВНаряде,
|    ВремяВРаботеИтоги2,
|    ВремяВНарядеИтоги2,
|    ВремяВРаботе2,
|    ВремяВНаряде2,
|    ВремяВПростое,
|    ВремяВПростое2}
|ИЗ
|    (ВЫБРАТЬ
|        уатВыработкаСотрудниковОбороты.Период КАК Период,
|        уатВыработкаСотрудниковОбороты.Регистратор КАК Регистратор,
|        уатВыработкаСотрудниковОбороты.Организация КАК Организация,
|        уатВыработкаСотрудниковОбороты.Колонна КАК Колонна,
|        уатВыработкаСотрудниковОбороты.Сотрудник КАК Сотрудник,
|        уатВыработкаСотрудниковОбороты.Подразделение КАК Подразделение,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.КоличествоЕздок)
|                ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот
|            ИНАЧЕ 0
|        КОНЕЦ КАК КоличествоЕздок,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВремяВНаряде)
|                ТОГДА ВЫБОР
|                        КОГДА &ВыводитьВремяВФорматеЧЧММ
|                            ТОГДА ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1
|                                    ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))
|                                КОНЕЦ * 60 + ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - ((ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1)
|                                    ИНАЧЕ уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0)))
|                                КОНЕЦ * 60
|                        ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 2))
|                    КОНЕЦ
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВремяВНарядеИтоги,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ТнКм)
|                ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот
|            ИНАЧЕ 0
|        КОНЕЦ КАК ТнКм,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВесГруза)
|                ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВесГруза,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ПробегОбщий)
|                ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот
|            ИНАЧЕ 0
|        КОНЕЦ КАК ПробегОбщий,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ПробегСГрузом)
|                ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот
|            ИНАЧЕ 0
|        КОНЕЦ КАК ПробегСГрузом,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВремяВРаботе)
|                ТОГДА ВЫБОР
|                        КОГДА &ВыводитьВремяВФорматеЧЧММ
|                            ТОГДА ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1
|                                    ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))
|                                КОНЕЦ * 60 + ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - ((ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1)
|                                    ИНАЧЕ уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0)))
|                                КОНЕЦ * 60
|                        ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 2))
|                    КОНЕЦ
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВремяВРаботеИтоги,
|        0 КАК РасходПоНормеОборот,
|        0 КАК РасходПоФактуОборот,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВремяВРаботе)
|                ТОГДА ВЫБОР
|                        КОГДА &ВыводитьВремяВФорматеЧЧММ
|                            ТОГДА ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1
|                                    ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))
|                                КОНЕЦ + (ВЫРАЗИТЬ(ВЫБОР
|                                        КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                            ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - ((ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1)
|                                        ИНАЧЕ уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0)))
|                                    КОНЕЦ * 60 / 100 КАК ЧИСЛО(15, 2)))
|                        ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 2))
|                    КОНЕЦ
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВремяВРаботе,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВремяВНаряде)
|                ТОГДА ВЫБОР
|                        КОГДА &ВыводитьВремяВФорматеЧЧММ
|                            ТОГДА ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1
|                                    ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))
|                                КОНЕЦ + (ВЫРАЗИТЬ(ВЫБОР
|                                        КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                            ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - ((ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1)
|                                        ИНАЧЕ уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0)))
|                                    КОНЕЦ * 60 / 100 КАК ЧИСЛО(15, 2)))
|                        ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 2))
|                    КОНЕЦ
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВремяВНаряде,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВремяВПростое)
|                ТОГДА ВЫБОР
|                        КОГДА &ВыводитьВремяВФорматеЧЧММ
|                            ТОГДА ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1
|                                    ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))
|                                КОНЕЦ + (ВЫРАЗИТЬ(ВЫБОР
|                                        КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                            ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - ((ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1)
|                                        ИНАЧЕ уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0)))
|                                    КОНЕЦ * 60 / 100 КАК ЧИСЛО(15, 2)))
|                        ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 2))
|                    КОНЕЦ
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВремяВПростое,
|        ВЫБОР
|            КОГДА уатВыработкаСотрудниковОбороты.ПараметрВыработки = ЗНАЧЕНИЕ(Справочник.уатПараметрыВыработки.ВремяВПростое)
|                ТОГДА ВЫБОР
|                        КОГДА &ВыводитьВремяВФорматеЧЧММ
|                            ТОГДА ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1
|                                    ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))
|                                КОНЕЦ * 60 + ВЫБОР
|                                    КОГДА (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 > 0
|                                        ТОГДА уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - ((ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0))) - 1)
|                                    ИНАЧЕ уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 - (ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 0)))
|                                КОНЕЦ * 60
|                        ИНАЧЕ ВЫРАЗИТЬ(уатВыработкаСотрудниковОбороты.КоличествоОборот / 3600 КАК ЧИСЛО(15, 2))
|                    КОНЕЦ
|            ИНАЧЕ 0
|        КОНЕЦ КАК ВремяВПростоеИтоги
|    ИЗ
|        РегистрНакопления.уатВыработкаСотрудников.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК уатВыработкаСотрудниковОбороты
|    
|    ОБЪЕДИНИТЬ ВСЕ
|    
|    ВЫБРАТЬ
|        уатРасходГСМнаТСОбороты.Период,
|        уатРасходГСМнаТСОбороты.Регистратор,
|        уатРасходГСМнаТСОбороты.Организация,
|        уатРасходГСМнаТСОбороты.Регистратор.ТранспортноеСредство.Колонна,
|        уатРасходГСМнаТСОбороты.Водитель,
|        NULL,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        уатРасходГСМнаТСОбороты.РасходПоНормеОборот,
|        уатРасходГСМнаТСОбороты.РасходПоФактуОборот,
|        0,
|        0,
|        0,
|        0
|    ИЗ
|        РегистрНакопления.уатРасходГСМнаТС.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК уатРасходГСМнаТСОбороты
|    
|    ОБЪЕДИНИТЬ ВСЕ
|    
|    ВЫБРАТЬ
|        NULL,
|        NULL,
|        NULL,
|        NULL,
|        СотрудникиОрганизаций.Ссылка,
|        NULL,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0,
|        0
|    ИЗ
|        Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций) КАК ДанныеПоВыработкеСотрудников
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатСведенияОСотрудниках.СрезПоследних КАК уатСведенияОСотрудникахСрезПоследних
|        ПО ДанныеПоВыработкеСотрудников.Сотрудник = уатСведенияОСотрудникахСрезПоследних.Сотрудник
|            И (ВЫБОР
|                КОГДА ДанныеПоВыработкеСотрудников.Организация ЕСТЬ NULL
|                    ТОГДА ИСТИНА
|                ИНАЧЕ ДанныеПоВыработкеСотрудников.Организация = уатСведенияОСотрудникахСрезПоследних.Организация
|            КОНЕЦ)
|{ГДЕ
|    ДанныеПоВыработкеСотрудников.Период,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ДЕНЬ)) КАК ПериодДень,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ДЕКАДА)) КАК ПериодДекада,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, МЕСЯЦ)) КАК ПериодМесяц,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, КВАРТАЛ)) КАК ПериодКвартал,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие,
|    (НАЧАЛОПЕРИОДА(ДанныеПоВыработкеСотрудников.Период, ГОД)) КАК ПериодГод,
|    ДанныеПоВыработкеСотрудников.Регистратор.*,
|    ДанныеПоВыработкеСотрудников.Организация.*,
|    ДанныеПоВыработкеСотрудников.Колонна.*,
|    ДанныеПоВыработкеСотрудников.Подразделение.*,
|    ДанныеПоВыработкеСотрудников.КоличествоЕздок,
|    ДанныеПоВыработкеСотрудников.ТнКм,
|    ДанныеПоВыработкеСотрудников.ВесГруза,
|    ДанныеПоВыработкеСотрудников.ПробегОбщий,
|    ДанныеПоВыработкеСотрудников.ПробегСГрузом,
|    ДанныеПоВыработкеСотрудников.РасходПоНормеОборот,
|    ДанныеПоВыработкеСотрудников.РасходПоФактуОборот,
|    уатСведенияОСотрудникахСрезПоследних.Должность.*,
|    уатСведенияОСотрудникахСрезПоследних.ТабельныйНомер,
|    (ВЫРАЗИТЬ(ДанныеПоВыработкеСотрудников.Сотрудник КАК Справочник.СотрудникиОрганизаций)).* КАК Сотрудник,
|    уатСведенияОСотрудникахСрезПоследних.Класс,
|    уатСведенияОСотрудникахСрезПоследних.Позывной,
|    (ВЫБОР
|            КОГДА ДанныеПоВыработкеСотрудников.КоличествоЕздок <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ВремяВНаряде <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ТнКм <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ВесГруза <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ПробегОбщий <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ПробегСГрузом <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ПробегОбщий - ДанныеПоВыработкеСотрудников.ПробегСГрузом <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.ВремяВРаботе <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.РасходПоНормеОборот <> 0
|                    ИЛИ ДанныеПоВыработкеСотрудников.РасходПоФактуОборот <> 0
|                ТОГДА ИСТИНА
|            ИНАЧЕ ЛОЖЬ
|        КОНЕЦ) КАК ЕстьДанныеПоСотруднику,
|    (ДанныеПоВыработкеСотрудников.РасходПоНормеОборот - ДанныеПоВыработкеСотрудников.РасходПоФактуОборот) КАК ЭкономияПережог,
|    (ВЫРАЗИТЬ((ДанныеПоВыработкеСотрудников.РасходПоНормеОборот - ДанныеПоВыработкеСотрудников.РасходПоФактуОборот) / ВЫБОР
|                КОГДА ДанныеПоВыработкеСотрудников.РасходПоНормеОборот = 0
|                    ТОГДА 0.001
|                ИНАЧЕ ДанныеПоВыработкеСотрудников.РасходПоНормеОборот
|            КОНЕЦ * 100 КАК ЧИСЛО(10, 2))) КАК ЭкономияПережогПроценты}
|{УПОРЯДОЧИТЬ ПО
|    Период,
|    ПериодДень,
|    ПериодНеделя,
|    ПериодДекада,
|    ПериодМесяц,
|    ПериодКвартал,
|    ПериодПолугодие,
|    ПериодГод,
|    Регистратор.*,
|    Организация.*,
|    ДанныеПоВыработкеСотрудников.Колонна.*,
|    Подразделение.*,
|    КоличествоЕздок,
|    ТнКм,
|    ВесГруза,
|    ПробегОбщий,
|    ПробегСГрузом,
|    РасходПоНормеОборот,
|    РасходПоФактуОборот,
|    Сотрудник.*,
|    Должность.*,
|    ТабельныйНомер,
|    Класс,
|    Позывной}
|ИТОГИ
|    СУММА(КоличествоЕздок),
|    СУММА(ТнКм),
|    СУММА(ВесГруза),
|    СУММА(ПробегОбщий),
|    СУММА(ПробегСГрузом),
|    СУММА(ПробегПорожний),
|    СУММА(РасходПоНормеОборот),
|    СУММА(РасходПоФактуОборот),
|    СУММА(ЭкономияПережог),
|    ВЫРАЗИТЬ((СУММА(ДанныеПоВыработкеСотрудников.РасходПоНормеОборот) - СУММА(ДанныеПоВыработкеСотрудников.РасходПоФактуОборот)) / СУММА(ВЫБОР
|                КОГДА ДанныеПоВыработкеСотрудников.РасходПоНормеОборот = 0
|                    ТОГДА 0.001
|                ИНАЧЕ ДанныеПоВыработкеСотрудников.РасходПоНормеОборот
|            КОНЕЦ) * 100 КАК ЧИСЛО(10, 2)) КАК ЭкономияПережогПроценты,
|    СУММА(ВремяВРаботе2) КАК ВремяВРаботеИтоги,
|    СУММА(ВремяВНаряде2) КАК ВремяВНарядеИтоги,
|    СУММА(ВремяВПростоеИтоги2) КАК ВремяВПростоеИтоги,
|    ВЫБОР
|        КОГДА &ВыводитьВремяВФорматеЧЧММ
|            ТОГДА ВЫРАЗИТЬ(ВЫБОР
|                        КОГДА (ВЫРАЗИТЬ(СУММА(ВремяВРаботеИтоги2) / 60 КАК ЧИСЛО(15, 0))) - СУММА(ВремяВРаботеИтоги2) / 60 > 0
|                            ТОГДА (ВЫРАЗИТЬ(СУММА(ВремяВРаботеИтоги2) / 60 КАК ЧИСЛО(15, 0))) - 1
|                        ИНАЧЕ ВЫРАЗИТЬ(СУММА(ВремяВРаботеИтоги2) / 60 КАК ЧИСЛО(15, 0))
|                    КОНЕЦ + ВЫБОР
|                        КОГДА (ВЫРАЗИТЬ(СУММА(ВремяВРаботеИтоги2) / 60 КАК ЧИСЛО(15, 0))) - СУММА(ВремяВРаботеИтоги2) / 60 > 0
|                            ТОГДА СУММА(ВремяВРаботеИтоги2) / 60 - ((ВЫРАЗИТЬ(СУММА(ВремяВРаботеИтоги2) / 60 КАК ЧИСЛО(15, 0))) - 1)
|                   &nb
1 buganych
 
19.08.13
14:54
Пробовал с помощью консоли запросов все отображает, но не подставляет в отчет.