Esempio n. 1
0
        static void Main(string[] args)
        {
            string s;

            SuministroLRFacturasEmitidas sumi    = new SuministroLRFacturasEmitidas();
            LRfacturasEmitidasType       lr      = new LRfacturasEmitidasType();
            FacturaExpedidaType          factexp = new FacturaExpedidaType();

            PersonaFisicaJuridicaESType pers = new PersonaFisicaJuridicaESType();

            pers.NIF         = "00000000T";
            pers.NombreRazon = "EMPRESA QUE EMITE FACTURAS";

            CabeceraSii cabe = new CabeceraSii();

            cabe.Titular  = pers;
            sumi.Cabecera = cabe;

            RegistroSiiPeriodoImpositivo perio = new RegistroSiiPeriodoImpositivo();

            perio.Ejercicio      = "2018";
            perio.Periodo        = TipoPeriodoType.Item03;      // Febrero
            lr.PeriodoImpositivo = perio;

            IDFacturaExpedidaTypeIDEmisorFactura emis = new IDFacturaExpedidaTypeIDEmisorFactura();

            emis.NIF = pers.NIF;
            IDFacturaExpedidaType idExp = new IDFacturaExpedidaType();

            idExp.IDEmisorFactura              = emis;
            idExp.NumSerieFacturaEmisor        = "Linda Factura Demo";
            idExp.FechaExpedicionFacturaEmisor = "08-02-2018";
            lr.IDFactura = idExp;

            PersonaFisicaJuridicaType contr = new PersonaFisicaJuridicaType();

            contr.NombreRazon      = "Amazon.co.uk";
            contr.Item             = "N1081152I";
            factexp.Contraparte    = contr;
            factexp.TipoFactura    = ClaveTipoFacturaType.F1;
            factexp.FechaOperacion = idExp.FechaExpedicionFacturaEmisor;
            factexp.ClaveRegimenEspecialOTrascendencia = IdOperacionesTrascendenciaTributariaType.Item01;
            factexp.DescripcionOperacion = "Mi maravillosa descripción";             // <element name="DescripcionOperacion" type="sii:TextMax500Type"/>

            FacturaExpedidaTypeTipoDesglose desgl    = new FacturaExpedidaTypeTipoDesglose();
            TipoConDesgloseType             condesgl = new TipoConDesgloseType();
            TipoSinDesglosePrestacionType   pr       = new TipoSinDesglosePrestacionType();
            SujetaPrestacionType            sj       = new SujetaPrestacionType();
            SujetaPrestacionTypeNoExenta    nx       = new SujetaPrestacionTypeNoExenta();
            DetalleIVAEmitidaPrestacionType dtp;

            dtp = new DetalleIVAEmitidaPrestacionType();
            dtp.BaseImponible    = "667.00";
            dtp.CuotaRepercutida = "66.70";
            dtp.TipoImpositivo   = "10.00";
            nx.DesgloseIVA       = new DetalleIVAEmitidaPrestacionType[1];
            nx.DesgloseIVA.SetValue(dtp, 0);
            nx.TipoNoExenta = TipoOperacionSujetaNoExentaType.S1;
            sj.NoExenta     = nx;
            pr.Sujeta       = sj;
            condesgl.PrestacionServicios = pr;
            desgl.Item           = condesgl;
            factexp.TipoDesglose = desgl;
            factexp.ImporteTotal = "733.70";

            lr.FacturaExpedida = factexp;
            sumi.RegistroLRFacturasEmitidas = new LRfacturasEmitidasType[1];
            sumi.RegistroLRFacturasEmitidas.SetValue(lr, 0);

            // A enviar ...
            RespuestaLRFEmitidasType resp;
            siiSOAPClient            clsSiiService;

            try
            {
                clsSiiService = new siiSOAPClient("SuministroFactEmitidasPruebas");
                X509Certificate2 oCertificado = SeleccionarCertificado("Seleccione certificado", StoreLocation.CurrentUser, StoreName.My);
                clsSiiService.ClientCredentials.ClientCertificate.Certificate = oCertificado;
                clsSiiService.Open();
                if (clsSiiService.State == System.ServiceModel.CommunicationState.Opened)
                {
                    resp = clsSiiService.SuministroLRFacturasEmitidas(sumi);
                }
            }
            catch (ProtocolException ex)
            {
                s = ex.Message;
                Console.Write(s);               // throw ex;
            }
            catch (WebException ex)             //catch (Exception ex)
            {
                var st = new StreamReader(ex.Response.GetResponseStream());
                s = st.ReadToEnd();
                Console.Write(s);                 // throw ex;
            }
            finally
            {
                clsSiiService = null;
            }
        }         // Main
Esempio n. 2
0
 public FacturaExpedidaTypeTipoDesglose(TipoConDesgloseType item) // TODO - fix name.
     : this()
 {
     Item = item;
 }