Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не могу разобраться с запросами :(
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Vofka
Конфигурация УТП 1.1.8.3.
Документ НачислениеЗарплатыРаботникамОрганизации, модуль объекта, функция СформироватьЗапросНачисленияПроводки. Текст функции:
Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    Запрос.УстановитьПараметр("парамПериодРегистрации"        , ПериодРегистрации);
    Запрос.УстановитьПараметр("парамСотрудники"                , Сотрудники);
        
    //    ВТПлановыеНачисления
    Если Истина Тогда
        //    Описание:
        //         РеглУчетПлановыхНачисленийРаботниковОрганизаций
        //
        ТекстЗапросаВТ = "
        |        ВЫБРАТЬ
        |            ОсновнойПериод.Регистратор,
        |            ОсновнойПериод.НомерСтроки,
        |            ОсновнойПериод.Сотрудник,
        |            ОсновнойПериод.Назначение,
        |            ОсновнойПериод.ВидРасчета,
        |            ПлановыеНачисления.СпособОтраженияВБухучете,
        |            ПлановыеНачисления.СпособОтраженияВУпрУчете
        |ПОМЕСТИТЬ ВТПлановыеНачисления    
        |        ИЗ(
        |            ВЫБРАТЬ
        |                Основной.Регистратор,
        |                Основной.НомерСтроки,
        |                Основной.Сотрудник,
        |                Основной.Назначение,
        |                Основной.ВидРасчета,
        |                ПлановыеНачисления.ВидРасчетаИзмерение,
        |                МАКСИМУМ(ПлановыеНачисления.Период)    КАК Период
        |            ИЗ РегистрРасчета.Начисления КАК Основной
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисления
        |            ПО        Основной.Назначение = ПлановыеНачисления.Сотрудник
        |                И    (Основной.ВидРасчета = ПлановыеНачисления.ВидРасчетаИзмерение
        |                ИЛИ    ЗНАЧЕНИЕ(ПланВидовРасчета.Начисления.ПустаяСсылка) = ПлановыеНачисления.ВидРасчетаИзмерение
        |                И    Основной.ВидРасчета = ПлановыеНачисления.ВидРасчета)
        |                И    ПлановыеНачисления.Период <= Основной.БазовыйПериодНачало
        |            ГДЕ        Основной.Сотрудник в ( &парамСотрудники )
        |                И    НАЧАЛОПЕРИОДА(Основной.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации
        |            СГРУППИРОВАТЬ ПО
        |                Основной.Регистратор,
        |                Основной.НомерСтроки,
        |                Основной.Сотрудник,
        |                Основной.Назначение,
        |                Основной.ВидРасчета,
        |                ПлановыеНачисления.ВидРасчетаИзмерение
        |        ) КАК ОсновнойПериод
        |
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисления
        |        ПО        ОсновнойПериод.Назначение = ПлановыеНачисления.Сотрудник
        |            И    ОсновнойПериод.ВидРасчетаИзмерение = ПлановыеНачисления.ВидРасчетаИзмерение
        |            И    ОсновнойПериод.Период = ПлановыеНачисления.Период
        |
        |";
        Запрос.Текст = ТекстЗапросаВТ;
        Запрос.Выполнить();
        ТекстЗапросаВТПлановыеНачисления = "ВТПлановыеНачисления";
    КонецЕсли;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТПлановыеНачисления";
    
    //    ВТПлановыеНачисленияОсновные
    Если Истина Тогда
        //    Описание:
        //         РеглУчетПлановыхНачисленийРаботниковОрганизаций
        //
        ТекстЗапросаВТ = "
        |        ВЫБРАТЬ
        |            ОсновнойПериод.Регистратор,
        |            ОсновнойПериод.НомерСтроки,
        |            ОсновнойПериод.Сотрудник,
        |            ОсновнойПериод.Назначение,
        |            РаботникиОрганизаций.СпособОтраженияВБухучете,
        |            Работники.СпособОтраженияВУпрУчете
        |ПОМЕСТИТЬ ВТПлановыеНачисленияОсновные    
        |        ИЗ(
        |            ВЫБРАТЬ
        |                Основной.Регистратор,
        |                Основной.НомерСтроки,
        |                Основной.Сотрудник,
        |                Основной.Назначение,
        |                МАКСИМУМ(РаботникиОрганизаций.Период)    КАК Период,
        |                МАКСИМУМ(Работники.Период)    КАК ПериодУпр
        |            ИЗ РегистрРасчета.Начисления КАК Основной
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        |            ПО        Основной.Назначение = РаботникиОрганизаций.Сотрудник
        |                И    РаботникиОрганизаций.Период <= Основной.БазовыйПериодНачало
        |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
        |            ПО        Основной.Назначение.ФизЛицо = Работники.ФизЛицо
        |                И    Работники.Период <= Основной.БазовыйПериодНачало
        |            ГДЕ        Основной.Сотрудник в ( &парамСотрудники )
        |                И    НАЧАЛОПЕРИОДА(Основной.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации
        |            СГРУППИРОВАТЬ ПО
        |                Основной.Регистратор,
        |                Основной.НомерСтроки,
        |                Основной.Сотрудник,
        |                Основной.Назначение
        |        ) КАК ОсновнойПериод
        |
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        |        ПО        ОсновнойПериод.Назначение = РаботникиОрганизаций.Сотрудник
        |            И    ОсновнойПериод.Период = РаботникиОрганизаций.Период
        |
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
        |        ПО        ОсновнойПериод.Назначение.ФизЛицо = Работники.ФизЛицо
        |            И    ОсновнойПериод.Период = Работники.Период
        |
        |";
        Запрос.Текст = ТекстЗапросаВТ;
        Запрос.Выполнить();
        ТекстЗапросаВТПлановыеНачисленияОсновные = "ВТПлановыеНачисленияОсновные";
    КонецЕсли;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТПлановыеНачисленияОсновные";

    // ВТОсновныеНачисления
    Если Истина Тогда
        //    Описание:
        //         РегистрРасчета.Начисления
        //        
        
        // Вначале тот способ который мы выбрали в документе,
        // потом при приеме на работу лично виду расчета конкретного Сотрудника
        // потом при приеме на работу сотруднику в ТЧ РаботникиОрганизации
        // и наиболее низкий приоритет - в плане видов расчета
        ТекстПараметра = "        
        |                
        |    ВЫБОР
        |       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
        |             ТОГДА         Начисления.СпособОтраженияВБухУчете.ИмяПараметра
        |        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
        |            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.ИмяПараметра         
        |        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
        |            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.ИмяПараметра
        |        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
        |            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.ИмяПараметра
        |        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.ИмяПараметра
        |    КОНЕЦ ";
        
        
        ТекстПараметраУпр = "        
        |                
        |    ВЫБОР
        |       КОГДА        Начисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
        |             ТОГДА         Начисления.СпособОтраженияВУпрУчете.ИмяПараметра
        |        КОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
        |            ТОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете.ИмяПараметра         
        |        КОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
        |            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.ИмяПараметра
        |        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
        |            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.ИмяПараметра
        |        ИНАЧЕ ОтражениеУпрНачисленийПоУмолчанию.ИмяПараметра
        |    КОНЕЦ ";
        
        ТекстЗапросаВТ = "
        |    ВЫБРАТЬ
        |        Начисления.Регистратор                    КАК Регистратор,
        |        Начисления.НомерСтроки                    КАК НомерСтроки,
        |        Начисления.Сотрудник                    КАК Сотрудник,
        |        Начисления.Назначение                    КАК Назначение,
        |        Начисления.ПодразделениеОрганизации        КАК ПодразделениеОрганизации,
        |        Начисления.ПодразделениеУпр                КАК ПодразделениеУпр,
        |                  
        |        Начисления.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа                 КАК П1,          
        |        ПлановыеНачисления.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа         КАК П2,          
        |        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа     КАК П3,          
        |        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа    КАК П4,          
        |                  
        |       " + СтрЗаменить(ТекстПараметраУпр,"ИмяПараметра","ВидВзаиморасчетовВУпрУчете")+"    КАК ВидВзаиморасчетовВУпрУчете,
        |       " + СтрЗаменить(ТекстПараметраУпр,"ИмяПараметра","СтатьяЗатрат")+"                    КАК СтатьяЗатрат,
        |       " + СтрЗаменить(ТекстПараметраУпр,"ИмяПараметра","НоменклатурнаяГруппа")+"            КАК НоменклатурнаяГруппа,
        |       " + СтрЗаменить(ТекстПараметраУпр,"ИмяПараметра","ОбъектСтроительства")+"            КАК ОбъектСтроительства,
        |                  
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СчетДт")+"                        КАК СчетДт,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СубконтоДт1")+"                    КАК СубконтоДт1,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СубконтоДт2")+"                    КАК СубконтоДт2,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СубконтоДт3")+"                    КАК СубконтоДт3,
        |        
        //|       ВЫБОР КОГДА (" + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СчетКт")+") = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
        //|                ТОГДА Начисления.ВидРасчета.СчетУчета
        //|               ИНАЧЕ (" + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СчетКт")+")                        
        //|        КОНЕЦ                                                                                 КАК СчетКт,
        |       ВЫБОР КОГДА Начисления.ВидРасчета.СчетУчета <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
        |                ТОГДА Начисления.ВидРасчета.СчетУчета
        |               ИНАЧЕ (" + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СчетКт")+")                        
        |        КОНЕЦ                                                                                 КАК СчетКт,
        |        
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СубконтоКт1")+"                    КАК СубконтоКт1,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СубконтоКт2")+"                    КАК СубконтоКт2,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СубконтоКт3")+"                    КАК СубконтоКт3,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","СтатьяВаловыхРасходов")+"        КАК СтатьяВаловыхРасходов,
        |       " + СтрЗаменить(ТекстПараметра,"ИмяПараметра","ВзносыОсновногоНачисления")+"    КАК ВзносыОсновногоНачисления,
        |        " + СтрЗаменить(Текстпараметра,"ИмяПараметра","НалоговоеНазначение")+"            КАК НалоговоеНазначение,
        |        
        |        Начисления.ВидРасчета                КАК ВидРасчета,
        |        Начисления.Результат                КАК Результат,
        |        Начисления.РезультатУпр                КАК РезультатУпр,
        |        Начисления.ПериодДействияНачало        КАК ДатаНачала,
        |        Начисления.ПериодДействияКонец        КАК ДатаОкончания
        |    
        |ПОМЕСТИТЬ ВТОсновныеНачисления    
        |    ИЗ    РегистрРасчета.Начисления КАК Начисления
        |                
        |    //начисления у которых прописана своя проводка        
        |    ЛЕВОЕ СОЕДИНЕНИЕ " + ТекстЗапросаВТПлановыеНачисления + " КАК ПлановыеНачисления
        |    ПО        Начисления.Регистратор = ПлановыеНачисления.Регистратор    
        |        И    Начисления.НомерСтроки = ПлановыеНачисления.НомерСтроки    
        |    ЛЕВОЕ СОЕДИНЕНИЕ "+ТекстЗапросаВТПлановыеНачисленияОсновные+" КАК УчетОсновногоЗаработка
        |    ПО        Начисления.Регистратор = УчетОсновногоЗаработка.Регистратор    
        |        И    Начисления.НомерСтроки = УчетОсновногоЗаработка.НомерСтроки    
           |                
        |    // способ отражения по умолчанию        
        |    ЛЕВОЕ СОЕДИНЕНИЕ (    ВЫБРАТЬ * ИЗ Справочник.СпособыОтраженияЗарплатыВРеглУчете
        |                        ГДЕ Ссылка = ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ОтражениеНачисленийПоУмолчанию)
        |                    ) КАК ОтражениеНачисленийПоУмолчанию
        |    ПО ИСТИНА            
        |                
        |    // способ упр.отражения по умолчанию        
        |    ЛЕВОЕ СОЕДИНЕНИЕ (    ВЫБРАТЬ * ИЗ Справочник.СпособыОтраженияЗарплатыВУпрУчете
        |                        ГДЕ Ссылка = ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ОтражениеНачисленийПоУмолчанию)
        |                    ) КАК ОтражениеУпрНачисленийПоУмолчанию
        |    ПО ИСТИНА            
        |                
        |ГДЕ    Начисления.Сотрудник В (&парамСотрудники)         
        |    И    НАЧАЛОПЕРИОДА(Начисления.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации
        |    И    "+СтрЗаменить(ТекстПараметра,"ИмяПараметра","Ссылка")+" <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.НеОтражатьВБухучете)
        |";
        Запрос.Текст = ТекстЗапросаВТ;
        Запрос.Выполнить();
        ТекстЗапросаВТОсновныеНачисления = "ВТОсновныеНачисления";
        
    КонецЕсли;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТОсновныеНачисления";
    
    ТекстЗапроса =
    "ВЫБРАТЬ      
    |    ДанныеУчета.НомерСтроки,
    |    ДанныеУчета.Сотрудник.ФизЛицо КАК ФизЛицо,
    |    ДанныеУчета.Сотрудник,
    |    ДанныеУчета.Назначение,
    |    ДанныеУчета.ДатаНачала            КАК ДатаНачала,
    |    ДанныеУчета.ДатаОкончания        КАК ДатаОкончания,
    |
    |   // упр. реквизиты
    |    ДанныеУчета.ПодразделениеУпр            КАК ПодразделениеУпр,
    |   ДанныеУчета.ВидВзаиморасчетовВУпрУчете    КАК ВидВзаиморасчетовВУпрУчете,
    |   ДанныеУчета.СтатьяЗатрат                КАК СтатьяЗатрат,
    |   ДанныеУчета.НоменклатурнаяГруппа        КАК НоменклатурнаяГруппа,
    |   ДанныеУчета.ОбъектСтроительства            КАК ОбъектСтроительства,
    |    ДанныеУчета.РезультатУпр,
    |
    |   // регл. реквизиты
    |    ДанныеУчета.ВидРасчета,
    |    ДанныеУчета.ПодразделениеОрганизации,
    |    ДанныеУчета.Результат,
    |    ДанныеУчета.СчетДт,
    |    ДанныеУчета.СубконтоДт1,
    |    ДанныеУчета.СубконтоДт2,
    |    ДанныеУчета.СубконтоДт3,
    |    ДанныеУчета.СчетКт,
    |    ДанныеУчета.СубконтоКт1,
    |    ДанныеУчета.СубконтоКт2,
    |    ДанныеУчета.СубконтоКт3,
    |    ДанныеУчета.СтатьяВаловыхРасходов,
    |    ДанныеУчета.НалоговоеНазначение,
    |
    |    ДанныеУчета.ВзносыОсновногоНачисления,    
    |    
    |// --- ДЕБЕТ    
    |    ЕСТЬNULL(ВидыСубконтоСотрудникиДт.НомерСтроки, 0) КАК НомерСубконтоСотрудникиДт,
    |    ЕСТЬNULL(ВидыСубконтоПодразделенияДт.НомерСтроки, 0) КАК НомерСубконтоПодразделенияДт,
    |    
    |// --- КРЕДИТ    
    |    ЕСТЬNULL(ВидыСубконтоСотрудникиКт.НомерСтроки, 0) КАК НомерСубконтоСотрудникиКт
    |    
    |
    |ИЗ    " + ТекстЗапросаВТОсновныеНачисления + " КАК ДанныеУчета
    |    
    |ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоСотрудникиДт
    |ПО   ДанныеУчета.СчетДт <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
    |    И ДанныеУчета.СчетДт = ВидыСубконтоСотрудникиДт.Ссылка
    |    И ВидыСубконтоСотрудникиДт.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций)
    |    
    |ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоПодразделенияДт
    |ПО   ДанныеУчета.СчетДт <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
    |    И ДанныеУчета.СчетДт = ВидыСубконтоПодразделенияДт.Ссылка
    |    И ВидыСубконтоПодразделенияДт.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Подразделения)
    |    
    |ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоСотрудникиКт
    |ПО   ДанныеУчета.СчетКт <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
    |    И ДанныеУчета.СчетКт = ВидыСубконтоСотрудникиКт.Ссылка
    |    И ВидыСубконтоСотрудникиКт.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций)
    |                                            
    |УПОРЯДОЧИТЬ ПО
    |    Сотрудник,
    |    Назначение,
    |    ВидРасчета
    |";
    
    Запрос.Текст = ТекстЗапроса;
    
    Возврат Запрос.Выполнить();


