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 raport vizită agent


Funcțiile customizate de tipul "Generare raport vizită agent" sunt de două tipuri: STANDARD și INLINE și sunt utilizate pentru generarea rapoartelor de tip Vizită agent, în funcție de filtrele stabilite. În cazul în care există funcții custom de tipul "Generare raport vizită agent", meniul Asistent din modulul "Rapoarte vizită agenți" va conține itemi pentru fiecare funcție existentă.

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
@data_ini DATE Data de început a perioadei de căutare
@data_fin DATE Data de sfârșit a perioadei de căutare

 

Structura returnată de funcția customizată

Structură Tip Descriere
data_doc DATE Data documentului
data_ini DATE Dată început raport
pl_cli SMALLINT Punctul de lucru al clientului
id_cli NUMERIC(18,0) Id-ul intern al clientului
pl_liv SMALLINT Punctul de lucru al adresei de livrare
id_liv NUMERIC(18,0) Id-ul intern al adresei de livrare
pl_pers SMALLINT Punctul de lucru al salariatului
id_pers NUMERIC(18,0) Id-ul intern al salariatului
pl_ruta SMALLINT Punctul de lucru al rutei
id_ruta NUMERIC(18,0) Id-ul intern al rutei
observatii VARCHAR(500) Observații
id_model NUMERIC(18,0) Id-ul modelulului pe baza căruia se va crea raportul
valid BIT Se va trimite valoarea 1 în cazul în care se dorește validarea documentului și 0 pentru documentele care se vor adăuga devalidate

 

Exemplu de funcție customizată INLINE pentru generarea rapoartelor vizită agenți:

Pentru funcția STANDARD se va insera în tabela @ret_table, urmat de același select:

INSERT INTO @ret_table(data_doc, data_ini, pl_cli, id_cli, pl_liv, id_liv, pl_pers, id_pers, pl_ruta, id_ruta, observatii, id_model, valid)

SELECT data_doc = CAST(GETDATE() AS DATE),
       data_ini = CAST(GETDATE() AS DATE),
       pl_cli = CAST(p.pct_lcr AS SMALLINT), 
       id_cli = CAST(p.id AS NUMERIC(18,0)),
       pl_liv = CAST(a.pct_lcr AS SMALLINT), 
       id_liv = CAST(a.id AS NUMERIC(18,0)),
       pl_pers = CAST(p.pl_pers AS SMALLINT), 
       id_pers = CAST(p.id_pers AS NUMERIC(18,0)),
       pl_ruta = CAST(r.pct_lcr AS SMALLINT), 
       id_ruta = CAST(r.id AS NUMERIC(18,0)),
       observatii = 'Generare rapoarte vizita',
       id_model = CAST(m.[value] AS NUMERIC(18,0)),
       valid = 0
	   FROM parteneri_view p
	   INNER JOIN part_livrare_view a ON a.pl_part = p.pct_lcr AND a.id_part = p.id
	   CROSS APPLY
		       (
			 SELECT TOP 1 r.denumire, r.pct_lcr, r.id, r.nume_pers, r.pl_pers, r.id_pers, l.periodicitate, id_model, l.termen_realizare
			      FROM m_nomrute_linii l
			      INNER JOIN m_nomrute_view r ON r.pct_lcr = l.pl_ruta AND r.id = l.id_ruta
			      WHERE l.pl_adrliv = a.pct_lcr AND l.id_adrliv = a.id AND l.id_model != ''
		       ) r
           CROSS APPLY STRING_SPLIT(r.id_model, ',') m 
           INNER JOIN parteneri_rapsv_modele lm ON TRIM(m.[value]) = CAST(lm.id AS varchar(18))
	   OUTER APPLY (SELECT MAX(s.data_doc) AS data_doc
			    FROM parteneri_rapsv s
			    WHERE s.pl_cli = p.pct_lcr AND s.id_cli = p.id AND s.tip_raport = 'Q' AND s.pl_liv = a.pct_lcr AND s.id_liv = a.id AND CAST(s.id_model AS varchar(18)) = r.id_model
					) d
	   INNER JOIN XECUTIVE..util_calendar u ON u.[data] >= @data_ini AND u.[data] < @data_fin AND u.[data] = IIF(d.data_doc IS NULL, @data_ini, DATEADD(DAY, r.periodicitate, d.data_doc))

  •     Generare număr lot
  • Import document prin mesaj EDI