Имя: Пароль:
1C
1C 7.7
v7: Получение вычетов по подразделениям начислений заработной платы
0 brenli
 
20.05.16
15:41
Функция СуммаВычетовПоСотрудникам(Док)

//....
СписокСотрудников = Список;

    ТЗ_СписокВычетов = СоздатьОбъект("ТаблицаЗначений");
    Запрос       = СоздатьОбъект("Запрос");
    ТекстЗапроса = "  
    |Период С Док.ДатаДок ПО Док.ДатаДок;
    |Сотр           = Справочник.ВычетыСотрудниковПоНДФЛ.Владелец;
    |ДатаНачала     = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаНачала;
    |ДатаОкончания  = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаОкончания;
    |ВидВычета      = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета;
    |СуммаВычета    = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.Сумма;
    |КодВычета      = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.Код;
    |Группировка Сотр Без Групп;
    //|Группировка ВидВычета;

    |Группировка ДатаНачала;
    |Группировка ДатаОкончания;
    |Функция  ОбщаяСуммаВычета = Сумма(СуммаВычета);    
    |Условие(ДатаНачала <= Док.ДатаДок);
    |Условие((ДатаОкончания >= Док.ДатаДок) ИЛИ (ДатаОкончания = ''));
    |Условие(Сотр В СписокСотрудников ;
    |";    

//....

      Возврат СуммаВычета;  
КонецФункции
//**********************************************************
Процедура Сформировать()
//....
Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |С НачДата По КонДата;
    |Док                 = Документ.НачислениеЗП.ТекущийДокумент;
    |Подразделение       = Документ.НачислениеЗП.ТекущийДокумент.Подразделение;
    |Сотрудник           = Документ.НачислениеЗП.ТекущийДокумент.Сотрудник;  
    |Оклад               = Документ.НачислениеЗП.ТекущийДокумент.Оклад;
    |СН                  = Документ.НачислениеЗП.ТекущийДокумент.НачисленоСН;
    |РК                  = Документ.НачислениеЗП.ТекущийДокумент.НачисленоРК;
    |Группировка Подразделение Без Групп;
    |Группировка Док;
    |Группировка Сотрудник Без Групп;
    |Функция СуммаОкл = Сумма(Оклад + СН + РК);";
    |Функция Вычеты   = Сумма(СуммаВычетовПоСотрудникам(Док));
//....
КонецПроцедуры


Проверить пока нет возможности, но есть задача.
Нужно получить список вычетов по подразделениям которым  проведены документы "НачисленияЗП"
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн