Имя: Пароль:
1C
1C 7.7
v7: ЗиК расчетная ведомость за произвольный период
0 ded20ded
 
25.04.13
20:51
Добрый вечер, как в запросе получить периодический реквизит?

       Запрос = СоздатьОбъект("Запрос");
       ТекстЗапроса =
       "//{{ЗАПРОС(Т51)
       |Период с НачалоПериода по КонецПериода;
       |Сотрудник                = ЖурналРасчетов.Зарплата.Объект;
       |ФизЛицо                = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
       |Должность                = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Должность;
       |Подразделение            = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
       |Оклад                    = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Оклад;
       |Расчет                    = ЖурналРасчетов.Зарплата.ВидРасч;
       |Результат                = ЖурналРасчетов.Зарплата.Результат;
       |ДатаНачала                = ЖурналРасчетов.Зарплата.ДатаНачала;
       |ДниВЖурнале            = ЖурналРасчетов.Зарплата.Дни;
       |ЧасыВЖурнале            = ЖурналРасчетов.Зарплата.Часы;
       |Функция Дни                = Сумма(ДниВЖурнале)    когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (ФизЛицо = Сотрудник));
       |Функция ПраздничныеДни        = Сумма(ДниВЖурнале)    когда (Расчет=ВидРасчета.ОплатаПраздничных);
       |Функция Часы                = Сумма(ЧасыВЖурнале)    когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (ФизЛицо = Сотрудник));
       |Функция ПраздничныеЧасы    = Сумма(ЧасыВЖурнале)    когда (Расчет=ВидРасчета.ОплатаПраздничных);
       |Функция Повременно            = Сумма(Результат)    когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1);
       |Функция Сдельно            = Сумма(Результат)    когда ((Расчет=ВидРасчета.ОплатаПоНаряду)или(Расчет=ВидРасчета.СдельныйНаряд));
       |Функция МатериальныеБлага    = Сумма(Результат)    когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ДоходыВНатуральнойФорме)=1);
       |Функция ВсегоНачислено        = Сумма(Результат)    когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
       |Функция НДФЛ                = Сумма(Результат)    когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеИсчисленныеНДФЛ)=1);
       |Функция ВсегоУдержано        = Сумма(Результат)    когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1);
       |Функция Долг                = Сумма(Результат)    когда ((Расчет=ВидРасчета.Возврат)или(Расчет=ВидРасчета.НачальноеСальдоЗадолженность)или(Расчет=ВидРасчета.НачальноеСальдоОкругления)или(Расчет=ВидРасчета.НачальноеСальдоПереплатаНДФЛ));
       |Функция ВыплаченоЗаПрошлые    = Сумма(Результат) когда ((ДатаНачала < НачалоПериода) и (Расчет = ВидРасчета.ВыплатаЗарплаты));";
       Если Группировать = 1 Тогда    
           ТекстЗапроса = ТекстЗапроса + "
           |Группировка Подразделение без групп;";                
       КонецЕсли;        
       ТекстЗапроса = ТекстЗапроса + "
       |Группировка ФизЛицо без групп;
       |Условие((Результат<>0)или(ДниВЖурнале<>0));"+
       
       ?(СпособВыборкиСотрудников=3,"
       |Условие(Сотрудник в СписокФизЛиц);",
       
       ?(СпособВыборкиСотрудников=2,"
       |Условие(Подразделение в ВыбранноеПодразделение);",""))+"
       
       |"//}}ЗАПРОС
       ;
       
       // Если ошибка в запросе, то выход из процедуры
       Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
           глСтатусСтрока(Контекст,"");
           Возврат;
       КонецЕсли;      
       
       Если Группировать = 1 Тогда
           
           ВременнаяТаблица1=СоздатьОбъект("ТаблицаЗначений");
           СписокПодразделений = СоздатьОбъект("СписокЗначений");
           Запрос.Выгрузить(ВременнаяТаблица1, 2, 1);
           ВременнаяТаблица1.Свернуть("Подразделение","");
           ВременнаяТаблица1.Выгрузить(СписокПодразделений,,,"Подразделение");  
                       
       КонецЕсли;
       
       // описание расшифровки
       Расшифровка = СоздатьОбъект("СписокЗначений");
       Расшифровка.Установить("Отчет","РасшифровкаОтчетов");
       ПараметрыКоманды = СоздатьОбъект("СписокЗначений");
       ЖурналРасчетовЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
       ПараметрыКоманды.Установить("ИдентификаторЖурнала","Зарплата");
       ПараметрыКоманды.Установить("ДатаНачала",    ЖурналРасчетовЗарплата.НачалоПериодаПоДате(ДатаАктуальности));
       ПараметрыКоманды.Установить("ДатаОкончания",ЖурналРасчетовЗарплата.КонецПериодаПоДате (ДатаАктуальности1));
       
       // параметры отчета
       ПараметрыОтчетов = глПрочитатьПараметрыОтчетов(4);
       СтрокНаСтранице = ПараметрыОтчетов.Страница;
       Раздел0Загл = ПараметрыОтчетов.Раздел0Загл;
       Раздел1Загл = ПараметрыОтчетов.Раздел1Загл;
       Раздел0Подв = ПараметрыОтчетов.Раздел0Подв;
       Раздел1Подв = ПараметрыОтчетов.Раздел1Подв;
       
Мне нужно получить подразделение этот реквизит периодический, как это сделать?
1 Storm911
 
25.04.13
21:55
никак
2 Storm911
 
25.04.13
21:57
вернее получен он будет, на КонецПериода.