dtefacil_xml_builder 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/dtefacil_xml_builder.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
module DtefacilXmlBuilder
|
2
|
+
class Detalle
|
3
|
+
attr_accessor :nombre, :cantidad, :precio_unitario, :descuento, :unidad, :exento
|
4
|
+
|
5
|
+
def set_detalle detalle
|
6
|
+
@nombre = detalle[:nombre]
|
7
|
+
@cantidad = detalle[:cantidad]
|
8
|
+
@precio_unitario = detalle[:precio_unitario]
|
9
|
+
|
10
|
+
if detalle[:descuento]
|
11
|
+
@descuento = detalle[:descuento]
|
12
|
+
end
|
13
|
+
|
14
|
+
if detalle[:unidad]
|
15
|
+
@unidad = detalle[:unidad]
|
16
|
+
end
|
17
|
+
|
18
|
+
if detalle[:exento]
|
19
|
+
@exento = detalle[:exento]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -2,109 +2,67 @@ module DtefacilXmlBuilder
|
|
2
2
|
|
3
3
|
class FacturaElectronica
|
4
4
|
|
5
|
-
|
6
|
-
@descuento = descuento
|
7
|
-
end
|
8
|
-
|
9
|
-
def set_actividades_economicas act
|
10
|
-
@actividades_economicas = act
|
11
|
-
end
|
12
|
-
|
13
|
-
def set_receptor receptor
|
14
|
-
@receptor = receptor
|
15
|
-
end
|
16
|
-
|
17
|
-
def set_detalles detalles
|
18
|
-
@detalles = detalles
|
19
|
-
end
|
5
|
+
attr_accessor :descuento, :actividades_economicas, :receptor, :detalles
|
20
6
|
|
21
7
|
def render_xml
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
8
|
+
dtebuilder = XmlBuilder::DteBuilder.new
|
9
|
+
|
10
|
+
xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
|
11
|
+
xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
|
12
|
+
xml.facturaElectronica(xmlns: "http://dtefacil.cl/1.2"){
|
13
|
+
dtebuilder.create_actividades_economicas @actividades_economicas
|
14
|
+
dtebuilder.create_receptor @receptor
|
15
|
+
dtebuilder.create_detalles @detalles, @descuento
|
16
|
+
}
|
31
17
|
end
|
32
18
|
end
|
33
19
|
|
34
20
|
|
35
21
|
class NotaDeCreditoElectronica
|
36
|
-
def set_referencia referencia
|
37
|
-
@referencia = referencia
|
38
|
-
end
|
39
|
-
|
40
|
-
def set_tipo tipo
|
41
|
-
@tipo = tipo
|
42
|
-
end
|
43
|
-
|
44
|
-
def set_receptor receptor
|
45
|
-
@receptor = receptor
|
46
|
-
end
|
47
22
|
|
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
|
-
end
|
23
|
+
attr_accessor :referencia, :tipo, :receptor, :detalles
|
24
|
+
|
25
|
+
def render_xml
|
26
|
+
dtebuilder = XmlBuilder::DteBuilder.new
|
27
|
+
|
28
|
+
xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
|
29
|
+
xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
|
30
|
+
xml.notaCreditoElectronica(xmlns: "http://dtefacil.cl/1.2"){
|
31
|
+
|n|
|
32
|
+
if @tipo == "anula"
|
33
|
+
n.anulaDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte)
|
34
|
+
end
|
35
|
+
|
36
|
+
if @receptor && @tipo == "datos"
|
37
|
+
n.corrigeReceptorDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
|
38
|
+
dtebuilder.create_receptor @receptor
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
if @detalles && @tipo == "detalles"
|
43
|
+
n.corrigeMontosDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
|
44
|
+
dtebuilder.create_detalles @detalles, @descuento
|
45
|
+
}
|
46
|
+
end
|
47
|
+
}
|
48
|
+
end
|
76
49
|
end
|
77
50
|
|
78
51
|
|
79
|
-
|
80
|
-
def set_descuento descuento
|
81
|
-
@descuento = descuento
|
82
|
-
end
|
83
|
-
|
84
|
-
def set_actividades_economicas act
|
85
|
-
@actividades_economicas = act
|
86
|
-
end
|
87
|
-
|
88
|
-
def set_receptor receptor
|
89
|
-
@receptor = receptor
|
90
|
-
end
|
91
|
-
|
92
|
-
def set_detalles detalles
|
93
|
-
@detalles = detalles
|
94
|
-
end
|
95
|
-
|
96
|
-
def render_xml
|
97
|
-
dtebuilder = XmlBuilder::DteBuilder.new
|
98
|
-
|
99
|
-
xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
|
100
|
-
xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
|
101
|
-
xml.facturaExentaElectronica(xmlns: "http://dtefacil.cl/1.2"){
|
102
|
-
dtebuilder.create_actividades_economicas @actividades_economicas
|
103
|
-
dtebuilder.create_receptor @receptor
|
104
|
-
dtebuilder.create_detalles @detalles, @descuento
|
105
|
-
}
|
106
|
-
end
|
107
|
-
end
|
52
|
+
class FacturaExentaElectronica
|
108
53
|
|
54
|
+
attr_accessor :descuento, :actividades_economicas, :receptor, :detalles
|
55
|
+
|
56
|
+
def render_xml
|
57
|
+
dtebuilder = XmlBuilder::DteBuilder.new
|
109
58
|
|
59
|
+
xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
|
60
|
+
xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
|
61
|
+
xml.facturaExentaElectronica(xmlns: "http://dtefacil.cl/1.2"){
|
62
|
+
dtebuilder.create_actividades_economicas @actividades_economicas
|
63
|
+
dtebuilder.create_receptor @receptor
|
64
|
+
dtebuilder.create_detalles @detalles, @descuento
|
65
|
+
}
|
66
|
+
end
|
67
|
+
end
|
110
68
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module DtefacilXmlBuilder
|
2
|
+
class Receptor
|
3
|
+
attr_accessor :rut, :razon_social, :giro, :direccion, :comuna, :ciudad
|
4
|
+
|
5
|
+
def set_receptor receptor
|
6
|
+
@rut = receptor[:rut]
|
7
|
+
@razon_social = receptor[:razon_social]
|
8
|
+
@giro = receptor[:giro]
|
9
|
+
@direccion = receptor[:direccion]
|
10
|
+
@comuna = receptor[:comuna]
|
11
|
+
@ciudad = receptor[:ciudad]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtefacil_xml_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: builder
|
@@ -42,8 +42,10 @@ files:
|
|
42
42
|
- Rakefile
|
43
43
|
- dtefacil_xml_builder.gemspec
|
44
44
|
- lib/dtefacil_xml_builder.rb
|
45
|
+
- lib/dtefacil_xml_builder/detalle.rb
|
45
46
|
- lib/dtefacil_xml_builder/documentos.rb
|
46
47
|
- lib/dtefacil_xml_builder/dte_builder.rb
|
48
|
+
- lib/dtefacil_xml_builder/receptor.rb
|
47
49
|
- lib/dtefacil_xml_builder/version.rb
|
48
50
|
homepage: ''
|
49
51
|
licenses: []
|