Sistemul de salarizare este adesea cea mai complicata piesa de software dintr-o companie . Complexitatea sa se datoreaza calculelor periodice care diferentiaza salarizarea de alte sarcini ale aplicatiilor comerciale. Calculele periodice fac dificila crearea de software de salarizare fara programare la nivel scazut. Cu toate acestea, este posibil sa se accelereze semnificativ dezvoltarea unor astfel de aplicatii.

Ceea ce face calculele periodice atat de ciudate – este legarea lor de axa timpului.

Array

Implementarea unor functii precum contabilitatea implica legarea tuturor evenimentelor inregistrate la un moment dat. In schimb, evenimentele inregistrate in salarizare se refera la o perioada. Perioada de calcul poate fi o zi, o luna, un sfert sau un an, in functie de sarcina. Astfel, daca ora exacta a sosirii marfurilor este esentiala pentru inregistrarea faptului primirii lor, atunci, pentru acumularea de bonus pentru un angajat, perioada de calcul, de exemplu, luna de acumulare a bonusului, este esentiala.

Array

Un cadru bazat pe abordarea Domain-Driven Design (DDD) permite accelerarea dezvoltarii unui produs software intr-un domeniu necunoscut unui dezvoltator. Se creeaza modele ale acestui subiect care stabilesc o legatura intre conditiile reale ale zonei de aplicare a produsului software si cod. Dupa deschiderea unui proiect necunoscut in cadrul, dezvoltatorul vede imediat concepte familiare si isi poate da seama rapid ce rol joaca acest sau acel obiect in sistem. Aceasta abordare reuneste limbajul dezvoltatorilor si reprezentantilor afacerilor (sau analistilor). Tipurile de obiecte devin repede evidente pentru neprogramatori, iar acest lucru permite analistilor, clientilor si dezvoltatorilor sa discute despre functionalitatea principala a proiectului in acelasi limbaj.

Array

Reprezentantii de afaceri sau analistii de multe ori nu au abilitati de programare,

Sa luam, de exemplu, 1C: platforma Enterprise. Conform principiilor DDD, entitatile subiect, cum ar fi tipul de calcul, cum ar fi plata salariului, concediul medical, concediul si periodicitatea de calcul, cum ar fi o luna, un sfert, jumatate de an sunt transferate in obiectele platformei. Astfel, dezvoltarea si proiectarea aplicatiilor se bazeaza pe subiectul – salarizare.

Registrul de calcul in 1C: Enterprise

Acum sa vedem ce sugereaza 1C: Enterprise pentru numarari periodice.

Schema generala pentru rezolvarea majoritatii sarcinilor cu calcule periodice arata astfel:

1C: Schema de calcule periodice a intreprinderii

Separarea obiectelor de metadate pe o diagrama de catre schite (date de reglementare si legislatie, date primare, algoritmi de calcul) este conditionata si poate varia in functie de contextul sarcinii. Dupa cum vedeti din imagine, solutia sarcinilor de calcul nu se limiteaza la utilizarea doar a obiectelor „de calcul” ale platformei. Alte obiecte joaca roluri esentiale.

Catalogele permit stocarea datelor cu structuri similare si natura listelor in Infobase. Acestea pot fi, de exemplu, o lista de angajati, o lista de bunuri, o lista de furnizori sau clienti. Catalogele stocheaza de obicei datele obiectelor care definesc sectiuni, utilizate pentru calcul (de exemplu, cataloage „Companii”, „Persoane fizice”) sau descriu analize de calcul suplimentare (de exemplu, catalogul „Elemente de cheltuieli”).

Catalog de produse in modul Designer, in 1C: Enterprise

Pentru a aranja un sistem de tipuri de calcul interconectate, de exemplu, calcularea unui bonus ca procent din salariul acumulat in ultimele trei luni, platforma ofera un obiect – diagrama a tipurilor de calcul. Diagrama tipurilor de calcul determina structura de stocare a datelor pe tipurile de calcul utilizate in aplicatie in scopuri specifice.