Собрал из неё запрос. Он получился следующий:

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

        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисления
        ПО        ОсновнойПериод.Назначение = ПлановыеНачисления.Сотрудник
            И    ОсновнойПериод.ВидРасчетаИзмерение = ПлановыеНачисления.ВидРасчетаИзмерение
            И    ОсновнойПериод.Период = ПлановыеНачисления.Период
;


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

        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО        ОсновнойПериод.Назначение = РаботникиОрганизаций.Сотрудник
            И    ОсновнойПериод.Период = РаботникиОрганизаций.Период

        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
        ПО        ОсновнойПериод.Назначение.ФизЛицо = Работники.ФизЛицо
            И    ОсновнойПериод.Период = Работники.Период

;


    ВЫБРАТЬ
        Начисления.Регистратор                    КАК Регистратор,
        Начисления.НомерСтроки                    КАК НомерСтроки,
        Начисления.Сотрудник                    КАК Сотрудник,
        Начисления.Назначение                    КАК Назначение,
        Начисления.ПодразделениеОрганизации        КАК ПодразделениеОрганизации,
        Начисления.ПодразделениеУпр                КАК ПодразделениеУпр,
                  
        Начисления.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа                 КАК П1,          
        ПлановыеНачисления.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа         КАК П2,          
        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа     КАК П3,          
        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа    КАК П4,          
                  
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВУпрУчете.ВидВзаиморасчетовВУпрУчете
        КОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете.ВидВзаиморасчетовВУпрУчете         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.ВидВзаиморасчетовВУпрУчете
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.ВидВзаиморасчетовВУпрУчете
        ИНАЧЕ ОтражениеУпрНачисленийПоУмолчанию.ВидВзаиморасчетовВУпрУчете
    КОНЕЦ     КАК ВидВзаиморасчетовВУпрУчете,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВУпрУчете.СтатьяЗатрат
        КОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете.СтатьяЗатрат         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.СтатьяЗатрат
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.СтатьяЗатрат
        ИНАЧЕ ОтражениеУпрНачисленийПоУмолчанию.СтатьяЗатрат
    КОНЕЦ                     КАК СтатьяЗатрат,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа
        КОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.НоменклатурнаяГруппа
        ИНАЧЕ ОтражениеУпрНачисленийПоУмолчанию.НоменклатурнаяГруппа
    КОНЕЦ             КАК НоменклатурнаяГруппа,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВУпрУчете.ОбъектСтроительства
        КОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВУпрУчете.ОбъектСтроительства         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВУпрУчете.ОбъектСтроительства
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВУпрУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВУпрУчете.ОбъектСтроительства
        ИНАЧЕ ОтражениеУпрНачисленийПоУмолчанию.ОбъектСтроительства
    КОНЕЦ             КАК ОбъектСтроительства,
                  
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СчетДт
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СчетДт         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СчетДт
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СчетДт
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СчетДт
    КОНЕЦ                         КАК СчетДт,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СубконтоДт1
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СубконтоДт1         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СубконтоДт1
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СубконтоДт1
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СубконтоДт1
    КОНЕЦ                     КАК СубконтоДт1,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СубконтоДт2
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СубконтоДт2         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СубконтоДт2
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СубконтоДт2
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СубконтоДт2
    КОНЕЦ                     КАК СубконтоДт2,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СубконтоДт3
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СубконтоДт3         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СубконтоДт3
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СубконтоДт3
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СубконтоДт3
    КОНЕЦ                     КАК СубконтоДт3,
        
       ВЫБОР КОГДА Начисления.ВидРасчета.СчетУчета <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
                ТОГДА Начисления.ВидРасчета.СчетУчета
               ИНАЧЕ (        
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СчетКт
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СчетКт         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СчетКт
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СчетКт
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СчетКт
    КОНЕЦ )                        
        КОНЕЦ                                                                                 КАК СчетКт,
        
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СубконтоКт1
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СубконтоКт1         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СубконтоКт1
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СубконтоКт1
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СубконтоКт1
    КОНЕЦ                     КАК СубконтоКт1,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СубконтоКт2
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СубконтоКт2         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СубконтоКт2
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СубконтоКт2
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СубконтоКт2
    КОНЕЦ                     КАК СубконтоКт2,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СубконтоКт3
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СубконтоКт3         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СубконтоКт3
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СубконтоКт3
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СубконтоКт3
    КОНЕЦ                     КАК СубконтоКт3,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.СтатьяВаловыхРасходов
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.СтатьяВаловыхРасходов         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.СтатьяВаловыхРасходов
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.СтатьяВаловыхРасходов
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.СтатьяВаловыхРасходов
    КОНЕЦ         КАК СтатьяВаловыхРасходов,
               
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.ВзносыОсновногоНачисления
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.ВзносыОсновногоНачисления         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.ВзносыОсновногоНачисления
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.ВзносыОсновногоНачисления
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.ВзносыОсновногоНачисления
    КОНЕЦ     КАК ВзносыОсновногоНачисления,
                
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.НалоговоеНазначение
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.НалоговоеНазначение         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.НалоговоеНазначение
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.НалоговоеНазначение
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.НалоговоеНазначение
    КОНЕЦ             КАК НалоговоеНазначение,
        
        Начисления.ВидРасчета                КАК ВидРасчета,
        Начисления.Результат                КАК Результат,
        Начисления.РезультатУпр                КАК РезультатУпр,
        Начисления.ПериодДействияНачало        КАК ДатаНачала,
        Начисления.ПериодДействияКонец        КАК ДатаОкончания
    
ПОМЕСТИТЬ ВТОсновныеНачисления    
    ИЗ    РегистрРасчета.Начисления КАК Начисления
                
    //начисления у которых прописана своя проводка        
    ЛЕВОЕ СОЕДИНЕНИЕ ВТПлановыеНачисления КАК ПлановыеНачисления
    ПО        Начисления.Регистратор = ПлановыеНачисления.Регистратор    
        И    Начисления.НомерСтроки = ПлановыеНачисления.НомерСтроки    
    ЛЕВОЕ СОЕДИНЕНИЕ ВТПлановыеНачисленияОсновные КАК УчетОсновногоЗаработка
    ПО        Начисления.Регистратор = УчетОсновногоЗаработка.Регистратор    
        И    Начисления.НомерСтроки = УчетОсновногоЗаработка.НомерСтроки    
                
    // способ отражения по умолчанию        
    ЛЕВОЕ СОЕДИНЕНИЕ (    ВЫБРАТЬ * ИЗ Справочник.СпособыОтраженияЗарплатыВРеглУчете
                        ГДЕ Ссылка = ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ОтражениеНачисленийПоУмолчанию)
                    ) КАК ОтражениеНачисленийПоУмолчанию
    ПО ИСТИНА            
                
    // способ упр.отражения по умолчанию        
    ЛЕВОЕ СОЕДИНЕНИЕ (    ВЫБРАТЬ * ИЗ Справочник.СпособыОтраженияЗарплатыВУпрУчете
                        ГДЕ Ссылка = ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВУпрУчете.ОтражениеНачисленийПоУмолчанию)
                    ) КАК ОтражениеУпрНачисленийПоУмолчанию
    ПО ИСТИНА            
                
ГДЕ    Начисления.Сотрудник В (&парамСотрудники)         
    И    НАЧАЛОПЕРИОДА(Начисления.ПериодРегистрации, МЕСЯЦ) = &парамПериодРегистрации
    И            
                
    ВЫБОР
       КОГДА        Начисления.СпособОтраженияВБухУчете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
             ТОГДА         Начисления.СпособОтраженияВБухУчете.Ссылка
        КОГДА        ПлановыеНачисления.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        ПлановыеНачисления.СпособОтраженияВБухучете.Ссылка         
        КОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА        Начисления.ВидРасчета.СпособОтраженияВБухучете.Ссылка
        КОГДА        УчетОсновногоЗаработка.СпособОтраженияВБухучете <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.ПустаяСсылка)
            ТОГДА    УчетОсновногоЗаработка.СпособОтраженияВБухучете.Ссылка
        ИНАЧЕ ОтражениеНачисленийПоУмолчанию.Ссылка
    КОНЕЦ  <> ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВРеглУчете.НеОтражатьВБухучете)

;

ВЫБРАТЬ      
    ДанныеУчета.НомерСтроки,
    ДанныеУчета.Сотрудник.ФизЛицо КАК ФизЛицо,
    ДанныеУчета.Сотрудник,
    ДанныеУчета.Назначение,
    ДанныеУчета.ДатаНачала            КАК ДатаНачала,
    ДанныеУчета.ДатаОкончания        КАК ДатаОкончания,

   // упр. реквизиты
    ДанныеУчета.ПодразделениеУпр            КАК ПодразделениеУпр,
   ДанныеУчета.ВидВзаиморасчетовВУпрУчете    КАК ВидВзаиморасчетовВУпрУчете,
   ДанныеУчета.СтатьяЗатрат                КАК СтатьяЗатрат,
   ДанныеУчета.НоменклатурнаяГруппа        КАК НоменклатурнаяГруппа,
   ДанныеУчета.ОбъектСтроительства            КАК ОбъектСтроительства,
    ДанныеУчета.РезультатУпр,

   // регл. реквизиты
    ДанныеУчета.ВидРасчета,
    ДанныеУчета.ПодразделениеОрганизации,
    ДанныеУчета.Результат,
    ДанныеУчета.СчетДт,
    ДанныеУчета.СубконтоДт1,
    ДанныеУчета.СубконтоДт2,
    ДанныеУчета.СубконтоДт3,
    ДанныеУчета.СчетКт,
    ДанныеУчета.СубконтоКт1,
    ДанныеУчета.СубконтоКт2,
    ДанныеУчета.СубконтоКт3,
    ДанныеУчета.СтатьяВаловыхРасходов,
    ДанныеУчета.НалоговоеНазначение,

    ДанныеУчета.ВзносыОсновногоНачисления,    
    
