Utilizzare la Reusable Part £NGRTXSCFS
Richiamare il metodo um_startXML per pulire le liste interne
Aggiungere gli articoli utilizzando il metodo um_addArticolo
P_ARTICOLO: Codice articolo (o descrizione da visualizzare)
P_EFFETTIVO: Valore effettivo della vendita
P_UNITARIOLORDO: Valore unitario dell’articolo
P_UNITARIONETTO: Valore unitario al netto degli sconti
P_TIPOVOUCHER: [B: Buono \ A: Acconto \ P: Prenotazione \ T: Gift Card] Tipologia del Voucher da emettere
P_AZIONEVOUCHER: Descrizione da visualizzare in presenza di un Voucher
P_FLRESO: [Ture\False] indica se è un reso
P_QUANTITA: Quantità
P_IDRIGA: Progressivo riga scontrino
P_REPARTO: Reparto registratore (se passato a *BLANK il reparto viene dedotto dal codice IVA)
P_CODICEIVA: Codice IVA
P_FLESENTEIVA: [Ture\False] indica se la vendita è in esenzione
Aggiungere i pagamenti utilizzando il metodo um_addPagamento
P_PAGAMENTO: Descrizione del pagamento da visualizzare
P_IMPORTO: Importo
Il metodo um_WriteXML genera l’XML da inviare alla cassa
Progamma di Esempio MRTST0002
* **************************************************
* COMPONENT: STD_FORM
* **************************************************
FUNCTION OPTIONS(*DIRECT)
BEGIN_COM ROLE(*EXTENDS £PRIM_FORM) CLIENTHEIGHT(302) CLIENTWIDTH(484)
DEFINE_COM CLASS(£NGRTXSCFS) NAME(£vi_NGRTXSCFS) REFERENCE(*DEFERRED)
DEFINE_COM CLASS(£NGSERP99) NAME(£vi_NGSERP99) REFERENCE(*DEFERRED)
DEFINE_COM CLASS(£NGRTRP02) NAME(£vi_NGRTRP02) REFERENCE(*DEFERRED)
DEFINE_COM CLASS(£NGTB052G) NAME(£vi_NGTB052G) REFERENCE(*DEFERRED)
DEFINE_COM CLASS(£EDOBJ016) NAME(£vi_EDOBJ016) REFERENCE(*DEFERRED)
EVTROUTINE HANDLING(£com_owner.Initialize)
SET COM(£com_owner) CAPTION(*component_desc)
IF (£vi_NGSERP99.up_RTEsend)
£vi_NGRTXSCFS.um_startXML
* AGGIUNGO GLI ARTICOLI
£vi_NGRTXSCFS.um_addArticolo P_ARTICOLO("WHAKE UP NEO FOLLOW") P_EFFETTIVO(120) P_UNITARIOLORDO(120) P_UNITARIONETTO(100) P_TIPOVOUCHER("") P_AZIONEVOUCHER("") P_FLRESO(False) P_QUANTITA(1) P_IDRIGA(1) P_REPARTO("R1") P_CODICEIVA("20") P_FLESENTEIVA(False)
£vi_NGRTXSCFS.um_addArticolo P_ARTICOLO("THE WHITE RABBIT") P_EFFETTIVO(120) P_UNITARIOLORDO(120) P_UNITARIONETTO(100) P_TIPOVOUCHER("") P_AZIONEVOUCHER("") P_FLRESO(False) P_QUANTITA(1) P_IDRIGA(2) P_REPARTO("R1") P_CODICEIVA("20") P_FLESENTEIVA(False)
* AGGIUNGO I PAGAMENTI
£vi_NGRTXSCFS.um_addPagamento P_PAGAMENTO("CONTANTI") P_IMPORTO(240)
* CREO L'XML
IF COND(*CPUTYPE *EQ "AS400")
£NGTBRTEO4 := £vi_NGTB052G.up_Record.up_NGTBRTEO4
£R_STR256 := £NGTBRTEO4
ELSE
£R_STR256 := *NG_PATH_XML_OUT
ENDIF
£vi_EDOBJ016.um_RemoveSlash P_DIRECTORY(£R_STR256)
£R_STR256 += *PATHDELIM
* Negozio
£R_STR256 += "???"
£R_STR256 += *PATHDELIM
* Cassa
£R_STR256 += "?" (NB: verificare a monte che ci sia un record per il negozio/cassa sul file NGRT01 - file delle casse)
£R_STR256 += *PATHDELIM
£R_STR256 += *DATETIMEC
£R_STR256 += "_"
£R_STR256 += "PRINTSF"
£R_STR256 += ".xml"
£vi_NGRTXSCFS.um_WriteXML P_FILENAME(£R_STR256)
ENDIF
£COM_OWNER.CloseForm
ENDROUTINE
END_COM