Ejemplo n.º 1
0
        public void Venta()
        {
            ComprobantesClient client = new ComprobantesClient();


            ComprobantesClient comprobanteClient = new ComprobantesClient();

            CrearComprobanteRequest request = new CrearComprobanteRequest();

            request.Autenticacion         = new Autenticacion();
            request.Autenticacion.Usuario = "TEST_API_GENERICO";
            request.Autenticacion.Hash    = "comercial";
            request.Autenticacion.Empresa = 6348; //[Identificador de la empresa a la que pertenece el usuario]

            request.Cliente = new FacturanteMVC.API.DTOs.Cliente();
            request.Cliente.CodigoPostal          = "5500";
            request.Cliente.CondicionPago         = 1;
            request.Cliente.Contacto              = "Jorge Catalino de la Cruz";
            request.Cliente.DireccionFiscal       = "Av. SiempreViva 444";
            request.Cliente.EnviarComprobante     = true;
            request.Cliente.Localidad             = "Mendoza";
            request.Cliente.MailContacto          = "*****@*****.**";
            request.Cliente.MailFacturacion       = "*****@*****.**";
            request.Cliente.NroDocumento          = "20146155953";
            request.Cliente.PercibeIIBB           = false;
            request.Cliente.PercibeIVA            = false;
            request.Cliente.Provincia             = "Mendoza";
            request.Cliente.RazonSocial           = "Probando Ventas Facturante";
            request.Cliente.Telefono              = "4251869";
            request.Cliente.TipoDocumento         = 1;
            request.Cliente.TratamientoImpositivo = 3;

            request.Encabezado                          = new ComprobanteEncabezado();
            request.Encabezado.Bienes                   = 2;
            request.Encabezado.CondicionVenta           = 1;
            request.Encabezado.EnviarComprobante        = true;
            request.Encabezado.FechaHora                = DateTime.Now;
            request.Encabezado.FechaServDesde           = DateTime.Now;
            request.Encabezado.FechaServHasta           = DateTime.Now;
            request.Encabezado.FechaVtoPago             = DateTime.Now;
            request.Encabezado.ImporteImpuestosInternos = 0;
            request.Encabezado.ImportePercepcionesMunic = 0;
            request.Encabezado.Moneda                   = 2;
            request.Encabezado.Observaciones            = "GG LA WEA";
            request.Encabezado.OrdenCompra              = "1487";
            request.Encabezado.PercepcionIIBB           = 0;
            request.Encabezado.PercepcionIVA            = 0;
            request.Encabezado.PorcentajeIIBB           = 0;
            request.Encabezado.Prefijo                  = "0004";
            request.Encabezado.Remito                   = "444";
            request.Encabezado.SubTotal                 = (decimal)664.46;
            request.Encabezado.SubTotalExcento          = 0;
            request.Encabezado.SubTotalNoAlcanzado      = 0;
            request.Encabezado.TipoComprobante          = "PF";
            request.Encabezado.TipoDeCambio             = 1;
            request.Encabezado.Total                    = 804;
            request.Encabezado.TotalConDescuento        = 0;
            request.Encabezado.TotalNeto                = (decimal)664.46;


            request.Items = new ComprobanteItem[3];

            request.Items[0] = new ComprobanteItem();
            request.Items[0].Bonificacion   = 0;
            request.Items[0].Cantidad       = 1;
            request.Items[0].Codigo         = "CODPROD";
            request.Items[0].Detalle        = "Producto Uno";
            request.Items[0].Gravado        = true;
            request.Items[0].IVA            = 21;
            request.Items[0].PrecioUnitario = 100;
            request.Items[0].Total          = 121;

            request.Items[1] = new ComprobanteItem();
            request.Items[1].Bonificacion   = 0;
            request.Items[1].Cantidad       = 1;
            request.Items[1].Codigo         = "CODPROD2";
            request.Items[1].Detalle        = "Producto Dos";
            request.Items[1].Gravado        = true;
            request.Items[1].IVA            = 21;
            request.Items[1].PrecioUnitario = (decimal)164.46;
            request.Items[1].Total          = 199;

            request.Items[2] = new ComprobanteItem();
            request.Items[2].Bonificacion   = 0;
            request.Items[2].Cantidad       = 2;
            request.Items[2].Codigo         = "CODPROD3";
            request.Items[2].Detalle        = "Producto Tres";
            request.Items[2].Gravado        = true;
            request.Items[2].IVA            = 21;
            request.Items[2].PrecioUnitario = 200;
            request.Items[2].Total          = 484;


            CrearComprobanteResponse response = comprobanteClient.CrearComprobante(request);

            Console.Write(ObjectToXml <CrearComprobanteResponse>(response));

            String id_comprobante = "PEDRO";

            XmlDocument xml = new XmlDocument();

            xml.LoadXml(ObjectToXml <CrearComprobanteResponse>(response)); // suppose that myXmlString contains "<Names>...</Names>"

            XmlNodeList xnList = xml.SelectNodes("/CrearComprobanteResponse");

            foreach (XmlNode xn in xnList)
            {
                id_comprobante = xn["IdComprobante"].InnerText;
            }


            comprobanteClient.Close();

            detalleComprobante(id_comprobante);
        }
