Buenas noches.
Seguimos con el FeedBack, para que no sufráis
A los que nos pedisteis apuntaros a la lista , en la mayor brevedad os llegará un email con más información;
Ya tenemos el 99% del soporte para las facturas emitidas, es decir, tanto;
+ Suministrar facturas a AET
+ Pedir consulta facturas a AET
+ Obtener y procesar la respuesta de la consulta de las facturas a la AET
+ Anulación factura a la AET
Ponemos aquí el ejemplo tan simple para la consulta de facturas, ( he de decir que haremos todavía una clase mucho más abstracta )
En el ejemplo podéis apreciar el trabajo realizado , contemplando el 100% del protocolo del SII.
Una simple llamada a la clase
RespuestaConsultaLRFacturasEmitidas, realiza la magia, NO HACE FALTA HACER NADA! solo recoger en
oRespuesta los datos procesados
- Code: Select all Expand view RUN
function main()
Local oRespuesta
oRespuesta := RespuestaConsultaLRFacturasEmitidas():New():Load()
viewResponse( oRespuesta )
Return nil
static function viewResponse( oResponse )
local oFactura
/* Debug */
with object ( oResponse )
? "IDVersionSii :", :CabeceraConsulta:IDVersionSii
? "NombreRazon :", :CabeceraConsulta:Titular:NombreRazon
? "NIF :", :CabeceraConsulta:Titular:NIF
? "PeriodoImpositivo :", :PeriodoImpositivo
? "IndicadorPaginacion :", :IndicadorPaginacion
? "ResultadoConsulta :", :ResultadoConsulta
for each oFactura in :RegistroRespuestaConsultaLRFacturasEmitidas
? replicate( "=", 80 )
? "FACTURA"
? replicate( "=", 80 )
with object ( oFactura:IDFactura )
? "NIF :", :NIF
? "NumSerieFacturaEmisor :", :NumSerieFacturaEmisor
? "FechaExpedicionFacturaEmisor :", :FechaExpedicionFacturaEmisor
? "NumSerieFacturaEmisorResumenFin :", :NumSerieFacturaEmisorResumenFin
end with
with object ( oFactura:DatosFacturaEmitida )
? "TipoFactura :", :TipoFactura
? "TipoRectificativa :", :TipoRectificativa
? "FechaOperacion :", :FechaOperacion
? "ClaveRegimenEspecialOTrascendencia :", :ClaveRegimenEspecialOTrascendencia
? "ImporteTotal :", :ImporteTotal
? "BaseImponibleACoste :", :BaseImponibleACoste
? "DescripcionOperacion :", :DescripcionOperacion
? "ImporteTransmisionSujetoAIVA :", :ImporteTransmisionSujetoAIVA
? "EmitidaPorTerceros :", :EmitidaPorTerceros
? "Cobros :", :Cobros
with object ( :Contraparte )
? "NombreRazon :", :NombreRazon
? "NIF :", :NIF
? "NIFRepresentante :", :NIFRepresentante
end with
with object ( :TipoDesglose )
with object ( :DesgloseFactura )
with object ( :Sujeta )
? "BaseImponible :", :BaseImponible
? "TipoNoExenta :", :TipoNoExenta
? "CausaExencion :", :CausaExencion
with object ( :DesgloseIVA )
? "TipoImpositivo :", :TipoImpositivo
? "BaseImponible :", :BaseImponible
? "CuotaRepercutida :", :CuotaRepercutida
? "TipoRecargoEquivalencia :", :TipoRecargoEquivalencia
? "CuotaRecargoEquivalencia :", :CuotaRecargoEquivalencia
end with
end with
end with
end with
end with
with object ( oFactura:DatosPresentacion )
? "NIFPresentador :", :NIFPresentador
? "TimestampPresentacion :", :TimestampPresentacion
end with
with object ( oFactura:EstadoFactura )
? "TimestampUltimaModificacion :", :TimestampUltimaModificacion
? "EstadoRegistro :", :EstadoRegistro
? "CodigoErrorRegistro :", :CodigoErrorRegistro
? "DescripcionErrorRegistro :", :DescripcionErrorRegistro
end with
next
end with
Return nil
Esto produce una simple salida;
- Code: Select all Expand view RUN
IDVersionSii : 0.5
NombreRazon : QUIM & THEFULL
NIF : A67849XXX
PeriodoImpositivo :
IndicadorPaginacion : N
ResultadoConsulta : ConDatos
================================================================================
FACTURA
================================================================================
NIF : A67849XXX
NumSerieFacturaEmisor : 19
FechaExpedicionFacturaEmisor : 23-02-2017
NumSerieFacturaEmisorResumenFin :
TipoFactura : F1
TipoRectificativa :
FechaOperacion :
ClaveRegimenEspecialOTrascendencia : 01
ImporteTotal : 150
BaseImponibleACoste : 0
DescripcionOperacion : COMPRAS DE MATERIALES
ImporteTransmisionSujetoAIVA : 0
EmitidaPorTerceros : N
Cobros : N
NombreRazon : ASDFGHJKL
NIF : A67849XXX
NIFRepresentante :
BaseImponible : 0.00
TipoNoExenta : S1
CausaExencion :
TipoImpositivo : 21
BaseImponible : 123.97
CuotaRepercutida : 26.03
TipoRecargoEquivalencia : 0
CuotaRecargoEquivalencia : 0.00
NIFPresentador : A67849XXX
TimestampPresentacion : 23-02-2017 15:50:18
TimestampUltimaModificacion : 23-02-2017 15:50:18
EstadoRegistro : Correcta
CodigoErrorRegistro : 0
DescripcionErrorRegistro :
Una vez terminados con las emitidas, que generalmente es el usaremos, seguiremos por las recibidas, etc..., pero la base, al estar diseñada muy modular y robusta, los tiempos en
nuevas implementaciones se van a producir muchísimo más rápido.
Hala, a disfrutar