Conținut fișier plăți salarii
Funcțiile customizate de tipul "Conținut fișier plăți salarii" sunt de două tipuri: STANDARD și INLINE și sunt destinate pentru generarea fișierelor de plăți salarii prin card. După personalizarea funcției, se poate apela din cadrul modulului: Salarii -> Fișier card - > Generare fișier plăți pentru bancă în format customizat, unde se va specifica funcția custom dorită.
Pentru funcțiile INLINE se va realiza un select care să returneze structura prezentată, iar pentru funcțiile STANDARD se va realiza un INSERT INTO @ret_table, respectând aceeași structură.
Parametri funcție customizată
Parametru | Tip | Descriere |
---|---|---|
@al_tabel | VARCHAR(6) | ANLUNA, parte din cheia primară a înregistrării asociate |
@pl_tabel | SMALLINT | PCT_LCR, parte din cheia primară a înregistrării asociate |
@id_tabel | NUMERIC(18,0) | ID, parte din cheia primară a înregistrării asociate |
Structura returnată de funcția customizată
Structură | Tip | Descriere |
---|---|---|
nume_fisier | VARCHAR(200) | Denumirea fișierului generat, inclusiv extensia |
continut_fisier | NVARCHAR(MAX) | Conținutul fișierului generat |
Exemplu de funcție customizată INLINE pentru exportul fișierelor de plăți salarii - Tichete de masă
Pentru funcția STANDARD se va insera în tabela @ret_table, urmat de același select:
INSERT INTO @ret_table(nume_fisier, continut_fisier)
SELECT nume_fisier = 'plata_tichete_masa_salariati_' + @al_tabel + '.csv',
continut_fisier = 'Nume,Prenume,CNP,Numar tichete,Valoare nominala' + CHAR(13) + CHAR(10)
+ ISNULL(STRING_AGG(m.linie, CHAR(13) + CHAR(10)),'')
FROM (
SELECT TOP 10000 linie
FROM
(SELECT idx = ROW_NUMBER() OVER(ORDER BY nume_sal ASC),
linie = CAST(CONCAT_WS(',', MAX(numefam), MAX(prenume), cnp_sal, SUM(nr_tichete), CAST(MAX(val_tichet) AS NUMERIC(18,2)) ) AS VARCHAR(MAX))
FROM dbo.sal_sume_card_tichete_masa(@al_tabel)
GROUP BY cod_sal, nume_sal, cnp_sal, tip_tik
) l
ORDER BY l.idx) m