Beispiel #1
0
        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            if (!Ambiente.LoggedUser.Facturar)
            {
                Ambiente.Mensaje("Operacion denegada. No tienes permiso para operar esta vista.");
                return;
            }

            if (venta == null)
            {
                Ambiente.Mensaje("Proceso abortado, no se encontró ninguna ticket seleccionado");
                return;
            }

            //Si no seleccionó otro cliente, se recupera el de la venta
            if (cliente == null)
            {
                cliente = clienteController.SelectOne(venta.ClienteId);
            }

            //verificar que no sea pago con puntos
            if (venta.PuntosAplicados || venta.DescXpuntos > 0)
            {
                Ambiente.Mensaje("Proceso abortado, el documento se cobró con puntos.");
                return;
            }

            //valida rfc
            if (Ambiente.RFCvalido(cliente.Rfc))
            {
                //Anula el ticket y crea la venta factura (sin timbrar)
                if (ClonarVenta())
                {
                    var oCFDI = new CFDI();
                    oCFDI.Venta = venta;

                    //Timbra la venta
                    if (oCFDI.Facturar())
                    {
                        //  Ambiente.SaveAndPrintFactura(venta, true, false);
                        Ambiente.SaveAndPrintFactura(venta, true, false);


                        Close();
                    }
                    else
                    {
                        Ambiente.Mensaje("Algo salió mal al facturar la venta");
                    }
                }
                else
                {
                    Ambiente.Mensaje("No se clonó la venta");
                }
            }
            else
            {
                Ambiente.Mensaje("El rfc del cliente está mal formado");
            }
        }
 private void Timbrar()
 {
     oCFDI.Venta = venta;
     if (oCFDI.Facturar())
     {
         Ambiente.SaveAndPrintFactura(venta);
         Ambiente.UpdateSiguiente("FAC");
         Close();
     }
     else
     {
         Ambiente.Mensaje("Algo salió mal al facturar la venta");
     }
 }
        private void BtnFacturar_Click(object sender, EventArgs e)
        {
            if (Malla.RowCount > 0)
            {
                int index = Malla.CurrentCell.RowIndex;
                int i     = 0;
                foreach (var f in facturas)
                {
                    if (index == i && f.EsFacturaGlobal)
                    {
                        oCFDI.Venta = f;
                    }

                    i++;
                }
            }



            if (oCFDI.Venta == null)
            {
                Ambiente.Mensaje("Primero actualice los datos del cliente");
                return;
            }
            if (oCFDI.Venta.UuId != null)
            {
                Ambiente.Mensaje("Este documento ya es un CDFI");
                return;
            }
            if (!Ambiente.LoggedUser.Facturar)
            {
                Ambiente.Mensaje("Operacion denegada. No tienes permiso para operar esta vista.");
                return;
            }

            if (oCFDI.Venta == null)
            {
                Ambiente.Mensaje("Proceso abortado, no se encontró ninguna venta seleccionada");
                return;
            }
            //Si no seleccionó otro cliente, se recupera el de la venta
            if (cliente == null)
            {
                cliente = clienteController.SelectOne(oCFDI.Venta.ClienteId);
            }

            //verificar que no sea pago con puntos
            if (oCFDI.Venta.PuntosAplicados || oCFDI.Venta.DescXpuntos > 0)
            {
                Ambiente.Mensaje("Proceso abortado, el documento se cobró con puntos.");
                return;
            }

            //valida rfc
            if (Ambiente.RFCvalido(cliente.Rfc))
            {
                //Timbra la venta
                if (oCFDI.Facturar())
                {
                    //  Ambiente.SaveAndPrintFactura(venta, true, false);
                    Ambiente.SaveAndPrintFactura(oCFDI.Venta, true, false);

                    Close();
                }
                else
                {
                    Ambiente.Mensaje("Algo salió mal al facturar la venta");
                    Close();
                }
            }
            else
            {
                Ambiente.Mensaje("El rfc del cliente está mal formado");
            }



            /////********************************************************
        }