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

Export document prin mesaj EDI (inline)


Funcțiile customizate de tipul "Export document prin mesaj EDI (inline)" sunt de două tipuri: STANDARD și INLINE și sunt create pentru generarea unor fișiere, care pot fi utilizate ulterior pentru importul automat într-o altă societate în NexusERP sau pentru automatizarea sincronizării cu alte sisteme. Pentru a utiliza acest tip de funcție customizată este necesară selecția unei funcții în cadrul unui mesaj EDI.

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ă.

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(50) Numele fișierului, inclusiv extensia
continut_fisier NVARCHAR(MAX) Datele sub formă de JSON ce se doresc a fi importate ulterior

 

Exemplu de funcție customizată INLINE pentru exportul partenerilor creați în ziua curentă

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 = 'NexusEDI_Parteneri_' + dbo.ttos(GETDATE()) + '.json',
	continut_fisier = (
		SELECT TRIM(p.nume) AS [denumire],
		       TRIM(p.id_extern) AS id_partener,
			TRIM(p.cod_fiscal) AS cif_cnp, 
			p.persfiz AS pers_fizica,
			TRIM(p.reg_comert) AS registru_comert,
			TRIM(p.cod_tara) AS cod_tara,
			TRIM(p.localitate) AS den_localitate,
			p.cod_siruta AS cod_siruta,
			TRIM(p.cod_judet) AS cod_judet,
			TRIM(p.judet) AS den_regiune, 
			TRIM(p.telefon) AS telefon, 
                        TRIM(p.email) AS email, 
                        TRIM(p.fax) AS fax, 
                        TRIM(p.nume_cls) AS den_clasificare,
			TRIM(p.nume_cls2) AS den_clasificare2,
			TRIM(p.nume_cls3) AS den_clasificare3,
			TRIM(p.manager) AS manager,  
                        TRIM(p.obs_print) AS observatii_facturare,
			p.tva_incas AS tva_incas,
			p.inactiv AS inactiv,
		        p.intrastat AS platitor_tva,
			p.lim_credit AS limita_credit,
			p.term_inc AS termen_incasare,
			p.term_inc2 AS termen_incasare2,
			p.term_plt AS termen_plata,
			p.restmax AS restanta_max,
			(SELECT l.[data] AS [data],
				l.id_tipvf AS [id_tip_vector_fiscal],
				TRIM(l.desc_tipvf) AS [descriere_tip_vector_fiscale],
				l.operatie AS [operatie],
				TRIM(l.den_operatie) AS [den_operatie],
				l.perioada AS [perioada],
				TRIM(l.den_perioada) AS [den_perioada]
			    FROM parteneri_vector_fiscal_view l	
			    WHERE p.pct_lcr = l.pl_part AND p.id = l.id_part 
			    FOR JSON PATH) AS vector_fiscal,
			 (SELECT TRIM(b.banca) AS [banca],
					TRIM(b.filiala) AS [filiala],
					TRIM(b.cod_bic) AS [cod_bic],
					TRIM(b.cod_banca) AS [cod_banca],
					TRIM(b.cont_banca) AS [cont_banca],
					TRIM(b.deviz) AS [deviz],
					 b.facturare AS [utilizez_facturare]
				 FROM banci_view b	
				 WHERE p.pct_lcr = b.pl_part AND p.id = b.id_part 
				 FOR JSON PATH) AS banci,
			   (SELECT d.id_extern AS [id_extern],
					TRIM(d.nume) AS [denumire],
					TRIM(d.ci_seria) AS [ci_seria],
					d.ci_numar AS [ci_numar],
					TRIM(d.ci_elib) AS [ci_elib],
					d.ci_data AS [ci_data],
					TRIM(d.nr_auto) AS [numar_auto],
					TRIM(d.email) AS [email],
					TRIM(d.telefon) AS [telefon],
					TRIM(d.cod_tara) AS [cod_tara],
					d.id_loc AS [id_localitate],
					TRIM(d.localitate) AS [den_localitate],
					TRIM(d.judet) AS [den_regiune],
					TRIM(d.adresa) AS [adresa]
				  FROM delegati_view d	
				  WHERE p.pct_lcr = d.pl_part AND p.id = d.id_part 
				  FOR JSON PATH) AS delegati,
				(SELECT TRIM(l.id_extern) AS [id_extern],
					TRIM(l.nume) AS [denumire],
					l.id_loc AS [id_localitate],
					l.localitate AS [den_localitate],
					l.cod_siruta AS [cod_siruta],
					TRIM(l.judet) AS [den_regiune],
					TRIM(l.adresa_st) AS [strada],
					TRIM(l.adresa_nr) AS [numar],
					TRIM(l.adresa_bl) AS [bloc],
					TRIM(l.adresa_sc) AS [scara],
					TRIM(l.adresa_et) AS [etaj],
					TRIM(l.adresa_ap) AS [apartament],
					TRIM(l.cod_postal) AS [cod_postal],
					TRIM(l.telefon) AS [telefon],
					TRIM(l.zona) AS [zona],
					TRIM(l.email) AS [email],
					l.gln AS [gln],
					sediu AS [este_sediu],
					TRIM(observatii) AS [observatii],
					TRIM(cod_judet) AS [cod_judet],
					TRIM(merchandiser) AS [merchandiser]
				  FROM part_livrare_view l	
				  WHERE p.pct_lcr = l.pl_part AND p.id = l.id_part
				  FOR JSON PATH) AS adrese_livrare
			    FROM parteneri_nom p
			    INNER JOIN fur f ON p.pct_lcr = f.pl_401 AND p.id = f.id_401
			    WHERE CONVERT(DATE, f.data_cr) = CONVERT(DATE, GETDATE()) AND CONVERT(DATE, p.data_cr) = CONVERT(DATE, GETDATE())
			    FOR JSON PATH)

  •     Sincronizare listă de prețuri
  • Generare flux de aprobări