Имя: Пароль:
1C
1С v8
Теряю часть запроса
0 Coole
 
11.02.16
06:36
Доброе утро!
Помогите пожалуйста.
Есть запрос

ТекстЗапроса =
    "ВЫБРАТЬ
    |    ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, Начисления.ФизЛицо.Наименование) КАК ФИОФизЛица,
    |    Начисления.ФизЛицо КАК ФизЛицо,
    |    Начисления.Организация КАК Организация,
    |    Начисления.Месяц,
    |    Начисления.Год,
    |   Начисления.ОтработаноДней,
    |    СУММА(Начисления.Начислено) КАК Начислено
    |ИЗ
    |    (ВЫБРАТЬ
    |        ОсновныеНачисленияРаботниковОрганизации.Организация КАК Организация,
    |        МЕСЯЦ(ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Месяц,
    |        ГОД(ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Год,
    |        ОсновныеНачисленияРаботниковОрганизации.ФизЛицо КАК ФизЛицо,
    |       ЕСТЬNULL(ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней,0) КАК ОтработаноДней,
    |        ОсновныеНачисленияРаботниковОрганизации.Результат КАК Начислено
    |    ИЗ
    |        РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизации
    |    ГДЕ
    |        ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &ПериодРегистрации И &КонецПериодаРегистрации
    |        И (НЕ(ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней = 0
    |                    И ОсновныеНачисленияРаботниковОрганизации.ОтработаноЧасов = 0
    |                    И ВЫБОР
    |                        КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
    |                            ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ВЫБОР
    |                        КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
    |                            ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ОсновныеНачисленияРаботниковОрганизации.Результат = 0))
    |         И (ОсновныеНачисленияРаботниковОрганизации.ВидРасчета НЕ В (&СписокПособийЗаСчетФСС))
    |";
1 Coole
 
11.02.16
06:37
Склеивается с


ТекстЗапроса =
    "ВЫБРАТЬ
    |    ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, Начисления.ФизЛицо.Наименование) КАК ФИОФизЛица,
    |    Начисления.ФизЛицо КАК ФизЛицо,
    |    Начисления.Организация КАК Организация,
    |    Начисления.Месяц,
    |    Начисления.Год,
    |   Начисления.ОтработаноДней,
    |    СУММА(Начисления.Начислено) КАК Начислено
    |ИЗ
    |    (ВЫБРАТЬ
    |        ОсновныеНачисленияРаботниковОрганизации.Организация КАК Организация,
    |        МЕСЯЦ(ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Месяц,
    |        ГОД(ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Год,
    |        ОсновныеНачисленияРаботниковОрганизации.ФизЛицо КАК ФизЛицо,
    |       ЕСТЬNULL(ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней,0) КАК ОтработаноДней,
    |        ОсновныеНачисленияРаботниковОрганизации.Результат КАК Начислено
    |    ИЗ
    |        РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизации
    |    ГДЕ
    |        ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &ПериодРегистрации И &КонецПериодаРегистрации
    |        И (НЕ(ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней = 0
    |                    И ОсновныеНачисленияРаботниковОрганизации.ОтработаноЧасов = 0
    |                    И ВЫБОР
    |                        КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
    |                            ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ВЫБОР
    |                        КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
    |                            ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ОсновныеНачисленияРаботниковОрганизации.Результат = 0))
    |         И (ОсновныеНачисленияРаботниковОрганизации.ВидРасчета НЕ В (&СписокПособийЗаСчетФСС))
    |";
2 Coole
 
11.02.16
06:38
И из-за нового поля "отработано дней" я теряю дополнительные начисления.
3 cw014
 
11.02.16
06:42
Ни в одном запросе нету дополнительных начислений
4 Coole
 
11.02.16
06:48
Простите!!! сейчас
5 Coole
 
11.02.16
06:48
ТекстЗапроса = ТекстЗапроса    +
    "        
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |
    |    ВЫБРАТЬ
    |        ДополнительныеНачисленияРаботниковОрганизации.Организация,
    |        МЕСЯЦ(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Месяц,
    |        ГОД(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Год,
    |        ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо,
    |          1  КАК ОтработаноДней,
    |        ДополнительныеНачисленияРаботниковОрганизации.Результат
    |    ИЗ
    |        РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизации
    |    ГДЕ
    |        (ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &ПериодРегистрации И &КонецПериодаРегистрации)
    |        И (НЕ(ДополнительныеНачисленияРаботниковОрганизации.Результат = 0
    |                    И ВЫБОР
    |                        КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
    |                            ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ВЫБОР
    |                        КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
    |                            ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0))
    |         И (ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета НЕ В (&СписокПособийЗаСчетФСС))
    |";

Вот, с этим склеивается
6 cw014
 
11.02.16
06:58
У тебя вообще полная нестыковка полей. Да и количество разное. Как вообще такой запрос у тебя выполняется?
7 Coole
 
11.02.16
06:59
основные начисления выводит.
В табл Начисления порядок полей не меняла.
8 cw014
 
11.02.16
07:03
1 запрос
1) ФИОФизЛица,
2) ФизЛицо,
3) Организация,
4) Месяц,
5) Год,
6) ОтработаноДней,
7) Начислено

