|
ЗУП, настройка отчета "Анализ зарплаты по сотрудникам" | ☑ | ||
---|---|---|---|---|
0
Dimon1C
30.05.24
✎
10:14
|
Добрый день
Есть типовая ЗУП, стандартный отчет Анализ зарплаты по сотрудникам (СКД) Стоит нетривиальная задача, выбрать только тех сотрудников, кто получает одновременно заданные начисления (например оклад и стимулирующие выплаты) Можно ли такое настроить средствами 1С предприятия? Вот пример, кого надо исключить https://ibb.co/JQ0J0sZ |
|||
1
SleepyHead
30.05.24
✎
10:18
|
(0) С одним видом расчета достаточно просто получается настроить. А вот как настроить два одновременно,не понял
Может, тебе просто исключить тех, у кого нет стимулирующих? |
|||
2
Dimon1C
30.05.24
✎
10:23
|
(1) Это просто пример, фактически надбавок много и они могут собираться в произвольной комбинации
|
|||
3
SleepyHead
30.05.24
✎
10:23
|
Ха, получилось, хотя, наверное, при каких-то условиях и не сработает
Заходим в настройки технического специалиста, добавляем пользовательское поле-выражение Для детальных записей: Выбор Когда [Вид расчета.Код] = "код стимулирующей" Тогда 1 Когда [Вид расчета.Код] = "код оклада" Тогда 1000 Иначе 0 Конец Для итоговых записей выражение то же, обернутое в СУММА() На уровне группировки по сотруднику добавляем фильтр по этому полю : оно должно быть больше 1000 Таким образом, если есть оклад, значение поля будет 1000, а если есть еще и стимулирующая, то 1001 Не сработает это все, если для сотрудника будет две записи по окладу, к примеру, смена оклада в середине месяца. Поэтому проще просуммировать по стимулирущей выплате и исключить тех у кого сумма = 0. |
|||
4
SleepyHead
30.05.24
✎
10:24
|
(2) Ну тогда так
Сумма(Выбор Когда [Вид расчета.Код] = "код стимулирующей 1" ИЛИ [Вид расчета.Код] = "код стимулирующей 2" ИЛИ [Вид расчета.Код] = "код стимулирующей 3" Тогда 1 Иначе 0 Конец) И фильтр по этому полю на уровне сотрудника |
|||
5
SleepyHead
30.05.24
✎
10:31
|
Если средствами чисто СКД не получается, сделай свой отчет-обертку. Программно выбери сотрудников по нужным условиям и программно же сформируй отчет Анализ зарплаты по сотрудникам, код там достаточно простой
Я делал вызов расчетного листка со своими условиями так (можно переделать на нужный вариант самостоятельно) // подготовка отчета-объекта ИмяОтчета = "АнализНачисленийИУдержаний"; КлючВариантаОтчета = "РасчетныйЛисток"; ОтчетРЛ = Отчеты[ИмяОтчета].Создать(); ОтчетРЛ.ИнициализироватьОтчет(КлючВариантаОтчета); ОтчетРЛ.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетРЛ.СхемаКомпоновкиДанных.ВариантыНастроек[КлючВариантаОтчета].Настройки); ОтчетРЛ.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("КлючВарианта", КлючВариантаОтчета); ОтчетРЛ.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("УстанавливаетсяМакетКомпоновкиДанных", Ложь); Настройки = ОтчетРЛ.КомпоновщикНастроек.Настройки; Дата1=НачалоМесяца(мМесяцНачисления); Дата2=КонецМесяца(мМесяцНачисления); УстановитьЗначениеПараметраСКД(Настройки, "Период", Новый СтандартныйПериод(Дата1,Дата2)); УстановитьЗначениеПараметраСКД(Настройки, "НачалоПериода", Дата1); УстановитьЗначениеПараметраСКД(Настройки, "КонецПериода", Дата2); ОбщегоНазначенияКлиентСервер.ИзменитьЭлементыОтбора(Настройки.Отбор,"Организация",, мОрганизация,ВидСравненияКомпоновкиДанных.Равно,Истина); ОбщегоНазначенияКлиентСервер.ИзменитьЭлементыОтбора(Настройки.Отбор, "ФизическоеЛицо",, СписокФизЛиц, ВидСравненияКомпоновкиДанных.ВСписке, Истина); Таб = Новый ТабличныйДокумент; ОтчетРЛ.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); ОтчетРЛ.СкомпоноватьРезультат(Таб); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |