Files
soneta-erp-skills/soneta-place-def-elementow/references/metody-sterujace-naliczaniem.md
T
2026-03-26 23:19:11 +01:00

2.2 KiB

Dodatkowe sygnatury metod sterujących naliczaniem

Oprócz standardowych metod _Param, _Wylicz, _Wartość1h, _Odbiorca, _RachunekOdbiorcy i _CięcieOkresu, algorytm edytora może definiować metody wpływające na podstawy urlopów i zasiłków.

_PodstawaUrlopu — sterowanie podstawą urlopu

Metoda wywoływana przez system przy naliczaniu urlopu wypoczynkowego, gdy element powinien być wliczany do podstawy urlopu w niestandardowy sposób:

public decimal {Identyfikator}_PodstawaUrlopu(WypElement Urlop, WypElement Element) {
    var wymiar = Element.PracHistoria.Etat.Zaszeregowanie.Wymiar;
    var mies = new YearMonth(Element.Okres.To);
    var normamies = Czasy.KalkPlanu.NormaWym(wymiar, mies).Czas.TotalMinutes;
    var norma = Czasy.KalkPlanu.NormaWym(wymiar, Element.Okres).Czas.TotalMinutes;

    decimal podstawa = (decimal)ZasadniczeNominalne(Element.Okres.To).Value;
    Percent proc = Element.SkładnikGłówny.Procent;

    return podstawa * proc * norma / normamies;
}

_PodstawaZasiłku — sterowanie podstawą zasiłków ZUS

Metoda wywoływana przy naliczaniu zasiłków chorobowych, macierzyńskich itp., gdy element powinien być wliczany do podstawy zasiłku w niestandardowy sposób:

Wariant prosty — stała kwota

public void {Identyfikator}_PodstawaZasiłku(WypElement element, PodstawaZasiłkuArgs args) {
    args.KwotaPodstawy = 1000;
    args.SposóbWliczenia = ElementPodstawyZasilku.SposóbWliczenia.BezDopełniania;
}

Wariant złożony — z obliczeniem

public void {Identyfikator}_PodstawaZasiłku(WypElement element, PodstawaZasiłkuArgs args) {
    DoubleCy podstawa = ZasadniczeNominalne(element.Okres.To);
    foreach (WypElement e in element.Elementy[element.Okres])
        if (e.Definicja.Nazwa == "Przestój.")
            podstawa -= e.Wartosc;

    podstawa *= 0.8629;
    args.KwotaPodstawy = (decimal)podstawa.Value;
    args.SposóbWliczenia = ElementPodstawyZasilku.SposóbWliczenia.BezDopełniania;
}

Klasa PodstawaZasiłkuArgs

Pole Typ Opis
args.KwotaPodstawy decimal Kwota wliczana do podstawy zasiłku
args.SposóbWliczenia ElementPodstawyZasilku.SposóbWliczenia Sposób wliczenia (BezDopełniania i inne)