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

Import document prin mesaj EDI


Funcțiile customizate de tipul "Import document prin mesaj EDI" sunt de două tipuri: STANDARD și INLINE și sunt utilizate 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ă.

Parametri funcție customizată

Parametru Tip Descriere
@numeFisier VARCHAR(128) Numele fișierului, inclusiv extensia
@continutFisier NVARCHAR(MAX) Datele sub formă de JSON/XML
@id_EdiProvider BIGINT Id-ul mesajului EDI

 

Structura returnată de funcția customizată va fi în funcție de tabela importex a modulului în care se dorește importul

Exemplu de funcție customizată STANDARD pentru importul comenzilor de client:

Pentru funcția INLINE se va realiza doar select-ul, nu se va insera în tabela @ret_table:

DECLARE @xml XML = REPLACE(@continutFisier, ' encoding="utf-8"', ' encoding="utf-16"');

INSERT INTO @ret_table(id_document, data_document, id_carnet, id_gestiune, data_livrare, scadenta, moneda, den_adresa, observatii, identif, valoare, tip_produs, cod_produs, cantitate, pret_vanzare, denumire_sup, serie_produs)
SELECT dbo.string(t.c.value('@orderId[1]', 'BIGINT')) AS id_document,
       GETDATE() AS data_document,
       91 AS id_carnet,
       '6(1)' AS id_gestiune,
       t.c.value('@requested_delivery_date', 'DATE') AS data_livrare,
       DATEDIFF(DAY, GETDATE(), t.c.value('@requested_delivery_date', 'DATE')) AS scadenta,
       t.c.value('@currency_code', 'CHAR(3)') AS moneda,
       ISNULL(t.c.value('@delivery_address_code', 'VARCHAR(200)'), '') AS den_adresa, 
       ISNULL(t.c.value('@comments', 'NVARCHAR(500)'), '') AS observatii,
       ISNULL(t.c.value('@purchase_order_number', 'VARCHAR(50)'), '') AS identif,
       t.c.value('@total_order_amount', 'MONEY') AS valoare,
       'FAA' AS tip_produs,
       l.c.value('@articlenr', 'VARCHAR(50)') AS cod_produs,
       l.c.value('@quantity', 'NUMERIC(13,3)') AS cantitate,
       CAST(REPLACE(l.c.value('@unit_price', 'VARCHAR(20)'), ',', '.') AS MONEY) AS pret_vanzare,
       ISNULL(l.c.value('@description', 'VARCHAR(500)'), '') AS denumire_sup,
       ISNULL(l.c.value('@line_no', 'VARCHAR(50)'), '') AS serie_produs
     FROM @xml.nodes('CIPOutgoing/OrderHead') AS t(c)
     CROSS APPLY @xml.nodes('CIPOutgoing/OrderLine') AS l(c)

  •     Generare raport vizită agent
  • Text imprimantă departamentală