2 запрос
1) Организация,
2) Месяц,
3) Год,
4) ФизЛицо,
5) ОтработаноДней,
6) Результат
9 cw014
 
11.02.16
07:04
Что то ты не договариваешь
10 cw014
 
11.02.16
07:04
Если это действительно целый запрос получается - тогда платформа бы свалилась с ошибкой "Разное количество полей в объединяемых таблицах"
11 Coole
 
11.02.16
07:06
ХМ, ну есть еще Левое для Начисления
ТекстЗапроса = ТекстЗапроса    +
    "        
    |    
    |       ) КАК Начисления
    |";
    

ТекстЗапроса = ТекстЗапроса + "
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&КонецПериодаРегистрации, " + УсловиеНаФизлицоТекст + ") КАК ФИОФизЛицСрезПоследних
    |        ПО Начисления.ФизЛицо = ФИОФизЛицСрезПоследних.ФизЛицо
    |    
    |СГРУППИРОВАТЬ ПО
    |    Начисления.Организация,
    |    ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, Начисления.ФизЛицо.Наименование),
    |    Начисления.ФизЛицо,
    |    Начисления.Год,
    |    Начисления.Месяц,
    |   Начисления.ОтработаноДней
    |УПОРЯДОЧИТЬ ПО
    |    Организация, ФИОФизЛица, Год, Месяц";
12 cw014
 
11.02.16
07:07
(11) Весь код давай, где то все равно ты обманываешь
13 Coole
 
11.02.16
07:11
по запросу вроде все сказала, поправьте, если не так
14 Coole
 
