diff --git a/Bin/ADSNetLibrary.dll b/Bin/ADSNetLibrary.dll index f8f0cd514..99a825261 100644 Binary files a/Bin/ADSNetLibrary.dll and b/Bin/ADSNetLibrary.dll differ diff --git a/CRM/Acercamiento.aspx.cs b/CRM/Acercamiento.aspx.cs index 3221ac521..6ccb36589 100644 --- a/CRM/Acercamiento.aspx.cs +++ b/CRM/Acercamiento.aspx.cs @@ -828,7 +828,7 @@ public partial class CRM_Acercamiento : ClsPaginas { ClsCRM ObjCRM = new ClsCRM(); ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString); - AcercaminetoModel AcercaminetoModel = new AcercaminetoModel(); + AcercamientoModel AcercamientoModel = new AcercamientoModel(); ClsEncuestas ObjDatosTecnicos = new ClsEncuestas(ObjCRM.IniciaTransacSQL()); //ClsOIEventos ObjBitacora = new ClsOIEventos(ObjCRM.IniciaTransacSQL()); @@ -866,31 +866,31 @@ public partial class CRM_Acercamiento : ClsPaginas { CveEncuestaAplicadaProceso = GuardaDatosTecnicos(ObjDatosTecnicos, CveEncuestaAplicadaProceso); } - AcercaminetoModel.CveAcercamiento = CveAcercamiento; - AcercaminetoModel.CveContactoPrincipal = CveContactoPrincipal; - AcercaminetoModel.CveTipoProceso = CveTipoProceso; - AcercaminetoModel.CveEtapaProcesoActual = CveEtapaProcesoActualActualizar; - AcercaminetoModel.CveVendedor = CveVendedor; - AcercaminetoModel.CveMedioCaptacion = CveMedioCaptacion; - AcercaminetoModel.CveProbabilidadAcercamiento = CveProbabilidadAcercamiento; - AcercaminetoModel.NombreAcercamiento = NombreAcercamiento; - AcercaminetoModel.Descripcion = Descripcion; - AcercaminetoModel.Importe = Importe; - AcercaminetoModel.Comision = Comision; - AcercaminetoModel.Prioridad = Prioridad; - AcercaminetoModel.CveUsuarioIng = UsuarioActual.CveUsuario; - AcercaminetoModel.CveEncuestaAplicadaProceso = CveEncuestaAplicadaProceso; - AcercaminetoModel.FechaApertura = FechaApertura; - AcercaminetoModel.FechaCierre = FechaCierre != null ? (DateTime)FechaCierre : ModExtensiones.MinFecha; - AcercaminetoModel.CvePS = DdlPS.SelectedValue.ToEntero(); - AcercaminetoModel.CveRechazoMotivo = CveRechazoMotivo; - AcercaminetoModel.EnPausa = ChkePausa.Checked; - AcercaminetoModel.CveMedico = DdlMedico.SelectedValue.ToEntero(); - AcercaminetoModel.CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero(); - AcercaminetoModel.CveTipoVenta = DdlTipoVenta.SelectedValue.ToEntero(); + AcercamientoModel.CveAcercamiento = CveAcercamiento; + AcercamientoModel.CveContactoPrincipal = CveContactoPrincipal; + AcercamientoModel.CveTipoProceso = CveTipoProceso; + AcercamientoModel.CveEtapaProcesoActual = CveEtapaProcesoActualActualizar; + AcercamientoModel.CveVendedor = CveVendedor; + AcercamientoModel.CveMedioCaptacion = CveMedioCaptacion; + AcercamientoModel.CveProbabilidadAcercamiento = CveProbabilidadAcercamiento; + AcercamientoModel.NombreAcercamiento = NombreAcercamiento; + AcercamientoModel.Descripcion = Descripcion; + AcercamientoModel.Importe = Importe; + AcercamientoModel.Comision = Comision; + AcercamientoModel.Prioridad = Prioridad; + AcercamientoModel.CveUsuarioIng = UsuarioActual.CveUsuario; + AcercamientoModel.CveEncuestaAplicadaProceso = CveEncuestaAplicadaProceso; + AcercamientoModel.FechaApertura = FechaApertura; + AcercamientoModel.FechaCierre = FechaCierre != null ? (DateTime)FechaCierre : ModExtensiones.MinFecha; + AcercamientoModel.CvePS = DdlPS.SelectedValue.ToEntero(); + AcercamientoModel.CveRechazoMotivo = CveRechazoMotivo; + AcercamientoModel.EnPausa = ChkePausa.Checked; + AcercamientoModel.CveMedico = DdlMedico.SelectedValue.ToEntero(); + AcercamientoModel.CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero(); + AcercamientoModel.CveTipoVenta = DdlTipoVenta.SelectedValue.ToEntero(); - if (cRMService.AcercamientoUpdate(AcercaminetoModel)) + if (cRMService.AcercamientoUpdate(AcercamientoModel)) { //String MensajeBitacora = (CveEtapaProcesoActualActualizar != CveEtapaActual) ? String.Format("Se actualizó la etapa del acercamiento a {0}.", DTEtapasProceso.FiltroPrimeroValor("EtapaProceso", "CveEtapaProceso = " + CveEtapaProcesoActualActualizar)) : String.Format("Se actualizó el Acercamiento {0} con Vendedor {2} y Contacto Principal {3}.", NombreAcercamiento, DdlTipoProceso.SelectedItem, DdlVendedor.SelectedItem, DdlContactoPrincipal.SelectedValue == "-1" ? "aun no asignado" : DdlContactoPrincipal.SelectedItem.Text); @@ -926,7 +926,7 @@ public partial class CRM_Acercamiento : ClsPaginas protected void GuardarCambioEtapa() { ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString); - AcercaminetoModel AcercaminetoModel = new AcercaminetoModel(); + AcercamientoModel AcercamientoModel = new AcercamientoModel(); String NombreAcercamiento = TxtNombreAcercamiento.Text; String Descripcion = TxtDescripcion.Text == "" ? "-1" : TxtDescripcion.Text; @@ -953,30 +953,30 @@ public partial class CRM_Acercamiento : ClsPaginas int CveUsuarioIng = UsuarioActual.CveUsuario; - AcercaminetoModel.CveAcercamiento = CveAcercamiento; - AcercaminetoModel.CveContactoPrincipal = CveContactoPrincipal; - AcercaminetoModel.CveTipoProceso = CveTipoProceso; - AcercaminetoModel.CveEtapaProcesoActual = CveEtapaProcesoActualActualizar; - AcercaminetoModel.CveVendedor = CveVendedor; - AcercaminetoModel.CveMedioCaptacion = CveMedioCaptacion; - AcercaminetoModel.CveProbabilidadAcercamiento = CveProbabilidadAcercamiento; - AcercaminetoModel.NombreAcercamiento = NombreAcercamiento; - AcercaminetoModel.Descripcion = Descripcion; - AcercaminetoModel.Importe = Importe; - AcercaminetoModel.Comision = Comision; - AcercaminetoModel.Prioridad = Prioridad; - AcercaminetoModel.CveUsuarioIng = UsuarioActual.CveUsuario; - AcercaminetoModel.CveEncuestaAplicadaProceso = CveEncuestaAplicadaProceso; - AcercaminetoModel.FechaApertura = FechaApertura; - AcercaminetoModel.FechaCierre = FechaCierre != null ? (DateTime)FechaCierre : ModExtensiones.MinFecha; - AcercaminetoModel.CvePS = DdlPS.SelectedValue.ToEntero(); - AcercaminetoModel.CveRechazoMotivo = CveRechazoMotivo; + AcercamientoModel.CveAcercamiento = CveAcercamiento; + AcercamientoModel.CveContactoPrincipal = CveContactoPrincipal; + AcercamientoModel.CveTipoProceso = CveTipoProceso; + AcercamientoModel.CveEtapaProcesoActual = CveEtapaProcesoActualActualizar; + AcercamientoModel.CveVendedor = CveVendedor; + AcercamientoModel.CveMedioCaptacion = CveMedioCaptacion; + AcercamientoModel.CveProbabilidadAcercamiento = CveProbabilidadAcercamiento; + AcercamientoModel.NombreAcercamiento = NombreAcercamiento; + AcercamientoModel.Descripcion = Descripcion; + AcercamientoModel.Importe = Importe; + AcercamientoModel.Comision = Comision; + AcercamientoModel.Prioridad = Prioridad; + AcercamientoModel.CveUsuarioIng = UsuarioActual.CveUsuario; + AcercamientoModel.CveEncuestaAplicadaProceso = CveEncuestaAplicadaProceso; + AcercamientoModel.FechaApertura = FechaApertura; + AcercamientoModel.FechaCierre = FechaCierre != null ? (DateTime)FechaCierre : ModExtensiones.MinFecha; + AcercamientoModel.CvePS = DdlPS.SelectedValue.ToEntero(); + AcercamientoModel.CveRechazoMotivo = CveRechazoMotivo; - AcercaminetoModel.CveMedico = DdlMedico.SelectedValue.ToEntero(); - AcercaminetoModel.CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero(); - AcercaminetoModel.CveTipoVenta = DdlTipoVenta.SelectedValue.ToEntero(); + AcercamientoModel.CveMedico = DdlMedico.SelectedValue.ToEntero(); + AcercamientoModel.CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero(); + AcercamientoModel.CveTipoVenta = DdlTipoVenta.SelectedValue.ToEntero(); - if (cRMService.AcercamientoUpdate(AcercaminetoModel)) + if (cRMService.AcercamientoUpdate(AcercamientoModel)) { CveEtapaActual = CveEtapaProcesoActualActualizar; HdfEtapaSeleccionada.Value = CveEtapaProcesoActualActualizar.ToString(); @@ -1114,7 +1114,7 @@ public partial class CRM_Acercamiento : ClsPaginas String TituloCierre = DTEtapasProceso.FiltroPrimeroValor("EtapaProceso", "CveTipoEtapa = 4"); - AcercaminetoModel acercamiento = new AcercaminetoModel(); + AcercamientoModel acercamiento = new AcercamientoModel(); acercamiento.CveAcercamiento = CveAcercamiento; acercamiento.CveEtapaProcesoActual = CveEtapaCierre; acercamiento.CveRechazoMotivo = CveRechazoMotivo; diff --git a/CRM/EmpresaCRM.aspx.cs b/CRM/EmpresaCRM.aspx.cs index ea0302fdd..1a50f1336 100644 --- a/CRM/EmpresaCRM.aspx.cs +++ b/CRM/EmpresaCRM.aspx.cs @@ -1821,7 +1821,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas if (tempDT.Rows.Count > 0) { - var AcercamientoModel = new AcercaminetoModel() + var AcercamientoModel = new AcercamientoModel() { CveEmpresaCRM = CveEmpresaCRM, CveContactoPrincipal = CveContactoPrincipal, diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 21e682bbb..1a8c895aa 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -10421,14 +10421,60 @@ Partial Class Compras_Compras DdlTipoTransaccionCaja.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1")) End Sub + Private Sub DdlTipoTransaccion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccion.SelectedIndexChanged + CargaCuentas() + + UpContado.Update() + End Sub + + Private Sub DdlTipoTransaccionCaja_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccionCaja.SelectedIndexChanged + CargaCuentas() + + UpContado.Update() + End Sub + Private Sub CargaCuentas() + + + + Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) + + 'cuando es layout + If DdlTipoTransaccion.SelectedValue.ToEntero = 9 Then + dt = dt.FiltraParametros("UsaLayout = 1") + End If + + If DdlTipoTransaccion.SelectedValue.ToEntero = 17 Then + dt = dt.FiltraParametros("UsaLayoutGrupos = 1") + End If + + + DdlCuenta.SelectedValue = Nothing DdlCuenta.Items.Clear() - DdlCuenta.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoCuenta <> 1")) + DdlCuenta.ClearSelection() + + DdlCuenta.DataSource = dt.FiltraParametros(String.Format("CveTipoCuenta <> 1")) DdlCuenta.DataBind() DdlCuenta.Items.Insert(0, New ListItem("Seleccione", "-1")) + + Dim dtCaja As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) + + + If DdlTipoTransaccionCaja.SelectedValue.ToEntero = 9 Then + dtCaja = dtCaja.FiltraParametros("UsaLayout = 1") + End If + + If DdlTipoTransaccionCaja.SelectedValue.ToEntero = 17 Then + dtCaja = dtCaja.FiltraParametros("UsaLayoutGrupos = 1") + End If + + + DdlCuentaCaja.SelectedValue = Nothing DdlCuentaCaja.Items.Clear() - DdlCuentaCaja.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoCuenta = 1")) + DdlCuentaCaja.ClearSelection() + DdlCuentaCaja.Items.Clear() + DdlCuentaCaja.DataSource = dtCaja.FiltraParametros(String.Format("CveTipoCuenta = 1")) DdlCuentaCaja.DataBind() DdlCuentaCaja.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub @@ -18803,11 +18849,11 @@ Partial Class Compras_Compras If CvePrePoliza > 0 Then - If CveMoneda = 2 Then - ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD() - ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD() + If CveMoneda = 2 Then + ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD() + ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD() - Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp) + Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp) If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DiferenciaInvOCCosto, DiferenciaInvOCCosto, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then Retorno = False @@ -18815,12 +18861,8 @@ Partial Class Compras_Compras End If If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then - If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then - Retorno = False - Exit For - End If - Else + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then + If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then Retorno = False Exit For End If @@ -18829,6 +18871,10 @@ Partial Class Compras_Compras Exit For End If Else + Retorno = False + Exit For + End If + Else '2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DiferenciaInvOCCosto, DiferenciaInvOCCosto, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveColectiva:=CveColectiva) Then @@ -18836,22 +18882,22 @@ Partial Class Compras_Compras Exit For End If Else - Retorno = False - Exit For - End If - End If - If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then Retorno = False Exit For End If + End If + If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then + Retorno = False + Exit For + End If - If Retorno Then - If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then - Retorno = False - End If + If Retorno Then + If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then + Retorno = False End If End If End If + End If Next If Retorno AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then Alert("No se procesaron las diferencias en precio.", TipoMensaje.MsgAdvertencia) @@ -20060,29 +20106,6 @@ Partial Class Compras_Compras DdlRefacturacionFacturas.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub - - Protected Sub BtnRecolecciónAplicar_Click(sender As Object, e As EventArgs) - Using ObjAcum As New ClsGenerales - If ObjAcum.GetEntregaAlmacenRutaDetalle(DdlRecoleccion.SelectedValue.ToEntero) Then - 'Dim dtt As DataTable = ObjAcum.DtResultados.FiltraParametros("CantidadDisponible > 0") - 'Dim Porcentaje As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal - 'Dim tCveSub As Integer = TmpDT.MAX("CveSubProyecto").ToEntero - 'Dim tCveTipoGasto As Integer = TmpDT.MAX("CveTipoGasto").ToEntero - 'Dim Total As Decimal = TmpDT.SUMD("Total") - 'For Each drr As DataRow In TmpDT.Rows - ' ClavesBorradas.Add(drr("CveCompraDetalle").ToString) - 'Next - TmpDT.Clear() - 'For Each dr As DataRow In dtt.Rows - ' Dim pu As Decimal = Total / dtt.SUMD("CantidadDisponible") - ' Dim cantidad As Decimal = dr("CantidadDisponible").ToString.ToDecimal - ' AddPS(cantidad, dr("CveUM").ToString.ToEntero, "", dr("CveClasificacion").ToString.ToEntero, "", dr("CvePS").ToString.ToEntero, dr("PS").ToString, 2, tCveSub.ToString, "SE", "SE", "", "", pu, Total, Porcentaje, 0, 0, 0, 0, 0, PorcentajeIVA:=Porcentaje, TCalculaTotales:=True, CveTipoGasto:=tCveTipoGasto) - 'Next - 'AddPS2() - - End If - End Using - End Sub End Class diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 2b9d23ec8..ad5eccb24 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1633,12 +1633,13 @@ Partial Class General_SaldosIniciales Dim CveClasificacion As Integer = drr("CveClasificacion").ToString().ToEntero() + If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True ' If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True Dim dtsubp As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) - + Dim CountRow As Integer = 1 For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'") Dim TipoDocto As String = Row("Tipo Documento").ToString().Trim @@ -1684,7 +1685,36 @@ Partial Class General_SaldosIniciales Dim IVADetalle As Decimal = 0 If RblFormato.SelectedValue = "17" Then + + Dim CodigoDetalle As String = Row("Codigo").ToString + If CodigoDetalle.Trim.Length > 0 Then + Dim DrDetalles As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo = {CodigoDetalle}") + + If DrDetalles IsNot Nothing Then + CvePS = DrDetalles("CvePS").ToString().ToEntero() + CveUnidadMedida = DrDetalles("CveUnidadMedida").ToString().ToEntero() + CveClasificacion = DrDetalles("CveClasificacion").ToString().ToEntero() + Else + Alert($"El código del producto no se encontro, error en registro {CountRow}") + ErrorVentas = True + End If + + Else + Alert($"El código es requerido, error en registro {CountRow}") + ErrorVentas = True + End If + + IEPSDetalle = Row("IEPS").ToString.ToDecimal + CantidadDetalle = Row("Cantidad").ToString.ToDecimal + PUDetalle = Row("PU").ToString.ToDecimal + IVADetalle = Row("IVA").ToString.ToDecimal + + If CantidadDetalle = 0 Then + Alert($"No se especifico la cantidad, error en registro {CountRow}") + ErrorVentas = True + End If + End If If dt.Columns.Contains("Cliente Sucursal") AndAlso Row("Cliente Sucursal").ToString() <> "" Then @@ -1759,11 +1789,19 @@ Partial Class General_SaldosIniciales If RblFormato.SelectedValue = "17" Then - If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PUDetalle * CantidadDetalle, IVADetalle, (PUDetalle * CantidadDetalle) + IVADetalle - IEPSDetalle, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, + + Dim TotalDetalles As Decimal = SubTotal + If PUDetalle > 0 Then + TotalDetalles = (CantidadDetalle * PUDetalle) + IVA - RetIVA - RetISR + IEPSDetalle + End If + + + If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PUDetalle * CantidadDetalle, IVADetalle, TotalDetalles, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=IEPSDetalle) Then ErrorVentas = True Exit For End If + Else If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, IVA, SubTotal * PorcentajeIVA, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=0) Then ErrorVentas = True @@ -1839,6 +1877,7 @@ Partial Class General_SaldosIniciales Exit For End If + CountRow = CountRow + 1 Next If Not ErrorVentas Then Alert(String.Format("Se agregaron: {0} Ventas correctamente. {1} no encontrados
{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion)