private void CalcularDatosDelPrecioDeVenta(BEImpuesto prm_ImpuestoVTA, MovimientoAux prm_Movimiento, BEComprobanteEmisionDetalle prm_Detalle) { decimal nUnitPrecioSinIGV; decimal nUnitValorDescuento; decimal nUnitValorIGVs; if (prm_ImpuestoVTA.DiscriminaIGV) { nUnitValorDescuento = prm_Movimiento.monMontoPagado.Value * (0 / 100); nUnitValorIGVs = (prm_Movimiento.monMontoPagado.Value - nUnitValorDescuento) - ((prm_Movimiento.monMontoPagado.Value - nUnitValorDescuento) / (1 + prm_ImpuestoVTA.Porcentaje)); nUnitPrecioSinIGV = ((prm_Movimiento.monMontoPagado.Value - nUnitValorDescuento) - nUnitValorIGVs); } else { nUnitValorDescuento = prm_Movimiento.monMontoPagado.Value * (0 / 100); nUnitValorIGVs = (prm_Movimiento.monMontoPagado.Value - nUnitValorDescuento) * prm_ImpuestoVTA.Porcentaje; nUnitPrecioSinIGV = prm_Movimiento.monMontoPagado.Value - nUnitValorDescuento; } prm_Detalle.UnitDescuento = nUnitValorDescuento; prm_Detalle.UnitValorIGV = nUnitValorIGVs; prm_Detalle.UnitPrecioSinIGV = nUnitPrecioSinIGV; decimal nUnitValorDscto = 0; if (prm_ImpuestoVTA.DiscriminaIGV) { nUnitValorDscto = nUnitValorDescuento; } else { nUnitValorDscto = nUnitValorDescuento; } prm_Detalle.UnitValorDscto = nUnitValorDscto; decimal nUnitValorVenta = nUnitPrecioSinIGV; decimal nUnitValorIGV = nUnitValorIGVs; decimal nTotItemValorIGV = Helper.DecimalRound(nUnitValorIGV * 1, 2); decimal nTotItemValorBruto = Helper.DecimalRound((nUnitPrecioSinIGV + nUnitValorDscto) * 1, 2); decimal nTotItemValorVenta = Helper.DecimalRound(nUnitValorVenta * 1, 2); decimal nTotItemValorDscto = Helper.DecimalRound(nUnitValorDscto * 1, 2); decimal nTotItemTotalITEM = (nTotItemValorBruto - nTotItemValorDscto) + nTotItemValorIGV; decimal nUnitPeso = 0; decimal nPesoTotal = Helper.DecimalRound(nUnitPeso * 1, 2); prm_Detalle.UnitValorVenta = nUnitValorVenta; prm_Detalle.UnitValorIGV = nUnitValorIGV; prm_Detalle.TotItemValorIGV = nTotItemValorIGV; prm_Detalle.TotItemValorBruto = nTotItemValorBruto; prm_Detalle.TotItemValorVenta = nTotItemValorVenta; prm_Detalle.TotItemValorDscto = nTotItemValorDscto; prm_Detalle.PesoUnitario = nUnitPeso; prm_Detalle.PesoTotal = nPesoTotal; }
/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo ComprobanteEmisionDetalle /// En la BASE de DATO la Tabla : [GestionComercial.ComprobanteEmisionDetalle] /// <summary> /// <param name = >itemComprobanteEmisionDetalle</param> public int?Insert(BEComprobanteEmisionDetalle comprobanteEmisionDetalle) { int?codigoRetorno = -1; try { using (_GestionComercialDataContext SQLDC = new _GestionComercialDataContext(conexion)) { SQLDC.omgc_I_DocumRegDetalle( ref codigoRetorno, comprobanteEmisionDetalle.codDocumReg, comprobanteEmisionDetalle.CodigoItemDetalle, comprobanteEmisionDetalle.codProducto, comprobanteEmisionDetalle.CodigoArguUnidadMed, Convert.ToByte(comprobanteEmisionDetalle.CantiDecimales), comprobanteEmisionDetalle.IncluyeIGV, comprobanteEmisionDetalle.CantidadPendente, comprobanteEmisionDetalle.Cantidad, comprobanteEmisionDetalle.UnitDescuento, comprobanteEmisionDetalle.UnitValorCosto, comprobanteEmisionDetalle.UnitPrecioBruto, comprobanteEmisionDetalle.UnitPrecioSinIGV, comprobanteEmisionDetalle.UnitValorDscto, comprobanteEmisionDetalle.UnitValorVenta, comprobanteEmisionDetalle.UnitValorIGV, comprobanteEmisionDetalle.TotItemValorBruto, comprobanteEmisionDetalle.TotItemValorDscto, comprobanteEmisionDetalle.TotItemValorVenta, comprobanteEmisionDetalle.TotItemValorIGV, comprobanteEmisionDetalle.Descripcion, comprobanteEmisionDetalle.CodigoArguTipoProducto, comprobanteEmisionDetalle.EsVerificarStock, comprobanteEmisionDetalle.CodigoCuenta, comprobanteEmisionDetalle.CodigoArguDepositoAlm, comprobanteEmisionDetalle.CodigoArguGarantiaProd == string.Empty ? null : comprobanteEmisionDetalle.CodigoArguGarantiaProd, comprobanteEmisionDetalle.CodigoPartida, comprobanteEmisionDetalle.CodigoCentroCosto, comprobanteEmisionDetalle.CodigoListaPrecio, comprobanteEmisionDetalle.codEmpleadoVendedor, comprobanteEmisionDetalle.Valor_ITC, comprobanteEmisionDetalle.Escanner, comprobanteEmisionDetalle.SegUsuarioCrea, comprobanteEmisionDetalle.PesoUnitario, comprobanteEmisionDetalle.SegMaquina, comprobanteEmisionDetalle.codTipoTributoISC, comprobanteEmisionDetalle.mtoIscItem, comprobanteEmisionDetalle.mtoBaseIscItem, comprobanteEmisionDetalle.codTipoCalculoISC, comprobanteEmisionDetalle.porIscItem, comprobanteEmisionDetalle.codTipoTributoOtro, comprobanteEmisionDetalle.mtoTriOtroItem, comprobanteEmisionDetalle.mtoBaseTriOtroItem, comprobanteEmisionDetalle.porTriOtroItem, comprobanteEmisionDetalle.mtoValorReferencialUnitario, comprobanteEmisionDetalle.gloObservacion); } } catch (Exception ex) { throw ex; } return(codigoRetorno); }