diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 2091e565f..447ab3844 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1439,10 +1439,11 @@ Namespace Modelos End If 'Contratos - If factura.CveContrato > 0 AndAlso TipoDocto.Contiene("Ing") Then - GuardarContratoAvanceEstimaciones(ObjContr, ErrorList, 1) - ElseIf factura.CveContrato > 0 AndAlso factura.TipoDocto.Contiene("Egs", "Dev") Then - GuardarContratoAvanceEstimaciones(ObjContr, ErrorList, -1) + If factura.CveContrato > 0 AndAlso factura.TipoDocto.Contiene("Ing") Then + GuardarContratoAvanceEstimaciones(factura, ObjContr, ErrorList, 1) + 'CUANDO ES NOTA DE CRÉDITO, NO DEBE DE CONSIDERAR AVANCE, CUANDO ES NOTA DE CRÉDITO POR AMORTIZACIÓN + ElseIf factura.CveContrato > 0 AndAlso factura.TipoDocto.Contiene("Egs", "Dev") AndAlso Not factura.EsNCAmortizacion Then + GuardarContratoAvanceEstimaciones(factura, ObjContr, ErrorList, -1) End If 'Impuestos Locales @@ -1781,18 +1782,18 @@ Namespace Modelos Return True End Function - Private Sub GuardarContratoAvanceEstimaciones(ObjContrato As ClsContratos, ErrorList As List(Of String), Multiplicador As Integer, Optional CrearAvance As Boolean = False) + Private Sub GuardarContratoAvanceEstimaciones(ObjFactura As Modelos.Factura, ObjContrato As ClsContratos, ErrorList As List(Of String), Multiplicador As Integer, Optional CrearAvance As Boolean = False) - If Me.CveContrato > 0 Then + If ObjFactura.CveContrato > 0 Then Dim CveEstimacion As Integer = -1 - If ObjContrato.AddEstimaciones(Me.CveContrato, Me.Fecha, -1, Me.CveVenta, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjContrato.AddEstimaciones(ObjFactura.CveContrato, ObjFactura.Fecha, -1, ObjFactura.CveVenta, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then CveEstimacion = ObjContrato.DtResultados(0)("CveEstimacion").ToString.ToEntero - For Each row As DataRow In DtDetalle.Rows + For Each row As DataRow In ObjFactura.DtDetalle.Rows If row("CveContratoDetalle").ToString.ToEntero > 0 Then - If Not ObjContrato.AddContratosAvance(row("CveContratoDetalle").ToString.ToEntero, row("Cantidad").ToString.ToEntero * Multiplicador, Me.Fecha, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then + If Not ObjContrato.AddContratosAvance(row("CveContratoDetalle").ToString.ToEntero, row("Cantidad").ToString.ToEntero * Multiplicador, ObjFactura.Fecha, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then ErrorList.Add("Ocurrió un error al agregar los avances") End If End If @@ -4464,13 +4465,13 @@ Namespace Modelos 'CANCELA CONTRATOS If Not ErrorCancelar Then If ObjFactura.CveContrato > 0 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then - ObjFactura.GuardarContratoAvanceEstimaciones(ObjContrato, ErrorList, -1, True) + ObjFactura.GuardarContratoAvanceEstimaciones(ObjFactura, ObjContrato, ErrorList, -1, True) If ErrorList.Count > 0 Then ErrorCancelar = True MensajeError = "Ocurrió un error al cancelar las estimaciones del contrato." End If ElseIf ObjFactura.CveContrato > 0 AndAlso ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then - ObjFactura.GuardarContratoAvanceEstimaciones(ObjContrato, ErrorList, 1, True) + ObjFactura.GuardarContratoAvanceEstimaciones(ObjFactura, ObjContrato, ErrorList, 1, True) If ErrorList.Count > 0 Then ErrorCancelar = True MensajeError = "Ocurrió un error al cancelar los avances del contrato."