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; }