|
v7: Получение вычетов по подразделениям начислений заработной платы
| ☑ |
0
brenli
20.05.16
✎
15:41
|
Функция СуммаВычетовПоСотрудникам(Док)
//....
СписокСотрудников = Список;
ТЗ_СписокВычетов = СоздатьОбъект("ТаблицаЗначений");
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Период С Док.ДатаДок ПО Док.ДатаДок;
|Сотр = Справочник.ВычетыСотрудниковПоНДФЛ.Владелец;
|ДатаНачала = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаНачала;
|ДатаОкончания = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаОкончания;
|ВидВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета;
|СуммаВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.Сумма;
|КодВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.Код;
|Группировка Сотр Без Групп;
//|Группировка ВидВычета;
|Группировка ДатаНачала;
|Группировка ДатаОкончания;
|Функция ОбщаяСуммаВычета = Сумма(СуммаВычета);
|Условие(ДатаНачала <= Док.ДатаДок);
|Условие((ДатаОкончания >= Док.ДатаДок) ИЛИ (ДатаОкончания = ''));
|Условие(Сотр В СписокСотрудников ;
|";
//....
Возврат СуммаВычета;
КонецФункции
//**********************************************************
Процедура Сформировать()
//....
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|С НачДата По КонДата;
|Док = Документ.НачислениеЗП.ТекущийДокумент;
|Подразделение = Документ.НачислениеЗП.ТекущийДокумент.Подразделение;
|Сотрудник = Документ.НачислениеЗП.ТекущийДокумент.Сотрудник;
|Оклад = Документ.НачислениеЗП.ТекущийДокумент.Оклад;
|СН = Документ.НачислениеЗП.ТекущийДокумент.НачисленоСН;
|РК = Документ.НачислениеЗП.ТекущийДокумент.НачисленоРК;
|Группировка Подразделение Без Групп;
|Группировка Док;
|Группировка Сотрудник Без Групп;
|Функция СуммаОкл = Сумма(Оклад + СН + РК);";
|Функция Вычеты = Сумма(СуммаВычетовПоСотрудникам(Док));
//....
КонецПроцедуры
Проверить пока нет возможности, но есть задача.
Нужно получить список вычетов по подразделениям которым проведены документы "НачисленияЗП"
|
|
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший