Class: DtefacilXmlBuilder::NotaDeCreditoElectronica

Inherits:
Object
  • Object
show all
Defined in:
lib/dtefacil_xml_builder/nota_de_credito_electronica.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#detallesObject

Returns the value of attribute detalles.



7
8
9
# File 'lib/dtefacil_xml_builder/nota_de_credito_electronica.rb', line 7

def detalles
  @detalles
end

#receptorObject

Returns the value of attribute receptor.



7
8
9
# File 'lib/dtefacil_xml_builder/nota_de_credito_electronica.rb', line 7

def receptor
  @receptor
end

#referenciaObject

Returns the value of attribute referencia.



7
8
9
# File 'lib/dtefacil_xml_builder/nota_de_credito_electronica.rb', line 7

def referencia
  @referencia
end

#tipoObject

Returns the value of attribute tipo.



7
8
9
# File 'lib/dtefacil_xml_builder/nota_de_credito_electronica.rb', line 7

def tipo
  @tipo
end

Instance Method Details

#render_xmlObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/dtefacil_xml_builder/nota_de_credito_electronica.rb', line 9

def render_xml
    dtebuilder = DteBuilder.new

    xml = Builder::XmlMarkup.new
    xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
    xml.notaCreditoElectronica(xmlns: "http://dtefacil.cl/1.2"){
        |n|
        if @tipo == "anula"
            n.anulaDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte)
        end

        if @receptor && @tipo == "datos"
            n.corrigeReceptorDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
                dtebuilder.create_receptor @receptor 
            }  
        end

        if @detalles && @tipo == "detalles"
            n.corrigeMontosDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
                dtebuilder.create_detalles @detalles, @descuento
            }
        end
    }
end