Ver Mensaje Individual
  #207  
Antiguo 28-02-2017
batuzail batuzail is offline
Miembro
 
Registrado: feb 2017
Posts: 57
Reputación: 8
batuzail Va por buen camino
Hola,
Me estreno en el foro, yo estoy desarrollando con VB/C#

Os pego como lo hago yo para subir facturas emitidas, esta todo de prueba:
Tengo un bucle For para simular la generación varias facturas, me conecto sin problema y recibo resultado de cada uno de los registros.


Dim MensajeError As String = ""
Dim MensajeAcierto As String = ""
Dim sFactura As String = ""
Dim sRutaCert As String = ""
' Dim Mails As New LNclsMail
Dim decodedBytes As Byte()
decodedBytes = Convert.FromBase64String(My.Settings.ClaveCertificado)

Dim sClaveCert As String
sClaveCert = Encoding.UTF8.GetString(decodedBytes)

'Obtener certificado desde fichero p12
sRutaCert = System.AppDomain.CurrentDomain.BaseDirectory() & My.Settings.NombreCertificado
cert = New System.Security.Cryptography.X509Certificates.X509Certificate2(sRutaCert, sClaveCert)

'Se llama a la clase siiService, creada a partir del WS y cambiando el inherits por : Microsoft.Web.Services3.WebServicesClientProtocol
Dim webserviceProxy As New siiFacturasEmitidas
webserviceProxy.ClientCertificates.Add(cert)
Dim signatureToken As X509SecurityToken = GetSecurityToken()
Dim requestContext As SoapContext = webserviceProxy.RequestSoapContext

requestContext.Security.Tokens.Add(signatureToken)
Dim sig As New MessageSignature(signatureToken)
requestContext.Security.Timestamp.TtlInSeconds = 60
requestContext.Security.Elements.Add(sig)
Dim testC As New SuministroLRFacturasEmitidas
Dim cab As New CabeceraSii
Dim fac As New LRfacturasEmitidasType
Dim resul As RespuestaLRFEmitidasType
Dim perso As New PersonaFisicaJuridicaESType


perso.NIF = "XXXXXXXXX"
perso.NombreRazon = "Empresa de pruebas"
cab.Titular = perso

cab.TipoComunicacion = "0"

testC.Cabecera = cab

For i = 20 To 30
Dim fras As New LRfacturasEmitidasType
Dim perio As New RegistroSiiPeriodoImpositivo
perio.Ejercicio = 2015
perio.Periodo = "01"
fras.PeriodoImpositivo = perio

Dim idfra As New IDFacturaExpedidaType
Dim empresa As New IDFacturaExpedidaTypeIDEmisorFactura

Dim cver As New VersionSiiType

cab.IDVersionSii = cver.Item05

empresa.NIF = "XXXXXXXXXXX"
idfra.IDEmisorFactura = empresa
idfra.NumSerieFacturaEmisor = i + 10
idfra.FechaExpedicionFacturaEmisor = "15-01-2015"
fras.IDFactura = idfra


Dim fraexp As New FacturaExpedidaType

fraexp.TipoFactura = "1"
fraexp.ClaveRegimenEspecialOTrascendencia = "01"
fraexp.ImporteTotal = "26.70"
fraexp.DescripcionOperacion = "Compra xxxxxxxxx"

fras.FacturaExpedida = fraexp
Dim persona As New PersonaFisicaJuridicaType

persona.NombreRazon = "Empresa yyyyyyy"
persona.NIFRepresentante = "94235500B"

Dim contrap As New PersonaFisicaJuridicaType
contrap = persona


Dim sujeta As New SujetaType
Dim sujetanoexenta As New SujetaTypeNoExenta
Dim detalleiva As New DetalleIVAEmitidaType
Dim tpdesglose As New TipoSinDesgloseType
Dim desglose As New FacturaExpedidaTypeTipoDesglose

sujetanoexenta.TipoNoExenta = sujetanoexenta.TipoNoExenta.S1

ReDim sujetanoexenta.DesgloseIVA(0)
detalleiva.TipoImpositivo = "21"
detalleiva.BaseImponible = "22.07"
detalleiva.CuotaRepercutida = "4.63"
detalleiva.TipoRecargoEquivalencia = 0
detalleiva.CuotaRecargoEquivalencia = 0

sujetanoexenta.DesgloseIVA(0) = detalleiva
sujeta.NoExenta = sujetanoexenta
tpdesglose.Sujeta = sujeta

desglose.Item = tpdesglose

fraexp.TipoDesglose = desglose

Dim cfra As New LRConsultaEmitidasType
Dim cfil As New LRFiltroEmitidasType
Dim ccla As New IDFacturaExpedidaBCType
Dim cempr As New IDFacturaExpedidaBCTypeIDEmisorFactura
Dim ccab As New CabeceraConsultaSii
Dim cper As New PersonaFisicaJuridicaUnicaESType
Dim cperio As New RegistroSiiPeriodoImpositivo
Dim cperio2 As New RegistroSiiPeriodoImpositivo

ccla.FechaExpedicionFacturaEmisor = "15-01-2015"
cempr.NIF = "XXXXXXXXX"

ccla.IDEmisorFactura = cempr

ccla.NumSerieFacturaEmisor = "1"
cfil.ClavePaginacion = ccla
cperio.Ejercicio = 2015
cperio2.Ejercicio = 2015
cperio2.Periodo = "01"
cfil.PeriodoImpositivo = cperio2
cfra.FiltroConsulta = cfil
cfra.FiltroConsulta.ClavePaginacion = ccla


ReDim Preserve testC.RegistroLRFacturasEmitidas(i)
testC.RegistroLRFacturasEmitidas(i) = fras
Next i

resul = webserviceProxy.SuministroLRFacturasEmitidas(testC)
Responder Con Cita