// --- ДЕБЕТ    
    ЕСТЬNULL(ВидыСубконтоСотрудникиДт.НомерСтроки, 0) КАК НомерСубконтоСотрудникиДт,
    ЕСТЬNULL(ВидыСубконтоПодразделенияДт.НомерСтроки, 0) КАК НомерСубконтоПодразделенияДт,
    
// --- КРЕДИТ    
    ЕСТЬNULL(ВидыСубконтоСотрудникиКт.НомерСтроки, 0) КАК НомерСубконтоСотрудникиКт
    

ИЗ    ВТОсновныеНачисления КАК ДанныеУчета
    
ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоСотрудникиДт
ПО   ДанныеУчета.СчетДт <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
    И ДанныеУчета.СчетДт = ВидыСубконтоСотрудникиДт.Ссылка
    И ВидыСубконтоСотрудникиДт.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций)
    
ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоПодразделенияДт
ПО   ДанныеУчета.СчетДт <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
    И ДанныеУчета.СчетДт = ВидыСубконтоПодразделенияДт.Ссылка
    И ВидыСубконтоПодразделенияДт.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Подразделения)
    
ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидыСубконтоСотрудникиКт
ПО   ДанныеУчета.СчетКт <> ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
    И ДанныеУчета.СчетКт = ВидыСубконтоСотрудникиКт.Ссылка
    И ВидыСубконтоСотрудникиКт.ВидСубконто = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций)
                                            
УПОРЯДОЧИТЬ ПО
    Сотрудник,
    Назначение,
    ВидРасчета


Смотрю в отладчике в документе - показывает результат.
Кидаю текст запроса в консоль запросов - результат запроса пустой. Почему? Это раз.

Два. Как просмотреть в отладчике временную таблицу (например, ВТПлановыеНачисления, которая есть в тексте функции выше)

09000000.gif
World1С
Ответ на первый вопрос: Заполни все параметры которые есть в запросе. Нажми на кнопку параметры, далее на кнопку получить параметры.

По правой стороне в конструкторе появляются закладки. Или на закладке Пакет запросов перечислен список запросов которые являются вложенными. Так можно увидеть вложенные таблицы.
MATEVI
И почему же ЕСТЬNULL(... возвращает NULL а не 0 в запросе?
capitoshko
Скажу так - запит в тебе порожній тому, що допоміжні записи в регістр розрахунків здійснюються інтерактивно, тобто під час виконання запиту. щоб побачити результат документ потрібно провести. Взагалі я аналізую такі запити по розрахунку зарплати виходячи з логіки значень,які "витягуются" запитом. в режимі користувача їх відтворити важко
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.