11.02.16
07:11
ЗапросРЛ = Новый Запрос;
    ЗапросРЛ.УстановитьПараметр("парамПустаяОрганизация",          Справочники.Организации.ПустаяСсылка());
    ЗапросРЛ.УстановитьПараметр("ПериодРегистрации",               ДатаНач);
    ЗапросРЛ.УстановитьПараметр("КонецПериодаРегистрации",         КонецДня(ДатаКон));
    ЗапросРЛ.УстановитьПараметр("ВнутреннееСовместительство",    Перечисления.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство);
    ЗапросРЛ.УстановитьПараметр("ЗанятостьНеУказана",            Перечисления.ВидыЗанятостиВОрганизации.ПустаяСсылка());
    ЗапросРЛ.УстановитьПараметр("Увольнение",                    Перечисления.ПричиныИзмененияСостояния.Увольнение);
    
    // Список дополнительных начислений исключаемых из расчета среднего заработка
    СписокПособийЗаСчетФСС = Новый СписокЗначений;
    СписокПособийЗаСчетФСС.Добавить(ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.ВСвязиСоСмертью);
    СписокПособийЗаСчетФСС.Добавить(ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.ПриПостановкеНаУчетВРанниеСрокиБеременности);
    СписокПособийЗаСчетФСС.Добавить(ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.ПриРожденииРебенка);
    СписокПособийЗаСчетФСС.Добавить(ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.ПриУсыновленииРебенка);
    
    ЗапросРЛ.УстановитьПараметр("СписокПособийЗаСчетФСС", ИсключаемыеВР.ВыгрузитьКолонку("ВидРасчета"));
    
    Если ОтборОрганизации Тогда
        ЗапросРЛ.УстановитьПараметр("Организация", Организация);
        Если ТипЗнч(Организация) = Тип("СправочникСсылка.Организации") Тогда
            ЗапросРЛ.УстановитьПараметр("ГоловнаяОрганизация", ОбщегоНазначенияЗК.ГоловнаяОрганизация(Организация));
        Иначе
            
            Запрос = Новый Запрос(
            "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
            |    ВЫБОР КОГДА Организации.ГоловнаяОрганизация = &парамПустаяОрганизация ТОГДА Организации.Ссылка ИНАЧЕ Организации.ГоловнаяОрганизация КОНЕЦ КАК ГоловнаяОрганизация
            |ИЗ
            |    Справочник.Организации КАК Организации
            |
            |ГДЕ
            |    Организации.Ссылка В(&парамОрганизация)");
            
            Запрос.УстановитьПараметр("парамПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
            Запрос.УстановитьПараметр("парамОрганизация", Организация);
            
            ЗапросРЛ.УстановитьПараметр("ГоловнаяОрганизация", Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ГоловнаяОрганизация"));
            
        КонецЕсли;
        
        Если ВидСравненияОрганизации = ВидСравнения.Равно Тогда
            ВидСравненияОрганизацииСтрокой = "="
        ИначеЕсли ВидСравненияОрганизации = ВидСравнения.НеРавно Тогда
            ВидСравненияОрганизацииСтрокой = "<>"
        ИначеЕсли ВидСравненияОрганизации = ВидСравнения.ВСписке Тогда
            ВидСравненияОрганизацииСтрокой = "В"
        Иначе
            ВидСравненияОрганизацииСтрокой = "НЕ В"
        КонецЕсли;
    КонецЕсли;  
    
    Если ОтборРаботника Тогда
        ЗапросРЛ.УстановитьПараметр("РаботникиОрганизации", Работник);
    
        Если ВидСравненияРаботника = ВидСравнения.Равно Тогда
            ВидСравненияРаботник = "="
        ИначеЕсли ВидСравненияРаботника = ВидСравнения.НеРавно Тогда
            ВидСравненияРаботник = "<>"
        ИначеЕсли ВидСравненияРаботника = ВидСравнения.ВСписке Тогда
            ВидСравненияРаботник = "В"
        ИначеЕсли ВидСравненияРаботника = ВидСравнения.НеВСписке Тогда
            ВидСравненияРаботник = "НЕ В"
        ИначеЕсли ВидСравненияРаботника = ВидСравнения.ВСпискеПоИерархии ИЛИ
            ВидСравненияРаботника = ВидСравнения.ВИерархии Тогда
            ВидСравненияРаботник = "В ИЕРАРХИИ"
        ИначеЕсли ВидСравненияРаботника = ВидСравнения.НеВСпискеПоИерархии ИЛИ
            ВидСравненияРаботника = ВидСравнения.НеВИерархии Тогда
            ВидСравненияРаботник = "НЕ В ИЕРАРХИИ"
        КонецЕсли;
    КонецЕсли;
    
    Если ОтборПодразделения Тогда
        ЗапросРЛ.УстановитьПараметр("ПодразделениеОрганизации", Подразделение);
    
        Если ВидСравненияПодразделения = ВидСравнения.Равно Тогда
            ВидСравненияПодразделение = "="
        ИначеЕсли ВидСравненияПодразделения = ВидСравнения.НеРавно Тогда
            ВидСравненияПодразделение = "<>"
        ИначеЕсли ВидСравненияПодразделения = ВидСравнения.ВСписке Тогда
            ВидСравненияПодразделение = "В"
        ИначеЕсли ВидСравненияПодразделения = ВидСравнения.НеВСписке Тогда
            ВидСравненияПодразделение = "НЕ В"
        ИначеЕсли ВидСравненияПодразделения = ВидСравнения.ВСпискеПоИерархии ИЛИ
            ВидСравненияПодразделения = ВидСравнения.ВИерархии Тогда
            ВидСравненияПодразделение = "В ИЕРАРХИИ"
        ИначеЕсли ВидСравненияПодразделения = ВидСравнения.НеВСпискеПоИерархии ИЛИ
            ВидСравненияПодразделения = ВидСравнения.НеВИерархии Тогда
            ВидСравненияПодразделение = "НЕ В ИЕРАРХИИ"
        КонецЕсли;
    КонецЕсли;
    
    ТекстЗапроса =
    "ВЫБРАТЬ
    |    ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, Начисления.ФизЛицо.Наименование) КАК ФИОФизЛица,
    |    Начисления.ФизЛицо КАК ФизЛицо,
    |    Начисления.Организация КАК Организация,
    |    Начисления.Месяц,
    |    Начисления.Год,
    |   Начисления.ОтработаноДней,
    |    СУММА(Начисления.Начислено) КАК Начислено
    |ИЗ
    |    (ВЫБРАТЬ
    |        ОсновныеНачисленияРаботниковОрганизации.Организация КАК Организация,
    |        МЕСЯЦ(ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Месяц,
    |        ГОД(ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Год,
    |        ОсновныеНачисленияРаботниковОрганизации.ФизЛицо КАК ФизЛицо,
    |       ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней КАК ОтработаноДней,
    |        ОсновныеНачисленияРаботниковОрганизации.Результат КАК Начислено
    |    ИЗ
    |        РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизации
    |    ГДЕ
    |        ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &ПериодРегистрации И &КонецПериодаРегистрации
    |        И (НЕ(ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней = 0
    |                    И ОсновныеНачисленияРаботниковОрганизации.ОтработаноЧасов = 0
    |                    И ВЫБОР
    |                        КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
    |                            ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ВЫБОР
    |                        КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
    |                            ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ОсновныеНачисленияРаботниковОрганизации.Результат = 0))
    |         И (ОсновныеНачисленияРаботниковОрганизации.ВидРасчета НЕ В (&СписокПособийЗаСчетФСС))
    |";
    
    Если ОтборОрганизации Тогда
        ТекстЗапроса = ТекстЗапроса + " И ОсновныеНачисленияРаботниковОрганизации.Организация " + ВидСравненияОрганизацииСтрокой + " (&Организация)";
    КонецЕсли;
    Если ОтборПодразделения Тогда
        ТекстЗапроса = ТекстЗапроса + " И ОсновныеНачисленияРаботниковОрганизации.ПодразделениеОрганизации " + ВидСравненияПодразделение + " (&ПодразделениеОрганизации)";
    КонецЕсли;
    Если ОтборРаботника Тогда
        ТекстЗапроса = ТекстЗапроса + " И ОсновныеНачисленияРаботниковОрганизации.ФизЛицо " + ВидСравненияРаботник + "(&РаботникиОрганизации)";
    КонецЕсли;
    
    ТекстЗапроса = ТекстЗапроса    +
    "        
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |
    |    ВЫБРАТЬ
    |        ДополнительныеНачисленияРаботниковОрганизации.Организация,
    |        МЕСЯЦ(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Месяц,
    |        ГОД(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Год,
    |        ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо,
    |          1  КАК ОтработаноДней,
    |        ДополнительныеНачисленияРаботниковОрганизации.Результат
    |    ИЗ
    |        РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизации
    |    ГДЕ
    |        (ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &ПериодРегистрации И &КонецПериодаРегистрации)
    |        И (НЕ(ДополнительныеНачисленияРаботниковОрганизации.Результат = 0
    |                    И ВЫБОР
    |                        КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
    |                            ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0
    |                    И ВЫБОР
    |                        КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
    |                            ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов
    |                        ИНАЧЕ 0
    |                    КОНЕЦ = 0))
    |         И (ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета НЕ В (&СписокПособийЗаСчетФСС))
    |";
    
    Если ОтборОрганизации Тогда
        ТекстЗапроса = ТекстЗапроса + " И ДополнительныеНачисленияРаботниковОрганизации.Организация " + ВидСравненияОрганизацииСтрокой + " (&Организация)";
    КонецЕсли;
    Если ОтборПодразделения Тогда
        ТекстЗапроса = ТекстЗапроса + " И ДополнительныеНачисленияРаботниковОрганизации.ПодразделениеОрганизации " + ВидСравненияПодразделение + " (&ПодразделениеОрганизации)";
    КонецЕсли;
    Если ОтборРаботника Тогда
        ТекстЗапроса = ТекстЗапроса + " И ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо " + ВидСравненияРаботник + "(&РаботникиОрганизации)";
    КонецЕсли;
        
    ТекстЗапроса = ТекстЗапроса    +
    "        
    |    
    |       ) КАК Начисления
    |";
    
    УсловиеТекст = "";
    УсловиеНаФизлицоТекст = "";
    Если ОтборОрганизации Тогда
        УсловиеТекст = УсловиеТекст + "Организация " + ВидСравненияОрганизацииСтрокой + " (&ГоловнаяОрганизация)";
        Если ОтборРаботника Тогда
            УсловиеТекст = УсловиеТекст + " И ФизЛицо " + ВидСравненияРаботник + " (&РаботникиОрганизации)";
            УсловиеНаФизлицоТекст = "ФизЛицо " + ВидСравненияРаботник + " (&РаботникиОрганизации)";
        КонецЕсли;
    ИначеЕсли ОтборРаботника Тогда
        УсловиеТекст = УсловиеТекст + "ФизЛицо " + ВидСравненияРаботник + " (&РаботникиОрганизации)";
        УсловиеНаФизлицоТекст = "ФизЛицо " + ВидСравненияРаботник + " (&РаботникиОрганизации)";
    КонецЕсли;
    
    ТекстЗапроса = ТекстЗапроса + "
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&КонецПериодаРегистрации, " + УсловиеНаФизлицоТекст + ") КАК ФИОФизЛицСрезПоследних
    |        ПО Начисления.ФизЛицо = ФИОФизЛицСрезПоследних.ФизЛицо
    |    
    |СГРУППИРОВАТЬ ПО
    |    Начисления.Организация,
    |    ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, Начисления.ФизЛицо.Наименование),
    |    Начисления.ФизЛицо,
    |    Начисления.Год,
    |    Начисления.Месяц,
    |   Начисления.ОтработаноДней
    |УПОРЯДОЧИТЬ ПО
    |    Организация, ФИОФизЛица, Год, Месяц";
    

    ЗапросРЛ.Текст = ТекстЗапроса;
    
    Возврат ЗапросРЛ.Выполнить();
15 cw014
 
11.02.16
07:15
1)  |          1  КАК ОтработаноДней,
во втором запросе убери псевдоним
2) Оба запроса попробуй поместить в конструктор запросов - что выдаст?
16 Coole
 
11.02.16
07:23
т.е. оставить так
ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо,
    |          1,
|    ДополнительныеНачисленияРаботниковОрганизации.Результат



не помогло(
17 Coole
 
11.02.16
07:26
2) доп начисления воооообще - есть
конструктор не берет, т.к. скобочки не хватает
18 hhhh
 
11.02.16
07:31
(7) а какие доп начисления у вас по дням и часам? Вроде примета такая есть: основное начисление - это то, что по дням, дополнительное, то, что не по дням.
19 cw014
 
11.02.16
07:34
(17) Воткни скобочку, тебе их жалко что ли?
20 cw014
 
11.02.16
07:34
(17) А лучше иди работать топ-моделью. Не нужно в программирование лезть
21 Coole
 
11.02.16
08:34
(18)
мне ж нужно объединить, а в допнач нет Отработано времени.
Как?

(19)
Для осн начислений Конструктор срабатывает, и отработанные дни вижу.
22 Coole
 
11.02.16
08:35
(18) я не ищу в Доп начислениях отработанное время.
Но если поле это не рисовать - то запрос сообщает, что разное количество полей.
23 Coole
 
11.02.16
08:48
все(((
24 cw014
 
11.02.16
08:54
(22)(23) У тебя конструкция
ВЫБРАТЬ
...
ИЗ
(ВЫБРАТЬ
...
ОСН

ОБЪЕДИТЬ ВСЕ

ВЫБРАТЬ
...
ДОП)


Вот возьми все что после "ОБЪЕДИНИТЬ" и до завершающей скобки, воткни в консоль и смотри что выходит
25 Coole
 
11.02.16
09:00
я поняла, я теряю когда "|СГРУППИРОВАТЬ ПО"
26 Coole
 
11.02.16
09:01
0 Как ОтработаноДней,
Для Доп

И

|   СУММА(Начисления.ОтработаноДней) Как ОтработаноДней,
27 Coole
 
11.02.16
09:02
Я сделала...
28 cw014
 
11.02.16
09:05
И?
29 Coole
 
11.02.16
09:26
(28) см. (26)
30 cw014
 
11.02.16
09:27
(29) Выше в запросе у тебя 1 КАК ОтработаноДней... Опять где то врешь
31 Coole
 
11.02.16
09:27
(28)
я достигла чего хотела, у меня средний рассчитывается как в документах Расчет простоя и Расчет при увольнении.
Эт, на тему иди в модели, вон из программирования.
НО))) у меня есть еще задача, надо в простой по не зависящим от работника и организации.
32 Coole
 
11.02.16
09:28
(30) чо? Ноль у меня отработанных дней для Дополнительных начислений
33 cw014
 
11.02.16
09:30
(32) Кусок твоего текста (сама прочти внимательно):
[ ВЫБРАТЬ
    |        ДополнительныеНачисленияРаботниковОрганизации.Организация,
    |        МЕСЯЦ(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Месяц,
    |        ГОД(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации) КАК Год,
    |        ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо,
    |          1  КАК ОтработаноДней,
    |        ДополнительныеНачисленияРаботниковОрганизации.Результат]

Где тут у тебя 0?
34 Coole
 
11.02.16
09:30
Исправила.
35 Coole
 
11.02.16
09:31
у меня 26 - результат.
а что над 26 было не верно.
что придираешься.
теперь нужен ксок кода по Физлицу получить его чтс или оклад(((
36 cw014
 
11.02.16
09:31
(34) Молодец, только не сообщила. А я время потерял. Незачто короче
37 cw014
 
11.02.16
09:36
Чтс - это что?
38 cw014
 
11.02.16
09:36
ЧетыреТриСемь?
39 Coole
 
11.02.16
09:37
часовая тарифная ставка
40 Coole
 
11.02.16
09:38
Слушай, ну я исправила в 9:01!!!
41 cw014
 
11.02.16
09:39
С 6:36 до 9:01 я пытаюсь решить твой вопрос. Нет причин для беспокойства

ЧТС и оклад нужно тягать из сотрудника. Либо в запросе выбирать сотрудника и тянуть, но тогда будут дубли.
Либо соединять с рабочими сотрудниками, но нужно сразу знать, какие условия (внешник, внутренник, штатка)
42 Coole
 
11.02.16
09:58
Да большое спасибо, что ты со мной)))


Запрос = Новый Запрос;
            Запрос.Текст =
            "ВЫБРАТЬ
            |    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
            |    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 КАК Размер,
            |    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета,
            |    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение
            |ИЗ
            |    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
            |            &ДатаЗапроса,
            |            ВидРасчета В (&ВидРасчетаИзмерение)
            |                И ВЫБОР
            |                    КОГДА &Сотрудник = ЗНАЧЕНИЕ(справочник.физическиелица.пустаяссылка)
            |                        ТОГДА ИСТИНА
            |                    ИНАЧЕ Сотрудник.Физлицо = &Сотрудник
            |                КОНЕЦ) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних";
            //Сотрудник.ФизЛицо = &Сотрудник
            ОсновныеНачисления = Новый СписокЗначений;
            ОсновныеНачисления.Добавить( ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням);
            ОсновныеНачисления.Добавить( ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам);
            ОсновныеНачисления.Добавить( ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ТарифЧасовой);
            
            Запрос.УстановитьПараметр("ДатаЗапроса", ТекущаяДата());
            Запрос.УстановитьПараметр("ВидРасчетаИзмерение", ОсновныеНачисления);
            Запрос.УстановитьПараметр("Сотрудник", Выборка.ФизЛицо);
43 Coole
 
11.02.16
09:59
Вот, у меня по окладам и чтс, но чтс нет(((
44 Coole
 
11.02.16
09:59
он там завязан где то на время
45 cw014
 
11.02.16
10:01
(42) Сарказм... ТарифнаяСтавка у сотрудника
Закон Брукера: Даже маленькая практика стоит большой теории.