-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathCFDAlSuperAddenda.BAK
100 lines (80 loc) · 2.87 KB
/
CFDAlSuperAddenda.BAK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
* CFDALSUPERADDENDA.PRG
* Define la addenda para ALSuper
*
*
DEFINE CLASS CFDALSuperAddenda AS ICFDAddenda
*
*-- Propiedades base
nodeName = "Addenda" && Puede ser tambien "Complemento"
schemaLocation = "http://proveedores.alsuper.com/addenda/1.xsd"
NSTag = "alsuper"
NSUrl = "http://proveedores.alsuper.com/CFD"
*-- Propiedades personalizadas
Version = "1.0"
ordenDeCompra = ""
Sucursal = ""
tipoMoneda = ""
tipoDeCambio = ""
tipoBulto = ""
valorFlete = ""
eMail = ""
Conceptos = NULL
*-- Constructor
PROCEDURE Init
DODEFAULT()
THIS.Conceptos = CREATEOBJECT("CFDCollection")
ENDPROC
*-- Metodos personalizados
*-- addConcepto
* Incluir un nuevo item en la lista de conceptos
*
PROCEDURE addConcepto(pcNoPartida, pcCodigoBarras, pcFactorEmpaque, pcEmpaqueInreso, pcCostoPAgar, pcValorIVA, pcValorIeps)
LOCAL oItem
oItem = CFDBuffer("noPartida,codigoBarras,factorEmpaque,empaqueInreso,costoPAgar,valorIVA,valorIeps",;
pcNoPartida, pcCodigoBarras, pcFactorEmpaque, pcEmpaqueInreso, pcCostoPAgar, pcValorIVA, pcValorIeps)
THIS.Conceptos.Add(oItem)
ENDPROC
*-- Metodos base
PROCEDURE ToString()
*
LOCAL oXML
oXML = CREATEOBJECT("XMLParser")
oXML.New()
* Root node
LOCAL oRoot
oRoot = oXML.XML.addNode("alsuper:Alsuper")
oRoot.addProp("version",THIS.Version)
oRoot.addProp("ordenDeCompra", THIS.ordenDeCompra)
oRoot.addProp("sucursal",THIS.sucursal)
oRoot.addProp("tipoMoneda",THIS.tipoMoneda)
oRoot.addProp("tipoDeCambio",THIS.tipoDeCambio)
oRoot.addProp("tipoBulto",THIS.tipoBulto)
oRoot.addProp("valorFlete",THIS.valorFlete)
oRoot.addProp("email",THIS.EMail)
* Conceptos
oRoot.addNode("Conceptos")
oRoot.createNodeLinks = .F.
LOCAL i,oItem,oNode
FOR i = 1 TO THIS.Conceptos.Count
oItem = THIS.Conceptos.Items[i]
oNode = oRoot._Conceptos.addNode("Concepto")
oNode.addProp("noPartida",oItem.noPartida)
oNode.addProp("codigoDeBarras",oItem.codigoBarras)
oNode.addProp("FactorEmpaque",oItem.factorEmpaque)
oNode.addProp("empaqueInreso",oItem.empaqueInreso)
oNode.addProp("costoPagar",oItem.costoPagar)
oNode.addProp("valorIva",oItem.valorIva)
oNode.addProp("valorIeps",oItem.valorIeps)
ENDFOR
* Retornamos el XML de la addenda
RETURN oXML.ToString()
*
ENDPROC
*
ENDDEFINE
*!* <alsuper:Alsuper version="1.0" ordenDeCompra="378402" sucursal="10090000" tipoMoneda="Pesos" tipoDeCambio="1" tipoBulto="cajas" valorFlete="0" email="[email protected]">
*!* <alsuper:Conceptos>
*!* <alsuper:Concepto noPartida="1" codigoDeBarras="2850727000009" factorEmpaque="1" empaqueInreso="119" costoPagar="187.5" valorIva="0" valorIeps="0" />
*!* <alsuper:Concepto noPartida="2" codigoDeBarras="2850728000008" factorEmpaque="1" empaqueInreso="112" costoPagar="187.5" valorIva="0" valorIeps="0" />
*!* </alsuper:Conceptos>
*!* </alsuper:Alsuper>