Registrele de informatii permit stocarea datelor arbitrare defalcate pe mai multe dimensiuni, de exemplu, ratele de schimb pe valute sau preturile intreprinderii pe tipuri de pret si produse. Registrele de informatii stocheaza de obicei informatiile care se modifica in timp si sunt necesare pentru calcularea, de exemplu, a cantitatii de salariu, a cantitatii de chirie.

Documentele permit solutiei sa stocheze informatii despre tranzactiile comerciale efectuate sau evenimentele care au avut loc in „viata” intreprinderii. Acestea pot fi, de exemplu, facturi de cumparare, ordine de angajare, facturi proforma, ordine de plata etc. Documentele pot actiona ca un obiect care inregistreaza informatiile primare necesare pentru calcul, precum si ca un obiect care inregistreaza calculul intermediar sau final ( de exemplu, documentul „Acumularea de salarii si contributii”).

Registrele de acumulare permit „acumularea” datelor numerice defalcate pe mai multe dimensiuni. De exemplu, acest tip de registru poate acumula informatii despre soldurile marfurilor defalcate pe produse si depozite sau informatii despre vanzari defalcate pe produse si departamente ale companiei. In cazul calculului salarizarii, registrele de acumulare pot contine informatii despre lucrari pe piese sau ore lucrate).

Registrele de calcul servesc la stocarea inregistrarilor anumitor tipuri de calcule care trebuie efectuate, precum si la stocarea datelor intermediare si a rezultatelor calculelor. O aplicatie poate contine mai multe registre de calcul concepute pentru a inregistra datele unei anumite sectiuni contabile.

Rapoartele sunt un mijloc de prezentare a rezultatelor calculelor catre utilizator. In acelasi timp, utilizatorul poate configura flexibil grupari, filtre, vizualizari.

Calculele periodice sunt cele mai raspandite in cererile de salarizare; totusi, gama de sarcini rezolvate folosindu-l este mult mai extinsa (chirie, calculul locuintelor si serviciilor de utilitati etc.). Mecanismul descris mai sus corespunde oricarui proces de afaceri in care sunt prezente urmatoarele criterii:

  • Periodicitate. Efectuarea calculelor la intervale regulate. De exemplu, inchirierea unei masini sau a unui local.
  • Calcul complex. Cerinta de a configura relatia dintre calcule, influenta unor tipuri de calcule asupra celorlalte. Estimarea preturilor serviciilor de locuinte si utilitati poate fi un exemplu excelent in acest sens.
  • Stocarea rezultatelor calculului. Stocarea calculelor efectuate, intermediare si viitoare, in functie de perioadele de calcul si sectiunile analitice necesare.

Dezvoltatorii stabilesc algoritmi de functionare a obiectelor platformei descrise mai sus in editorul vizual cu un minim de codare. Principiul de baza al dezvoltarii 1C: codificati numai acolo unde este esential si lasati platforma sa faca toata munca de rutina.

Este important sa retineti ca nu este suficient sa implementati corect logica de afaceri complexa a calculului. De asemenea, este necesar sa se ia in considerare specificitatea fiecarui caz, deoarece uneori specificul salarizarii, sistemele de motivatie, notele etc. sunt unice in fiecare companie. Este aproape imposibil sa rezolvi aceasta problema folosind un produs standard disponibil la raft. Si avand in vedere schimbarile constante atat in ​​procesele manageriale ale companiei, cat si in cerintele legale, metoda de calcul se poate schimba atat de des incat costul suportarii acestor modificari in produsul software minimizeaza eficienta automatizarii. Pentru a asigura eficienta automatizarii, oferiti utilizatorilor sistemului capacitatea de a face modificari in deplasare.

In 1C: platforma Enterprise, un utilizator poate crea si configura independent tipurile de calcule de care are nevoie pentru a rezolva sarcina. Folosind diagrama obiectelor platformei de tipuri de calcul , un dezvoltator poate crea mai multe diagrame de tipuri de calcul in diferite scopuri, ceea ce va permite utilizatorului sa introduca un numar nelimitat de tipuri de calcul in fiecare dintre diagrame si sa-si configureze relatia.