FACTURACION ELECTRONICA EN LINEA
Posted: Sat Mar 18, 2023 11:31 am
Buenas estimados
Estoy implementando un sistema para ello
Con datos de la factura se debe crear un archivo xml
En el foro en encontrado un código de Rafa Carmona
Me salen éstos errores
Gracias por la ayuda
Estoy implementando un sistema para ello
Con datos de la factura se debe crear un archivo xml
Code: Select all | Expand
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<facturaComputarizadaCompraVenta xsi:noNamespaceSchemaLocation="facturaComputarizadaCompraVenta.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cabecera>
<nitEmisor>1003579028</nitEmisor>
<razonSocialEmisor>Carlos Loza</razonSocialEmisor>
<municipio>La Paz</municipio>
<telefono>78595684</telefono>
<numeroFactura>1</numeroFactura>
<cuf>44AAEC00DBD34C53C3E2CCE1A3FA7AF1E2A08606A667A75AC82F24C74</cuf>
<cufd>BQUE+QytqQUDBKVUFOSVRPQkxVRFZNVFVJBMDAwMDAwM</cufd>
<codigoSucursal>0</codigoSucursal>
<direccion>AV. JORGE LOPEZ #123</direccion>
<codigoPuntoVenta xsi:nil="true"/>
<fechaEmision>2021-10-06T16:03:48.675</fechaEmision>
<nombreRazonSocial>Mi razon social</nombreRazonSocial>
<codigoTipoDocumentoIdentidad>1</codigoTipoDocumentoIdentidad>
<numeroDocumento>5115889</numeroDocumento>
<complemento xsi:nil="true"/>
<codigoCliente>51158891</codigoCliente>
<codigoMetodoPago>1</codigoMetodoPago>
<numeroTarjeta xsi:nil="true"/>
<montoTotal>99</montoTotal>
<montoTotalSujetoIva>99</montoTotalSujetoIva>
<codigoMoneda>1</codigoMoneda>
<tipoCambio>1</tipoCambio>
<montoTotalMoneda>99</montoTotalMoneda>
<montoGiftCard xsi:nil="true"/>
<descuentoAdicional>1</descuentoAdicional>
<codigoExcepcion xsi:nil="true"/>
<cafc xsi:nil="true"/>
<leyenda>Ley N° 453: Tienes derecho a recibir información sobre las características y contenidos de los
servicios que utilices.
</leyenda>
<usuario>pperez</usuario>
<codigoDocumentoSector>1</codigoDocumentoSector>
</cabecera>
<detalle>
<actividadEconomica>451010</actividadEconomica>
<codigoProductoSin>49111</codigoProductoSin>
<codigoProducto>JN-131231</codigoProducto>
<descripcion>MI PRODUCTO O SERVICIO</descripcion>
<cantidad>1</cantidad>
<unidadMedida>1</unidadMedida>
<precioUnitario>100</precioUnitario>
<montoDescuento>0</montoDescuento>
<subTotal>100</subTotal>
<numeroSerie>124548</numeroSerie>
<numeroImei xsi:nil="true"/>
</detalle>
</facturaComputarizadaCompraVenta>
Code: Select all | Expand
#include "FiveWin.ch"
*
Function Main()
Local oFacturaEmitidas,oFactura
oFacturaEmitidas := SuministroLRFacturasEmitidas():New()
oFacturaEmitidas:oCabecera:oTitular:NombreRazon := "La razon social"
oFacturaEmitidas:oCabecera:oTitular:NIF := "A0101010101"
while TengoFacturas
oFactura := oFactura():New()
oFacturaEmitida := LRfacturasEmitidasType():New()
with object ( oFacturaEmitida )
:PeriodoImpositivo:Ejercicio := 2017
:PeriodoImpositivo:Periodo := "01"
:IDFactura:NIF := "AAAAAAAA"
:IDFactura:NumSerieFacturaEmisor := "01"
:IDFactura:FechaExpedicionFacturaEmisor := date()
:FacturaExpedida:DescripcionOperacion := "Compras de materiales"
:FacturaExpedida:DatosInmueble:SituacionInmueble := 1
:FacturaExpedida:DatosInmueble:ReferenciaCatastral := "ASDFGHJKLUYTREWQW"
:FacturaExpedida:Contraparte:NombreRazon := "ASDFGHJKL"
:FacturaExpedida:Contraparte:NIFRepresentante := "90001376F"
:FacturaExpedida:Contraparte:NIF := "70031376F"
oFacturaRectificada := IDFacturaARType():New( )
oFacturaRectificada:NumSerieFacturaEmisor := "X"
oFacturaRectificada:FechaExpedicionFacturaEmisor := date()
:FacturaExpedida:AddFacturaRectificada( oFacturaRectificada )
end with
oLibroFacEmitidas := SuministroLRFacturasEmitidas():New()
with object ( oLibroFacEmitidas )
:Cabecera:Titular:NombreRazon := "RAFA & COMPANY"
:Cabecera:Titular:NIFRepresentante := "AAAA"
:Cabecera:Titular:NIF := "12312312J"
:add( oFacturaEmitida )
:WriteXML()
:WriteXMLFile( hb_dirbase()+"\ssi.xml" )
end with
oFacturaEmitidas:Add( oFactura )
end while
if oFacturaEmitidas:SendSoap()
? "Ey, todo bien"
else
? "Analizar respuesta" , oFacturaEmitidas:oResponse
endif
RETURN nil
*
CLASS SuministroLRFacturasEmitidas FROM ResponseSoap
DATA Operacion INIT "siiLR:SuministroLRFacturasEmitidas"
DATA oCabecera
DATA aoRegistroLRFacturasEmitidas
METHOD New() CONSTRUCTOR
METHOD Add( oRegistroLRFacturasEmitidas ) INLINE aadd(::aoRegistroLRFacturasEmitidas, oRegistroLRFacturasEmitidas )
METHOD WriteXML( pNode, NameSpace )
END CLASS
METHOD New() CLASS SuministroInformacion
::oCabecera := Cabecera():New()
::aoRegistroLRFacturasEmitidas := {}
RETURN Self
METHOD WriteXML( pNode, NameSpace ) CLASS SuministroInformacion
Local oFactura, pList
if !empty( NameSpace )
::NameSpace := NameSpace
endif
pNode := ::CreateXML( )
::oCabecera:WriteXML( pNode )
if !empty( ::aoRegistroLRFacturasEmitidas )
for each oFactura in ::aoRegistroLRFacturasEmitidas
pList = mxmlNewElement( pNode, ::NameSpace + "RegistroLRFacturasEmitidas" )
oFactura:WriteXML( pList, ::NameSpace )
next
endif
RETURN NIL
*
CLASS Cabecera
DATA IDVersionSii INI "0.4"
DATA oTitular
DATA TipoComunicacion INIT "A0" // Enum A0, A1, A4
METHOD New() CONSTRUCTOR
METHOD WriteXML( pNode, NameSpace )
END CLASS
METHOD New() CLASS Cabecera
::oTitular := PersonaFisicaJuridicaESType():New()
RETURN Self
METHOD WriteXML( pNode, NameSpace ) CLASS Cabecera
Local pParent
pParent = mxmlNewElement( pNode, NameSpace + "Cabecera" )
SetNodeValue( pParent , NameSpace + "IDVersionSii", ::IDVersionSii )
SetNodeValue( pParent , NameSpace + "TipoComunicacion", ::TipoComunicacion )
::oTitular:WriteXML( pParent, NameSpace )
RETURN NIL
*
CLASS PersonaFisicaJuridicaESType
DATA NombreRazon
DATA NIFRepresentante // Optional
DATA NIF
METHOD New() CONSTRUCTOR
METHOD WriteXML( pNode, NameSpace )
END CLASS
METHOD New() CLASS PersonaFisicaJuridicaESType
RETURN Self
*
METHOD WriteXML( pNode, NameSpace ) CLASS PersonaFisicaJuridicaESType
Local pParent
pParent = mxmlNewElement( pNode, NameSpace + "Titular" )
SetNodeValue( pParent , NameSpace + "NombreRazon", ::NombreRazon )
SetNodeValue( pParent , NameSpace + "NIF", ::NIF )
if !empty( ::NIFRepresentante )
SetNodeValue( pParent , NameSpace + "NIFRepresentante", ::NIFRepresentante )
endif
RETURN NIL
function SetNodeValue( pNode , cKey, uValue )
Local hTree
if uValue != NIL
hTree := mxmlNewElement( pNode, cKey )
mxmlNewText( hTree, 0, cValtoChar( uValue ) )
endif
return hTree
Code: Select all | Expand
Error: Unresolved external '_HB_FUN_OFACTURA' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ
Error: Unresolved external '_HB_FUN_LRFACTURASEMITIDASTYPE' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ
Error: Unresolved external '_HB_FUN_IDFACTURAARTYPE' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ
Error: Unresolved external '_HB_FUN_RESPONSESOAP' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ
Error: Unresolved external '_HB_FUN_SUMINISTROLRFACTURASEMITIDAS_NEW' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ
Error: Unresolved external '_HB_FUN_SUMINISTROLRFACTURASEMITIDAS_WRITEXML' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ
Error: Unresolved external '_HB_FUN_MXMLNEWELEMENT' referenced from D:\SISTEMAS\ACRSOFT\OK\OBJ\ACR.OBJ