PowerBuilder
PowerBuilder
Insert Signed XML as Base64 Data into Invoice XML
See more TicketBAI Examples
Demonstrates how to insert previously signed XML into another XML as base64 data.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Sb1
oleobject loo_Sb2
oleobject loo_Xml
li_Success = 0
// We wish to create the following XML:
// <?xml version="1.0" encoding="UTF-8" standalone="no"?><lrpficfcsgap:LROEPF140IngresosConFacturaConSGAltaPeticion xmlns:lrpficfcsgap="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PF_140_1_1_Ingresos_ConfacturaConSG_AltaPeticion_V1_0_2.xsd">
// <Cabecera>
// <Modelo>140</Modelo>
// <Capitulo>1</Capitulo>
// <Subcapitulo>1.1</Subcapitulo>
// <Operacion>A00</Operacion>
// <Version>1.0</Version>
// <Ejercicio>2022</Ejercicio>
// <ObligadoTributario>
// <NIF>79732487C</NIF>
// <ApellidosNombreRazonSocial>ARRIOLA LEJARDI ANE</ApellidosNombreRazonSocial>
// </ObligadoTributario>
// </Cabecera>
// <Ingresos>
// <Ingreso>
// <TicketBai>PD94bWw...ldEJhaT4=</TicketBai>
// <Renta>
// <DetalleRenta>
// <Epigrafe>197330</Epigrafe>
// </DetalleRenta>
// </Renta>
// </Ingreso>
// <Ingreso>
// <TicketBai>PD94bWw...rZXRCYWk+</TicketBai>
// <Renta>
// <DetalleRenta>
// <Epigrafe>197330</Epigrafe>
// <IngresoAComputarIRPFDiferenteBaseImpoIVA>S</IngresoAComputarIRPFDiferenteBaseImpoIVA>
// <ImporteIngresoIRPF>400.00</ImporteIngresoIRPF>
// </DetalleRenta>
// </Renta>
// </Ingreso>
// </Ingresos>
// </lrpficfcsgap:LROEPF140IngresosConFacturaConSGAltaPeticion>
// Use this online tool to generate code from sample XML:
// Generate Code to Create XML
// First get the signed XML created in these other examples
// TicketBAI Sign XML Example 1
loo_Sb1 = create oleobject
li_rc = loo_Sb1.ConnectToNewObject("Chilkat.StringBuilder")
if li_rc < 0 then
destroy loo_Sb1
MessageBox("Error","Connecting to COM object failed")
return
end if
li_Success = loo_Sb1.LoadFile("qa_output/signedXml_1.xml","utf-8")
// TicketBAI Sign XML Example 2
loo_Sb2 = create oleobject
li_rc = loo_Sb2.ConnectToNewObject("Chilkat.StringBuilder")
li_Success = loo_Sb2.LoadFile("qa_output/signedXml_2.xml","utf-8")
loo_Xml = create oleobject
li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml")
loo_Xml.Tag = "lrpficfcsgap:LROEPF140IngresosConFacturaConSGAltaPeticion"
loo_Xml.AddAttribute("xmlns:lrpficfcsgap","https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PF_140_1_1_Ingresos_ConfacturaConSG_AltaPeticion_V1_0_2.xsd")
loo_Xml.UpdateChildContent("Cabecera|Modelo","140")
loo_Xml.UpdateChildContent("Cabecera|Capitulo","1")
loo_Xml.UpdateChildContent("Cabecera|Subcapitulo","1.1")
loo_Xml.UpdateChildContent("Cabecera|Operacion","A00")
loo_Xml.UpdateChildContent("Cabecera|Version","1.0")
loo_Xml.UpdateChildContent("Cabecera|Ejercicio","2022")
loo_Xml.UpdateChildContent("Cabecera|ObligadoTributario|NIF","79732487C")
loo_Xml.UpdateChildContent("Cabecera|ObligadoTributario|ApellidosNombreRazonSocial","ARRIOLA LEJARDI ANE")
loo_Xml.UpdateChildContent("Ingresos|Ingreso|TicketBai",loo_Sb1.GetEncoded("base64","utf-8"))
loo_Xml.UpdateChildContent("Ingresos|Ingreso|Renta|DetalleRenta|Epigrafe","197330")
loo_Xml.UpdateChildContent("Ingresos|Ingreso[1]|TicketBai",loo_Sb2.GetEncoded("base64","utf-8"))
loo_Xml.UpdateChildContent("Ingresos|Ingreso[1]|Renta|DetalleRenta|Epigrafe","197330")
loo_Xml.UpdateChildContent("Ingresos|Ingreso[1]|Renta|DetalleRenta|IngresoAComputarIRPFDiferenteBaseImpoIVA","S")
loo_Xml.UpdateChildContent("Ingresos|Ingreso[1]|Renta|DetalleRenta|ImporteIngresoIRPF","400.00")
Write-Debug loo_Xml.GetXml()
li_Success = loo_Xml.SaveXml("qa_output/ticketBAI_invoice.xml")
destroy loo_Sb1
destroy loo_Sb2
destroy loo_Xml