Ejemplo n.º 1
0
        private void frmDocFiscal_Load(System.Object sender, System.EventArgs e)
        {
            //ParaHacer: esta línea de código carga datos en la tabla 'ClientesDataSet.Clientes' Puede moverla o quitarla según sea necesario.
            //Me.ClientesTableAdapter.Fill(Me.ClientesDataSet.Clientes)

            LlenarClientes();
            LlenarProductos();

            //Cargo la fecha del sistema en el label
            DateTime dtFecha = DateTime.Now;

            lblFecha.Text = dtFecha.ToString("dd/MM/yyyy");



            //Esto es mediante una funcion efectiva pero dudosa.
            //Estar al tanto


            //Carga el dolar del banco nacion (roguemos de que no cambien la pagina)
            if (Convert.ToBoolean(Interaction.GetSetting("Programa", "EMPRESA", "COTIZACION")) == true)
            {
                lblDolar.Text = ModDocFiscales.ObtenerCotizacionDelBNA();
            }
            else
            {
                lblDolar.Text = ModDocFiscales.ObtenerCotizacionDB();
            }



            //Buscar la ultima factura que se hizo.
            if (My.MyProject.Forms.MDIPrincipal.ToolStripStatusEstadoServidor.Text == "SI")
            {
                //Sub que busca la ultima factura que se hizo
                UltimaFacturaHecha();
            }
            else
            {
                //llama al procedimiento para obtener un ticket
                SubTicketAFIP();
                UltimaFacturaHecha();
            }
        }
