public static int Registrar_Comprobante(BE_Comprobante pBE_comprobante) { int intValor = 0; try { intValor = DA_Comprobante.Registrar_Comprobante(pBE_comprobante); } catch (Exception ex) { throw ex; } return(intValor); }
private void btnImprimirVenta_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(this.txtIDCliente.Text)) { MessageBox.Show("Error: Debe seleccionar un cliente."); return; } decimal ventaSoles = decimal.Parse((string.IsNullOrEmpty(this.txtVentaSoles.Text) ? "0.00" : this.txtVentaSoles.Text)); decimal pagoSoles = decimal.Parse((string.IsNullOrEmpty(this.txtPagoSoles.Text) ? "0.00" : this.txtPagoSoles.Text)); if (ventaSoles > pagoSoles) { MessageBox.Show("Monto pago es insuficiente."); } else { var documento = new DocumentoElectronico { Emisor = CrearEmisor(), Receptor = new Contribuyente { NroDocumento = "20100039207", TipoDocumento = "6", NombreLegal = "RANSA COMERCIAL S.A.", Email = "*****@*****.**" }, IdDocumento = "", FechaEmision = dtpFechaHora.Value.ToShortDateString(), Moneda = "PEN", MontoEnLetras = enletras(txtVentaSoles.Text), //"SON CIENTO DIECIOCHO SOLES CON 0/100", CalculoIgv = 0.18m, CalculoIsc = 0.10m, CalculoDetraccion = 0.04m, TipoDocumento = cboFacturaBoleta.SelectedValue.ToString(), TotalIgv = 18, TotalVenta = 118, Gravadas = 100 }; foreach (DataGridViewRow row in grvDetalleVenta.Rows) { documento.Items.Add(new DetalleDocumento { IdDocumento = documento.IdDocumento, //+ i.ToString().PadLeft(8, char.Parse("0")), Id = row.Index + 1, Cantidad = decimal.Parse(row.Cells["Cantidad"].Value.ToString()), PrecioReferencial = decimal.Parse(row.Cells["PUnit"].Value.ToString()), PrecioUnitario = decimal.Parse(row.Cells["PUnit"].Value.ToString()), TipoPrecio = "01", CodigoItem = row.Cells["CodProd"].Value.ToString(), Descripcion = row.Cells["Descripcion"].Value.ToString(), UnidadMedida = row.Cells["UnidMed"].Value.ToString(), Impuesto = 18, TipoImpuesto = (row.Cells["FlgAfectoIGV"].Value.ToString() == "1") ? "10" : "30",// Gravada TotalVenta = decimal.Parse(row.Cells["TotaItem"].Value.ToString()), Suma = decimal.Parse(row.Cells["TotaItem"].Value.ToString()), }); } FirmadoResponse response = FirmadoCPE.Generar(documento); var resumentFirma = response.ResumenFirma; var firma = response.ValorFirma; var mensajeError = response.MensajeError; BE_Comprobante pBE_ComprobanteTMP = new BE_Comprobante() { ID = 0, Str_Tipo_Comprobante = documento.TipoDocumento, Str_Serie_Comprobante = "", Str_Numero_Comprobante = "", Str_Num_Documento_Cliente = documento.Receptor.NroDocumento, Str_Fecha_Hora_Comprobante = documento.FechaEmision, Str_Placa_Comprobante = txtPlaca.Text, Str_Linea_Cred_Soles_Comprobante = txtLineaCredSoles.Text, Str_Cod_Operador = this.txtCodOperador.Text, Str_Cod_Turno = this.txtCodTurno.Text, Str_Tarjeta_Soles_Comprobante = this.txtTarjetaSoles.Text, Str_Linea_Cred_Comprobante = this.txtUsarLineaCred.Text, //Dec_Total_Gravado_Comprobante = decimal.Parse(txtSTGravado.Text), Dec_Total_Gravado_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtSTGravado.Text) ? "0.00" : this.txtSTGravado.Text)), Dec_Total_Gratuito_Comprobante = 0, //Dec_Total_Inafecto_Comprobante = decimal.Parse(txtSTInafecto.Text), Dec_Total_Inafecto_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtSTInafecto.Text) ? "0.00" : this.txtSTInafecto.Text)), Dec_Total_Exonerado_Comprobante = 0, Dec_Dscnto_Global_Comprobante = 0, //Dec_Total_Venta_Soles_Comprobante = decimal.Parse(txtVentaSoles.Text), Dec_Total_Venta_Soles_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtVentaSoles.Text) ? "0.00" : this.txtVentaSoles.Text)), Dec_Total_Igv_Soles_Comprobante = 0, Dec_Total_Isc_Soles_Comprobante = 0, //Dec_Efectivo_Soles_Comprobante = decimal.Parse(txtEfectivoSoles.Text), Dec_Efectivo_Soles_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtEfectivoSoles.Text) ? "0.00" : this.txtEfectivoSoles.Text)), //Dec_Tipo_Cambio_Comprobante = decimal.Parse(txtTipoCambio.Text), Dec_Tipo_Cambio_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtTipoCambio.Text) ? "0.00" : this.txtTipoCambio.Text)), //Dec_Efectivo_Dolares_Comprobante = decimal.Parse(txtEfectivoDolares.Text), Dec_Efectivo_Dolares_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtEfectivoDolares.Text) ? "0.00" : this.txtEfectivoDolares.Text)), //Dec_Pago_Comprobante = decimal.Parse(txtPagoSoles.Text), Dec_Pago_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtPagoSoles.Text) ? "0.00" : this.txtPagoSoles.Text)), //Dec_Vuelto_Comprobante = decimal.Parse(txtVueltoSoles.Text), Dec_Vuelto_Comprobante = decimal.Parse((string.IsNullOrEmpty(this.txtVueltoSoles.Text) ? "0.00" : this.txtVueltoSoles.Text)), Str_Monto_Letras_Comprobante = documento.MontoEnLetras, Str_Hash_Comprobante = resumentFirma, Str_MsjRpta_Comprobante = mensajeError, IDUsuarioCreacion = VariablesGlobales.operador_actual.ID }; pBE_ComprobanteTMP.Listado_Detalle = new List <BE_Comprobante_Detalle>(); foreach (DataGridViewRow row in grvDetalleVenta.Rows) { pBE_ComprobanteTMP.Listado_Detalle.Add(new BE_Comprobante_Detalle() { Str_Cod_Isla = row.Cells["Isla"].Value.ToString(), Str_Cod_Surtidor = row.Cells["Surtidor"].Value.ToString(), Str_Cod_Lados = row.Cells["Cara"].Value.ToString(), Str_Cod_Manguera = row.Cells["Manguera"].Value.ToString(), Str_Cod_Producto = row.Cells["Cara"].Value.ToString(), Dec_Precio_Unitario_DComprobante = decimal.Parse(row.Cells["PUnit"].Value.ToString()), Dec_Cantidad_DComprobante = decimal.Parse(row.Cells["Cantidad"].Value.ToString()), Dec_SubTotal_Gravado_DComprobante = decimal.Parse(row.Cells["STGravado"].Value.ToString()), Dec_SubTotal_Inafecto_DComprobante = decimal.Parse(row.Cells["STInafecto"].Value.ToString()), Dec_SubTotal_Gratuito_DComprobante = 0, Dec_SubTotal_Exonerado_DComprobante = 0, Dec_SubTotal_Item_DComprobante = decimal.Parse(row.Cells["TotaItem"].Value.ToString()), Int_Flg_Agecto_IGV = int.Parse(row.Cells["FlgAfectoIGV"].Value.ToString()), Dec_IGV_Item_DComprobante = decimal.Parse(row.Cells["IGVUnit"].Value.ToString()), Int_Flg_Agecto_ISC = int.Parse(row.Cells["FlgAfectoISC"].Value.ToString()), Dec_ISC_Item_DComprobante = decimal.Parse(row.Cells["ISCUnit"].Value.ToString()), IDUsuarioCreacion = VariablesGlobales.operador_actual.ID }); } int id = BL_Comprobante.Registrar_Comprobante(pBE_ComprobanteTMP); if (id > 0) { if (string.IsNullOrEmpty(GestionCombustibles.Properties.Settings.Default.PrinterPath)) { MessageBox.Show("No hay una impresora configurada."); } else { string xNumComprobante = txtSerieNumero.Text; string xFecha = dtpFechaHora.Value.Day.ToString().PadLeft(2, char.Parse("0")) + "-" + dtpFechaHora.Value.Month.ToString().PadLeft(2, char.Parse("0")) + "-" + dtpFechaHora.Value.Year.ToString().PadLeft(2, char.Parse("0")) + " " + dtpFechaHora.Value.Hour.ToString().PadLeft(2, char.Parse("0")) + ":" + dtpFechaHora.Value.Minute.ToString().PadLeft(2, char.Parse("0")) + ":" + dtpFechaHora.Value.Second.ToString().PadLeft(2, char.Parse("0")); string xSurtidor = cboSurtidor.SelectedValue.ToString(); string xLado = cboCara.SelectedValue.ToString(); string xCodHash = txtCodHash.Text; string xPlaca = txtPlaca.Text; // decimal xTotal = Convert.ToDecimal("00"); decimal xTotal_gravado = Convert.ToDecimal("00"); decimal xTotal_inafecto = Convert.ToDecimal("00"); decimal xTotal_igv = Convert.ToDecimal("00"); decimal xTotal_exonerado = Convert.ToDecimal("00"); decimal xTotal_isc = Convert.ToDecimal("00"); // List <string> xHeader = new List <string>(); xHeader.Add((string.IsNullOrEmpty(VariablesGlobales.empresa.Str_nom_empresa) ? "" : VariablesGlobales.empresa.Str_nom_empresa) + "\n"); xHeader.Add((string.IsNullOrEmpty(VariablesGlobales.empresa.Str_direccion_empresa) ? "" : VariablesGlobales.empresa.Str_direccion_empresa)); xHeader.Add((string.IsNullOrEmpty(VariablesGlobales.empresa.Str_Nom_Distrito) ? "" : VariablesGlobales.empresa.Str_Nom_Distrito) + ", " + (string.IsNullOrEmpty(VariablesGlobales.empresa.Str_Nom_Provincia) ? "" : VariablesGlobales.empresa.Str_Nom_Provincia) + ", " + (string.IsNullOrEmpty(VariablesGlobales.empresa.Str_Nom_Departamento) ? "" : VariablesGlobales.empresa.Str_Nom_Departamento) + "\n"); xHeader.Add("RUC " + (string.IsNullOrEmpty(VariablesGlobales.empresa.Str_num_documento) ? "" : VariablesGlobales.empresa.Str_num_documento) + "\n"); xHeader.Add("----------------------------------------\n"); xHeader.Add("BOLETA DE VENTA ELECTRONICA\n"); xHeader.Add(" " + xNumComprobante + "\n"); xHeader.Add(" " + xFecha + "\n"); xHeader.Add("----------------------------------------\n"); xHeader.Add("POS :" + xSurtidor + " LADO: " + xLado + "\n"); xHeader.Add("----------------------------------------\n"); List <string> xFooter = new List <string>(); xFooter.Add("----------------------------------------\n"); xFooter.Add("Placa del Vehiculo: " + xPlaca + "\n"); xFooter.Add("Cod Has: " + xCodHash + "\n"); xFooter.Add("Autorizado mediante\n"); xFooter.Add("Resolucion Nro.034-005-0006616/SUNAT \n"); xFooter.Add("RUC 20519069262 BOLETA de Venta\n"); xFooter.Add("Electronica, para consultar el\n"); xFooter.Add("documento ingrese a www.facturas.com.pe\n"); xFooter.Add("----------------------------------------\n"); xFooter.Add("*** GRACIAS POR SU COMPRA ***\n"); // List <string> xCodigo = new List <string>(); List <string> xProducto = new List <string>(); List <string> xValor = new List <string>(); List <string> xCant = new List <string>(); List <string> xUM = new List <string>(); ////////// cargar los datos de los productos a facturar ////////xCodigo.Add("GH90"); ////////xProducto.Add("GASOLINA90"); ////////xCant.Add("1.925"); ////////xUM.Add("GLN"); ////////xValor.Add("20.00"); ////////// ////////// cargar los datos de los productos a facturar ////////xCodigo.Add("AG01"); ////////xProducto.Add("CIELO 250ML"); ////////xCant.Add("1"); ////////xUM.Add("UND"); ////////xValor.Add("1.50"); ////////// foreach (DataGridViewRow row in grvDetalleVenta.Rows) { xCodigo.Add(row.Cells[5].Value.ToString()); xProducto.Add(row.Cells[6].Value.ToString()); xCant.Add(row.Cells[8].Value.ToString()); xUM.Add("GLN"); xValor.Add(row.Cells[9].Value.ToString()); } PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson(); var BytesValue = Encoding.ASCII.GetBytes(string.Empty); BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center()); // // IMPRIMIENDO ENCABEZADO // for (int i = 0; i < xHeader.Count; i++) { BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(xHeader[i])); } BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl()); // IMPRIMIENDO DETALLES // for (int i = 0; i < xCodigo.Count; i++) { string xC = xCodigo[i]; string xP = xProducto[i]; string xQ = xCant[i]; string xU = xUM[i]; string xV = xValor[i]; xTotal = xTotal + Convert.ToDecimal(xV); string linea = Der(xC, 8) + Der(xP, 12) + Izq(xQ, 8) + Der(xU, 4) + Izq(xV, 8) + "\n"; BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(linea)); } BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl()); BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("----------------------------------------\n")); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{1,10}{2,10:N2}\n", "TOTAL", "", xTotal)); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{2,10}{3,10:N2}\n", "OP.GRAVADA", "", "", xTotal_gravado)); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{2,10}{3,10:N2}\n", "OP.INAFECTA", "", "", xTotal_inafecto)); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{2,10}{3,10:N2}\n", "IGV (18.00%)", "", "", xTotal_igv)); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{2,10}{3,10:N2}\n", "OP.EXONERADA", "", "", xTotal_exonerado)); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{2,10}{3,10:N2}\n", "I.S.C.", "", "", xTotal_isc)); BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-20}{2,10}{3,10:N2}\n", "IMPORTE TOTAL", "", "", xTotal)); BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("Conserve su comprobante\n")); // IMPRESION DE PIE DE COMPROBANTE // for (int i = 0; i < xFooter.Count; i++) { BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes(xFooter[i])); } BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("\n")); BytesValue = PrintExtensions.AddBytes(BytesValue, VariablesGlobales.empresa.Str_texto); BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("\n")); BytesValue = PrintExtensions.AddBytes(BytesValue, CutPage()); PrinterUtility.PrintExtensions.Print(BytesValue, GestionCombustibles.Properties.Settings.Default.PrinterPath); // COMO HABILITAR LA IMPRESORA: // configurar una impresora Generic/Txt apuntando a puerto FILE, renombrarla y compartirla como TMU220 // en Settings: crear una clave PrinterPath \\\\<nombre de esta pc>\\TMU220 // ejemplo : \\\\DEVELOPER_01\\TMU220 // // FIN DE IMPRESION } Descartar(); } else { MessageBox.Show("Ocurrió un error al registrar la operación."); } } } catch (Exception ex) { MessageBox.Show("ERROR:" + ex.ToString()); } }
public static int Registrar_Comprobante(BE_Comprobante pBE_comprobante) { int intIDInsercion = 0; using (TransactionScope scope = new TransactionScope()) { try { using (SqlCommand cmd = (SqlCommand)db.GetStoredProcCommand("USP_INS_COMPROBANTE")) { cmd.CommandTimeout = Convert.ToInt32(DuracionConexion.corta); db.AddOutParameter(cmd, "@id_comprobante", DbType.Int32, 0); db.AddInParameter(cmd, "@v_tipo_comprobante", DbType.String, pBE_comprobante.Str_Tipo_Comprobante); db.AddInParameter(cmd, "@v_serie_comprobante", DbType.String, pBE_comprobante.Str_Serie_Comprobante); db.AddInParameter(cmd, "@v_numero_comprobante", DbType.String, pBE_comprobante.Str_Numero_Comprobante); db.AddInParameter(cmd, "@v_num_documento_cliente", DbType.String, pBE_comprobante.Str_Num_Documento_Cliente); db.AddInParameter(cmd, "@v_fecha_hora_comprobante", DbType.String, pBE_comprobante.Str_Fecha_Hora_Comprobante); db.AddInParameter(cmd, "@v_placa_comprobante", DbType.String, pBE_comprobante.Str_Placa_Comprobante); db.AddInParameter(cmd, "@v_linea_cred_soles_comprobante", DbType.String, pBE_comprobante.Str_Linea_Cred_Soles_Comprobante); db.AddInParameter(cmd, "@v_cod_operador", DbType.String, pBE_comprobante.Str_Cod_Operador); db.AddInParameter(cmd, "@v_cod_turno", DbType.String, pBE_comprobante.Str_Cod_Turno); db.AddInParameter(cmd, "@v_tarjeta_soles_comprobante", DbType.String, pBE_comprobante.Str_Tarjeta_Soles_Comprobante); db.AddInParameter(cmd, "@v_linea_cred_comprobante", DbType.String, pBE_comprobante.Str_Linea_Cred_Comprobante); db.AddInParameter(cmd, "@d_total_gravado_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Gravado_Comprobante); db.AddInParameter(cmd, "@d_total_gratuito_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Gratuito_Comprobante); db.AddInParameter(cmd, "@d_total_inafecto_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Inafecto_Comprobante); db.AddInParameter(cmd, "@d_total_exonerado_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Exonerado_Comprobante); db.AddInParameter(cmd, "@d_dscnto_global_comprobante", DbType.Decimal, pBE_comprobante.Dec_Dscnto_Global_Comprobante); db.AddInParameter(cmd, "@d_total_venta_soles_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Venta_Soles_Comprobante); db.AddInParameter(cmd, "@d_total_igv_soles_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Igv_Soles_Comprobante); db.AddInParameter(cmd, "@d_total_isc_soles_comprobante", DbType.Decimal, pBE_comprobante.Dec_Total_Isc_Soles_Comprobante); db.AddInParameter(cmd, "@d_efectivo_soles_comprobante", DbType.Decimal, pBE_comprobante.Dec_Efectivo_Soles_Comprobante); db.AddInParameter(cmd, "@d_tipo_cambio_comprobante", DbType.Decimal, pBE_comprobante.Dec_Tipo_Cambio_Comprobante); db.AddInParameter(cmd, "@d_efectivo_dolares_comprobante", DbType.Decimal, pBE_comprobante.Dec_Efectivo_Dolares_Comprobante); db.AddInParameter(cmd, "@d_pago_comprobante", DbType.Decimal, pBE_comprobante.Dec_Pago_Comprobante); db.AddInParameter(cmd, "@d_vuelto_comprobante", DbType.Decimal, pBE_comprobante.Dec_Vuelto_Comprobante); db.AddInParameter(cmd, "@v_monto_letras_comprobante", DbType.String, pBE_comprobante.Str_Monto_Letras_Comprobante); db.AddInParameter(cmd, "@v_hash_comprobante", DbType.String, pBE_comprobante.Str_Hash_Comprobante); db.AddInParameter(cmd, "@v_msjrpta_comprobante", DbType.String, pBE_comprobante.Str_MsjRpta_Comprobante); db.AddInParameter(cmd, "@id_usuario_creacion", DbType.Int32, pBE_comprobante.IDUsuarioCreacion); db.ExecuteNonQuery(cmd); intIDInsercion = Convert.ToInt32(db.GetParameterValue(cmd, "@id_comprobante")); pBE_comprobante.ID = intIDInsercion; } foreach (var item in pBE_comprobante.Listado_Detalle) { int intIDDetalleInsercion = 0; using (SqlCommand cmdDetalle = (SqlCommand)db.GetStoredProcCommand("USP_INS_COMPROBANTE_DETALLE")) { cmdDetalle.CommandTimeout = Convert.ToInt32(DuracionConexion.corta); db.AddOutParameter(cmdDetalle, "@id_item_comprobante", DbType.Int32, 0); db.AddInParameter(cmdDetalle, "@id_comprobante", DbType.Int32, intIDInsercion); db.AddInParameter(cmdDetalle, "@v_cod_isla", DbType.String, item.Str_Cod_Isla); db.AddInParameter(cmdDetalle, "@v_cod_surtidor", DbType.String, item.Str_Cod_Surtidor); db.AddInParameter(cmdDetalle, "@v_cod_lados", DbType.String, item.Str_Cod_Lados); db.AddInParameter(cmdDetalle, "@v_cod_manguera", DbType.String, item.Str_Cod_Manguera); db.AddInParameter(cmdDetalle, "@v_cod_producto", DbType.String, item.Str_Cod_Producto); db.AddInParameter(cmdDetalle, "@d_precio_unitario_dcomprobante", DbType.Decimal, item.Dec_Precio_Unitario_DComprobante); db.AddInParameter(cmdDetalle, "@d_cantidad_dcomprobante", DbType.Decimal, item.Dec_Cantidad_DComprobante); db.AddInParameter(cmdDetalle, "@d_subtotal_gravado_comprobante", DbType.Decimal, item.Dec_SubTotal_Gravado_DComprobante); db.AddInParameter(cmdDetalle, "@d_subtotal_gratuito_comprobante", DbType.Decimal, item.Dec_SubTotal_Gratuito_DComprobante); db.AddInParameter(cmdDetalle, "@d_subtotal_inafecto_comprobante", DbType.Decimal, item.Dec_SubTotal_Inafecto_DComprobante); db.AddInParameter(cmdDetalle, "@d_subtotal_exonerado_comprobante", DbType.Decimal, item.Dec_SubTotal_Exonerado_DComprobante); db.AddInParameter(cmdDetalle, "@d_subtotal_item_comprobante", DbType.Decimal, item.Dec_SubTotal_Item_DComprobante); db.AddInParameter(cmdDetalle, "@i_flg_afecto_igv", DbType.Int32, item.Int_Flg_Agecto_IGV); db.AddInParameter(cmdDetalle, "@d_igv_item_dcomprobante", DbType.Decimal, item.Dec_IGV_Item_DComprobante); db.AddInParameter(cmdDetalle, "@i_flg_afecto_isc", DbType.Int32, item.Int_Flg_Agecto_ISC); db.AddInParameter(cmdDetalle, "@d_isc_item_dcomprobante", DbType.Decimal, item.Dec_ISC_Item_DComprobante); db.AddInParameter(cmdDetalle, "@id_usuario_creacion", DbType.Int32, item.IDUsuarioCreacion); db.ExecuteNonQuery(cmdDetalle); intIDDetalleInsercion = Convert.ToInt32(db.GetParameterValue(cmdDetalle, "@id_item_comprobante")); } } scope.Complete(); } catch (Exception ex) { throw ex; } } return(intIDInsercion); }