Acest site folosește cookie-uri. Prin navigarea pe acest site, iți exprimi acordul asupra folosirii cookie-urilor. Vezi și politica noastră de confidențialitate

N E X U S
Nexus ERP

Nexus ERP progres

loading

Generare avertizări


Funcțiile customizate de tipul "Generare avertizări" sunt de două tipuri: STANDARD și INLINE și au fost create cu scopul de a eficientiza crearea și vizualizarea la nivel global a tuturor funcțiilor din spatele avertizărilor aferente fiecărui modul, dar și pentru o tratare unitară a codurilor funcțiilor utilizate în aplicație. După crearea unei funcții customizate de acest tip se va adăuga o avertizare în modulul de interes și se va asocia funcția definită.

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
@deletedJSON NVARCHAR(MAX) Utilizat pentru avertizările declanșate la modificarea documentului și conține înregistrările modificate, așa cum erau înaintea modificării

 

Structura returnată de funcția customizată

Structură Tip Descriere
subiect NVARCHAR(500) Subiectul avertizării
text NVARCHAR(MAX) Textul avertizării
al_tabel VARCHAR(6) ANLUNA, parte din cheia primară a înregistrării asociate (OPȚIONAL)
pl_tabel SMALLINT PCT_LCR, parte din cheia primară a înregistrării asociate (OPȚIONAL)
id_tabel NUMERIC(18,0) ID, parte din cheia primară a înregistrării asociate (OPȚIONAL)
nume_tabel VARCHAR(50) Denumirea tabelului înregistrării asociate (OPȚIONAL)
dest_nexmsg VARCHAR(MAX) Lista de utilizatori ce vor primi avertizarea prin mesageria Nexus ERP (separate prin virgulă, câmp OPȚIONAL)
dest_mailto VARCHAR(MAX) Lista de adrese e-mail către care se va trimite avertizarea (separate prin virgulă, câmp OPȚIONAL)
dest_mailcc VARCHAR(MAX) Lista de adrese e-mail către care se va trimite avertizarea (separate prin virgulă, câmp OPȚIONAL)
dest_mailbcc VARCHAR(MAX) Lista de adrese e-mail către care se va trimite avertizarea (separate prin virgulă, câmp OPȚIONAL)
dest_sms VARCHAR(MAX) Lista de numere de telefon către care se va trimite avertizarea prin SMS (separate prin virgulă, câmp OPȚIONAL)
dest_whatsapp VARCHAR(MAX) Lista de numere de telefon către care se va trimite avertizarea prin WhatsApp (separate prin virgulă, câmp OPȚIONAL)

 

Exemplu de funcție customizată STANDARD pentru generarea avertizărilor: Încasări cu depășire plafon, pe zi, 5000 lei per client pers. juridice și 10.000 pentru pers. fizice

Pentru funcția INLINE nu se va insera în tabela @ret_table.

DECLARE @pl_client [pl], @id_client [id], @data_doc [data_doc], @suma [suma], @cont_casa [conturi], @pers_fiz BIT     

SELECT @pl_client = pl_cor, @id_client = id_cor, @data_doc = data_doc, @cont_casa = cont_5, @pers_fiz = p.persfiz       
   FROM cal c
   INNER JOIN parteneri p ON c.pl_cor = p.pct_lcr AND c.id_cor = p.id
   WHERE c.anluna = @al_tabel AND c.pct_lcr = @pl_tabel AND c.id = @id_tabel AND c.tip_cor = 'P' AND c.inc_plt = '+'    

IF @data_doc IS NOT NULL   
SELECT @suma = SUM(suma)   
     FROM cal    
     WHERE cont_5 = @cont_casa AND data_doc = @data_doc AND tip_cor = 'P' AND pl_cor = @pl_client AND id_cor = @id_client AND anulat = 0 AND valid=1 AND inc_plt = '+' AND LEFT(cont_cor, 3) IN ('411', '401', '542')      

IF (ISNULL(@suma, 0) > IIF(@pers_fiz = 0, 5000, 10000))
     INSERT INTO @ret_table ([text], al_tabel, pl_tabel, id_tabel, nume_tabel)         
          SELECT 'Atentie! ' + TRIM(UPPER(tip_doc)) + ': ' + TRIM(UPPER(nr_doc)) + '/'+ dbo.dtoc(data_doc) + ' are incasari care depasesc plafonul de ' + IIF(@pers_fiz = 1, '10000', '5000') + ' RON operare pe client pe zi!', anluna, pct_lcr, id, 'cal'         
		FROM cal_view          
		WHERE anluna = @al_tabel AND pct_lcr = @pl_tabel AND id = @id_tabel   

  •     Generare activități
  • Generare comenzi de aprovizionare pentru depozit