Ejemplo n.º 2
0
        public string FacturarReparacion(Omega3.Modelo.Venta venta, Omega3.Modelo.Cliente cliente, DataGridView dgv_tabla)
        {
            ComprobantesClient client = new ComprobantesClient();


            ComprobantesClient comprobanteClient = new ComprobantesClient();

            CrearComprobanteRequest request = new CrearComprobanteRequest();

            request.Autenticacion         = new Autenticacion();
            request.Autenticacion.Usuario = "*****@*****.**";
            request.Autenticacion.Hash    = "comercial";
            request.Autenticacion.Empresa = 6348; //[Identificador de la empresa a la que pertenece el usuario]

            request.Cliente = new FacturanteMVC.API.DTOs.Cliente();
            request.Cliente.CodigoPostal          = Convert.ToString(cliente.Codigo_postal);
            request.Cliente.CondicionPago         = venta.medio_de_pago;
            request.Cliente.Contacto              = cliente.Contacto;
            request.Cliente.DireccionFiscal       = cliente.Direccion;
            request.Cliente.EnviarComprobante     = true;
            request.Cliente.Localidad             = cliente.Localidad;
            request.Cliente.MailContacto          = cliente.Mail_contacto;
            request.Cliente.MailFacturacion       = cliente.Mail_contacto;
            request.Cliente.NroDocumento          = Convert.ToString(cliente.Documento);
            request.Cliente.PercibeIIBB           = false;
            request.Cliente.PercibeIVA            = false;
            request.Cliente.Provincia             = cliente.Provincia;
            request.Cliente.RazonSocial           = cliente.Razon;
            request.Cliente.Telefono              = Convert.ToString(cliente.Telefono);
            request.Cliente.TipoDocumento         = cliente.Tipo_documento;
            request.Cliente.TratamientoImpositivo = Convert.ToInt32(cliente.Impositiva_Id);


            request.Encabezado = new ComprobanteEncabezado();
            //Definir si vamos a tratar todo como bienes o lo vamos a modificar.
            request.Encabezado.Bienes            = 1;
            request.Encabezado.CondicionVenta    = venta.medio_de_pago;
            request.Encabezado.EnviarComprobante = true;
            //request.Encabezado.FechaHora = DateTime.Now;
            // request.Encabezado.FechaHora = new DateTime(2017,10,25);
            request.Encabezado.FechaHora = DateTime.Now;

            /*Son obligatorios si ponemos bienes en 2 (servicios) o en 3 (productos y servicios)
             * request.Encabezado.FechaServDesde = DateTime.Now;
             * request.Encabezado.FechaServHasta = DateTime.Now;*/
            request.Encabezado.FechaVtoPago             = DateTime.Now;
            request.Encabezado.ImporteImpuestosInternos = 0;
            request.Encabezado.ImportePercepcionesMunic = 0;
            request.Encabezado.Moneda = 2;

            /* No son obligatorios
             * request.Encabezado.Observaciones = "GG LA WEA";
             * //request.Encabezado.OrdenCompra = "1487"; */
            //PREGUNTAR
            request.Encabezado.PercepcionIIBB = 0;
            request.Encabezado.PercepcionIVA  = 0;
            request.Encabezado.PorcentajeIIBB = 0;
            //CAMBIAR CUANDO NOS PASEMOS A PRODUCCIóN
            request.Encabezado.Prefijo = "0004";

            /*Se siguen usando? No son obligatorios
             * request.Encabezado.Remito = "444";*/
            //request.Encabezado.TipoComprobante = venta.tipo_factura;
            request.Encabezado.TipoComprobante = venta.tipo_factura;
            //request.Encabezado.TipoComprobante = "PF";
            request.Encabezado.TipoDeCambio = 1;
            request.Encabezado.Remito       = venta.remito.ToString();
            request.Encabezado.OrdenCompra  = venta.ordendeCompra;


            request.Items = new ComprobanteItem[dgv_tabla.Rows.Count];
            int i = 0;

            foreach (DataGridViewRow item in dgv_tabla.Rows)
            {
                request.Items[i] = new ComprobanteItem();
                request.Items[i].Bonificacion   = Convert.ToDecimal(item.Cells["Bonificacion"].Value);
                request.Items[i].Cantidad       = Convert.ToInt32(item.Cells["Cantidad"].Value);
                request.Items[i].Codigo         = Convert.ToString(item.Cells["Codigo"].Value);
                request.Items[i].Detalle        = Convert.ToString(item.Cells["Descripcion"].Value);
                request.Items[i].Gravado        = true;
                request.Items[i].IVA            = Convert.ToDecimal(item.Cells["iva"].Value);
                request.Items[i].PrecioUnitario = Convert.ToDecimal(item.Cells["Precio"].Value);
                request.Items[i].Total          = Convert.ToDecimal(request.Items[i].Cantidad * Convert.ToDecimal(request.Items[i].PrecioUnitario));
                i++;
            }



            CrearComprobanteResponse response = comprobanteClient.CrearComprobante(request);

            //MessageBox.Show(ObjectToXml<CrearComprobanteResponse>(response));

            String id_comprobante = string.Empty;

            XmlDocument xml = new XmlDocument();

            xml.LoadXml(ObjectToXml <CrearComprobanteResponse>(response)); // suppose that myXmlString contains "<Names>...</Names>"

            XmlNodeList xnList = xml.SelectNodes("/CrearComprobanteResponse");

            foreach (XmlNode xn in xnList)
            {
                id_comprobante = xn["IdComprobante"].InnerText;
                MessageBox.Show("Respuesta de facturante: " + xn["Estado"].InnerText);
            }


            comprobanteClient.Close();


            return(id_comprobante);
        }