Ejemplo n.º 2
0
        private void _Toolbar1_Guardar_Click(System.Object sender, System.EventArgs e)
        {
            OleDbDataAdapter dbClientes = new OleDbDataAdapter();

            System.Data.DataSet dbRegistros = null;
            System.Data.DataRow fila        = null;

            string NombreTabla = "tblFactura";



            //Antes de cargar nada fijamos si puede guardarlo en la AFIP sino no sigue con el guardado de la factura
            //ESP La funcion EnviarFacturaAFIP esta en el modulo de AFIP.
            bool bolFactEnAFIP = AFIP.EnviarFacturaAFIP(Imprimir.CargarFactura(gridDatos.Rows.Count - 1), lblToken.Text, lblSign.Text);

            if (bolFactEnAFIP != true)
            {
                Interaction.MsgBox("NO se pudo cargar la factura en AFIP. Intentelo nuevamente", MsgBoxStyle.Information);
                return;
            }



            //Cargo la tabla en la base
            //Facturas A
            if (lblCod_cbe.Text == "01")
            {
                dbClientes = BaseDeDatos.rstTabla("Facturas", "Fecha", "");
                //Facturas B
            }
            else if (lblCod_cbe.Text == "06")
            {
                dbClientes = BaseDeDatos.rstTabla("FacturasB", "Fecha", "");
                //Notas de Credito
            }
            else if (lblCod_cbe.Text == "03")
            {
                dbClientes = BaseDeDatos.rstTabla("NotaCredito", "Fecha", "");
                //Notas de Debito
            }
            else if (lblCod_cbe.Text == "02")
            {
                dbClientes = BaseDeDatos.rstTabla("NotaDebito", "Fecha", "");
            }


            //Asigno un nuevo Data Set
            dbRegistros = new System.Data.DataSet();

            try {
                dbClientes.Fill(dbRegistros, NombreTabla);
            } catch (Exception ex) {
                MessageBox.Show("Error en el llenado:" + Constants.vbCrLf + ex.Message);
            }



            OleDbCommandBuilder cb = new OleDbCommandBuilder(dbClientes);



            miFactura = Imprimir.CargarFactura(gridDatos.Rows.Count - 1);



            fila = dbRegistros.Tables[NombreTabla].NewRow();
            fila.BeginEdit();


            //Cargo el valor del "DOCUMENTO"
            //Facturas A
            if (lblCod_cbe.Text == "01")
            {
                fila["Documento"] = "FC A " + Strings.Format(miFactura.intSucursal, "0000") + "-" + Strings.Format(miFactura.dblNumFact, "00000000");
                //Facturas B
            }
            else if (lblCod_cbe.Text == "06")
            {
                fila["Documento"] = "FC B " + Strings.Format(miFactura.intSucursal, "0000") + "-" + Strings.Format(miFactura.dblNumFact, "00000000");
                //Notas de Credito
            }
            else if (lblCod_cbe.Text == "03")
            {
                fila["Documento"] = "NC " + Strings.Format(miFactura.intSucursal, "0000") + "-" + Strings.Format(miFactura.dblNumFact, "00000000");
                //Notas de Debito
            }
            else if (lblCod_cbe.Text == "02")
            {
                fila["Documento"] = "ND " + Strings.Format(miFactura.intSucursal, "0000") + "-" + Strings.Format(miFactura.dblNumFact, "00000000");
            }

            fila["Sucursal"] = miFactura.intSucursal;
            fila["NumFact"]  = miFactura.dblNumFact;
            fila["Fecha"]    = miFactura.dtFecha;
            //
            fila["IDCliente"]    = miFactura.Cliente.strid;
            fila["Nombre"]       = miFactura.Cliente.strNombre;
            fila["Direccion"]    = miFactura.Cliente.strDireccion;
            fila["Localidad"]    = miFactura.Cliente.strLocalidad;
            fila["Provincia"]    = miFactura.Cliente.strProvincia;
            fila["Tipodecambio"] = miFactura.dblTipoCambio;
            fila["Descuento"]    = Conversion.Str(miFactura.Cliente.dblDescuento);

            fila["Cant1"]           = miFactura.Producto1.intCantidad;
            fila["Detalle1"]        = miFactura.Producto1.strDescripcion;
            fila["PrecioUnitario1"] = miFactura.Producto1.curPrecioNeto;
            fila["PrecioFinal1"]    = miFactura.Producto1.curPrecioTotal;

            fila["Cant2"]           = miFactura.Producto2.intCantidad;
            fila["Detalle2"]        = miFactura.Producto2.strDescripcion;
            fila["PrecioUnitario2"] = miFactura.Producto2.curPrecioNeto;
            fila["PrecioFinal2"]    = miFactura.Producto2.curPrecioTotal;

            fila["Cant3"]           = miFactura.Producto3.intCantidad;
            fila["Detalle3"]        = miFactura.Producto3.strDescripcion;
            fila["PrecioUnitario3"] = miFactura.Producto3.curPrecioNeto;
            fila["PrecioFinal3"]    = miFactura.Producto3.curPrecioTotal;

            fila["Cant4"]           = miFactura.Producto4.intCantidad;
            fila["Detalle4"]        = miFactura.Producto4.strDescripcion;
            fila["PrecioUnitario4"] = miFactura.Producto4.curPrecioNeto;
            fila["PrecioFinal4"]    = miFactura.Producto4.curPrecioTotal;

            fila["Cant5"] = miFactura.Producto5.intCantidad;
            //Cantidad 5
            fila["Detalle5"] = miFactura.Producto5.strDescripcion;
            //Detalle5
            fila["PrecioUnitario5"] = miFactura.Producto5.curPrecioNeto;
            //Precio Unitario 5
            fila["PrecioFinal5"] = miFactura.Producto5.curPrecioTotal;
            //Precio Final 5

            fila["Cant6"] = 0;
            //Cantidad 6
            fila["Detalle6"] = " ";
            //Detalle6
            fila["PrecioUnitario6"] = 0;
            //Precio Unitario 6
            fila["PrecioFinal6"] = 0;
            //Precio Final 6

            fila["SubTotal"] = miFactura.curSubTotal;
            //Sub Total $
            fila["IVA"] = miFactura.curIVA;
            //IVA $
            fila["ImporteFinal"] = miFactura.curTotal;
            //Importe Final $

            fila["Recibo1"] = 0;
            fila["Recibo2"] = 0;
            //Recibo2
            fila["Recibo3"] = 0;
            //Recibo3
            fila["Recibo4"] = 0;
            //Recibo4
            fila["Recibo5"] = 0;
            //Recibo5

            fila["ClienteDe"] = " ";
            //Cliente De

            fila["Remito1"] = miFactura.intRemito1;
            //
            fila["Remito2"] = miFactura.intRemito2;
            //Remito2
            fila["Remito3"] = miFactura.intRemito3;
            //Remito3
            fila["Remito4"] = miFactura.intRemito4;
            //Remito4
            fila["Remito5"] = 0;
            //Remito5

            fila["Observaciones"] = " ";
            //Observaciones

            fila["SubTotalUSS"] = miFactura.curSubTotalUSD;
            //Sub Total USS
            fila["IVAUSS"] = miFactura.curIVAUSD;
            //IVA USS
            fila["ImporteFinalUSS"] = miFactura.curTotalUSD;
            //Importe Final USS

            fila["EnDolar"] = 0.0;
            //En Dolar

            fila["Saldo"] = Strings.Replace(Conversion.Str(miFactura.curTotal), ".", ",");
            //Saldo
            fila["SaldoUSS"] = miFactura.curTotalUSD;
            //SaldoUSS

            fila["Pagado"] = false;

            fila["Dólar"] = true;
            fila["Peso"]  = false;


            fila["Promocion"] = 0;

            fila["CAE"]          = miFactura.strCAE;
            fila["FechaVencCAE"] = miFactura.strFechVtoCAE;


            //Finaliza la edicion
            fila.EndEdit();

            //Añade la fila a la tabla
            dbRegistros.Tables[NombreTabla].Rows.Add(fila);



            //Actualiza la base de datos
            dbClientes.Update(dbRegistros, NombreTabla);


            //acepta los cambios
            dbRegistros.AcceptChanges();



            //MsgBox(miFactura.strTipoFc)
            //MsgBox(miFactura.intSucursal)
            //MsgBox(miFactura.dtFecha)
            Interaction.MsgBox("Factura Cargada");

            //Este modulo edita la tabla de remitos y asigna el valor de la factura y su respectiva
            //sucursal al remito en cuestion
            //eso lo saca de los desplegables de remitos
            ModDocFiscales.EditarRemitos((cmbSucursal.Text), Convert.ToDouble(txtNumFact.Text), Convert.ToDouble(cmbRemito1.Text));
            Interaction.MsgBox("Remito: " + cmbRemito1.Text + ". Modificado");


            //Esto permite que se pueda imprimir
            _Toolbar1_Imprimir.Enabled = true;

            //Esto impide que se vuelva a guardar
            _Toolbar1_Guardar.Enabled = false;
        }