Имя: Пароль:
1C
 
Разъясните, пожалуйста, запрос. Как он работает?
0 dmitn2
 
26.03.15
09:30


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



Разъясните, пожалуйста, запрос. Как он работает?
1 dmitn2
 
26.03.15
09:32
Причем табличное поле Документ.РасчетЕСН.ОсновныеНачисления до  выполнения пустое!
2 dmitn2
 
26.03.15
09:33
В общем не могу понять откуда берется значение поля Основные.ОблагаетсяЕНВД
3 User_Agronom
 
26.03.15
09:35
Букв много
4 Лефмихалыч
 
26.03.15
09:38
(0) медленно он работает и печально
5 D_E_S_131
 
26.03.15
09:39
(2) Из табличной части "ОсновныеНачисления" документа "РасчетЕСН" вестимо. А смотришь (1) ты не тот документ. Остановись отладчиком и посмотри, что присваивается в "парамРегистратор".
6 dmitn2
 
26.03.15
09:44
(5) Ссылка на этот же документ, который был только что создан, поэтому еще пустой.
7 dmitn2
 
26.03.15
10:42
ап
8 hhhh
 
26.03.15
10:46
ну там сложно сделано. Сначала заполняется табличная часть. На следующем этапе смотрится. В общем, забей.