From 1a0cc20bc9dd7b1fdd336cd4b6afa8ff9bba4c3b Mon Sep 17 00:00:00 2001 From: Raul Pimienta Date: Sat, 24 Aug 2019 09:52:38 -0700 Subject: [PATCH] Cambios en PV en el modal de ajustes. Cancelacion de NC en Campras. --- App_Code/ClsCompras.vb | 25 ++++++++++++++++++---- Compras/Compras.aspx.vb | 41 +++++++++++++++++++++++++++++------- Ventas/PV.aspx | 17 +++++++++++---- Ventas/PV.aspx.vb | 46 ++++++++++++++++++++++++++++++++++------- 4 files changed, 107 insertions(+), 22 deletions(-) diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index dfda922b1..1da48e7a6 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -2886,8 +2886,8 @@ Public Class ClsCompras OnError("Ocurrió un error al obtener el reporte de anticipos - nc - exc detalle .", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try Return Retorno - End Function - + End Function + #End Region Public Function GetCxPProgramado(CveCompra As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -2903,9 +2903,26 @@ Public Class ClsCompras OnError("Ocurrió un error al obtener la información de la compra programada.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try Return Retorno - End Function + End Function + + Public Function GetCancelarNC(CveCompra As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Conta_CancelarNCGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los datos para cancelar la nc.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + #Region "REPORTE PUE SIN PAGO" - + Public Function GetPUESinPago(FI As DateTime, FF As DateTime, CveProveedor As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1) As Boolean Dim retorno As Boolean = False DataAdapter("PA_Comp_PUESinPagoGet", CommandType.StoredProcedure) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index fea2e0d27..69fe82bf1 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2800,7 +2800,9 @@ Partial Class Compras_Compras 'TIENE AMORTIZACIÓN If GvAnticiposSel.Rows.Count > 0 Then BtnEliminarCompra.Visible = False - BtnCancelarCompra.Visible = False + If Not DdlTipoComprobante.SelectedValue.Contiene("NC") Then + BtnCancelarCompra.Visible = False + End If End If CargaComplementosPago() @@ -13638,7 +13640,7 @@ Partial Class Compras_Compras RegistraScript("$('#DivCancelarCompra').modal('hide');") Dim ObjAC As ClsContPAQi = Nothing - If UsuarioActual.Empresa.UsaAC Then + If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then ObjAC = New ClsContPAQi(UsuarioActual.Empresa) ObjAC.IniciaTransacSQL() End If @@ -13654,7 +13656,7 @@ Partial Class Compras_Compras ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) - If TxtFecha.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFecha.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then + If TxtFecha.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFecha.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Or DdlTipoComprobante.SelectedValue.Contiene("NC") Then 'CREA POLIZA NEGATIVA If IdPoliza > 0 AndAlso ObjAC IsNot Nothing Then @@ -13685,9 +13687,9 @@ Partial Class Compras_Compras End If 'CREA PRE-POLIZA NEGATIVA - If CvePrePoliza > 0 Then - If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza) Then - dt = ObjContabilidad.DtResultados + If DdlTipoComprobante.SelectedValue.Contiene("NC") Then + If ObjCompras.GetCancelarNC(CveCompra, UsuarioActual.CveEmpresa) Then + dt = ObjCompras.DtResultados CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", dt.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, dt.Rows(0)("Cargos").ToString.ToDouble * -1, dt.Rows(0)("Abonos").ToString.ToDouble * -1, dt.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", dt.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CvePrePolizaNueva > 0 Then @@ -13696,7 +13698,8 @@ Partial Class Compras_Compras dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero, dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, dr("CveAcreedor").ToString.ToEntero, dr("CveColectiva").ToString.ToEntero, dr("CveCreditoDetalle").ToString.ToEntero, CveCuenta:=dr("CveCuenta").ToString.ToEntero, - ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then + ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero, + CveCompraAmortizacion:=dr("CveCompraAmortizacion").ToString.ToEntero) Then ErrorCancelar = True Exit For End If @@ -13707,6 +13710,30 @@ Partial Class Compras_Compras Else ErrorCancelar = True End If + Else + If CvePrePoliza > 0 Then + If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza) Then + dt = ObjContabilidad.DtResultados + + CvePrePolizaNueva = ObjContabilidad.AddPrePolizas("Compras/Cancelar", dt.Rows(0)("CvePlantillaPoliza").ToString.ToEntero, dt.Rows(0)("Cargos").ToString.ToDouble * -1, dt.Rows(0)("Abonos").ToString.ToDouble * -1, dt.Rows(0)("CveMoneda").ToString.ToEntero, TxtFechaCancelacion.Text.ToDate, String.Format("Cancelación: {0}", dt.Rows(0)("Concepto").ToString), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + If CvePrePolizaNueva > 0 Then + For Each dr As DataRow In dt.Rows + If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, dr("CveConceptoContable").ToString.ToEntero, + dr("Concepto").ToString, TxtFechaCancelacion.Text.ToDate, dr("IdCtaContable").ToString.ToEntero, dr("IdSegmentoNegocio").ToString.ToEntero, dr("CveIE").ToString.ToEntero, + dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, + dr("CveMovimientoAlmacen").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, dr("CveAcreedor").ToString.ToEntero, dr("CveColectiva").ToString.ToEntero, dr("CveCreditoDetalle").ToString.ToEntero, CveCuenta:=dr("CveCuenta").ToString.ToEntero, + ImporteMX:=dr("Importe").ToString.ToDecimal * -1, ImporteME:=dr("Importe").ToString.ToDecimal * -1, CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then + ErrorCancelar = True + Exit For + End If + Next + Else + ErrorCancelar = True + End If + Else + ErrorCancelar = True + End If + End If End If 'MES ACTUAL diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index cb144a769..29036f542 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -2719,8 +2719,8 @@ - - + + @@ -2830,7 +2830,7 @@
-
+
<%----%> @@ -2838,7 +2838,7 @@
-
+
@@ -2847,6 +2847,15 @@
+
+
+ + + + + +
+
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 4ede39ae1..4e27af4bd 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -4853,7 +4853,7 @@ Partial Class PV TmpDTAjustes.Columns.Add("CodigoInspeccion", GetType(String)) TmpDTAjustes.Columns.Add("Consecutivo", GetType(String)) TmpDTAjustes.Columns.Add("ConsecutivoVenta", GetType(Integer)) - TmpDTAjustes.Columns.Add("FechaAjuste", GetType(String)) + TmpDTAjustes.Columns.Add("FechaAjuste", GetType(Date)) TmpDTAjustes.Columns.Add("Meses", GetType(String)) TmpDTAjustes.Columns.Add("PorcentajeAjuste", GetType(Double)) TmpDTAjustes.Columns.Add("NumPoliza", GetType(String)) @@ -4925,6 +4925,7 @@ Partial Class PV If ObjVenta.GetVentaDetalle(DdlFacturas.SelectedValue.ToEntero) Then DdlPSAjuste.DataSource = ObjVenta.DtResultados DtPUFacturas = ObjVenta.DtResultados + TxtFechaAjuste.Text = ObjVenta.DtResultados.Rows(0)("Fecha").ToString.ToDate.ToShortDateString End If ObjVenta.Dispose() Else @@ -4936,6 +4937,7 @@ Partial Class PV DdlPSAjuste.Items.Insert(0, New ListItem("Seleccione", "-1")) DtPUFacturas.AcceptChanges() UpAjuste.Update() + CalculaPorcentajeAjuste() End Sub Private Sub Ajuste() @@ -4987,7 +4989,6 @@ Partial Class PV TxtCodEnsamble.Text = Dr("CodigoEnsamble").ToString DdlTipoUso.SelectedValueExist(Dr("CveTipoUso").ToString) TxtCodLinea.Text = Dr("CodigoLinea").ToString - TxtFechaAjuste.Text = Dr("FechaAjuste").ToString TxtCodInspeccion.Text = Dr("CodigoInspeccion").ToString TxtMesesUso.Text = Dr("Meses").ToString DdlTipoDefecto.SelectedValueExist(Dr("CveTipoDefecto").ToString) @@ -4997,7 +4998,8 @@ Partial Class PV DdlFacturas.SelectedValueExist(Dr("CveVenta").ToString) CargaPSAjuste() DdlPSAjuste.SelectedValueExist(Dr("CvePS").ToString) - TxtPUFactura.Text = Dr("PUFactura").ToString.ToDecimal.FormatoNumero(4) + TxtFechaAjuste.Text = Dr("FechaAjuste").ToString.ToDate.ToShortDateString + TxtPUFactura.Text = Dr("PUFactura").ToString.ToDecimal.FormatoNumero(2) TxtPUFactura.Enabled = Not Dr("CveVenta").ToString.ToEntero > 0 End If End Sub @@ -5021,7 +5023,7 @@ Partial Class PV End If Contador += 1 Next - TxtPUFactura.Text = PUFactura.FormatoNumero(4) + TxtPUFactura.Text = PUFactura.FormatoNumero(2) End If If Not DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then @@ -5040,7 +5042,7 @@ Partial Class PV End Sub Private Sub CalculaPorcentajeAjuste() - If DdlTipoUso.SelectedValue.ToEntero > 0 AndAlso DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso TxtMesesUso.Text <> "" Then + If DdlTipoUso.SelectedValue.ToEntero > 0 AndAlso DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso TxtMesesUso.Text <> "" AndAlso DdlPS.SelectedValue.ToEntero > 0 Then Dim CveMarca As Integer = -1 If GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows.Count > 0 Then CveMarca = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows(0)("CveMarca").ToString.ToEntero @@ -5050,6 +5052,36 @@ Partial Class PV If ObjAcum.DtResultados.Rows.Count > 0 Then TxtPorcentajeAjuste.Text = (ObjAcum.DtResultados.Rows(0)("Valor").ToString.ToDouble / 100).ToString TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDouble * TxtPUFactura.Text.ToDouble).FormatoNumero + + Dim CargoActual As Decimal = 0 + Dim CargoAnterior As Decimal = 0 + Dim CveTamaño As Integer = 0 + + If DdlPSAjuste.SelectedValue.ToEntero > 0 Then + Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows(0) + If Dr IsNot Nothing Then + CargoAnterior = Dr("Cargo").ToString.ToDecimal + End If + End If + + If DdlPS.SelectedValue.ToEntero > 0 Then + Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero).Rows(0) + If Dr IsNot Nothing Then + CveTamaño = Dr("CveTamaño").ToString.ToEntero + End If + End If + + + + If GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows(0) IsNot Nothing AndAlso GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows.Count > 0 Then + Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}").Rows(0) + If DrCargo IsNot Nothing Then + CargoActual = DrCargo("Cargo").ToString.ToDecimal + End If + End If + + TxtDescuentoAjuste.Text = ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoActual - CargoAnterior)).FormatoNumero + TxtDescuentoAjuste.ToolTip = $"La diferencia de ajuste fue: {(TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble).FormatoNumero()}. La diferencia de tamaños fue: {(CargoActual - CargoAnterior).FormatoNumero}." End If End If ObjAcum.Dispose() @@ -5095,7 +5127,7 @@ Partial Class PV Row("CodigoLinea") = TxtCodLinea.Text Row("CodigoInspeccion") = TxtCodInspeccion.Text Row("Consecutivo") = TxtConsecutivoAjuste.Text - Row("FechaAjuste") = TxtFechaAjuste.Text + Row("FechaAjuste") = TxtFechaAjuste.Text.ToDate Row("Meses") = TxtMesesUso.Text.ToEntero Row("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDouble Row("NumPoliza") = TxtPoliza.Text @@ -5125,7 +5157,7 @@ Partial Class PV TmpDTAjustes.Rows(IndexAjuste)("CodigoLinea") = TxtCodLinea.Text TmpDTAjustes.Rows(IndexAjuste)("CodigoInspeccion") = TxtCodInspeccion.Text TmpDTAjustes.Rows(IndexAjuste)("Consecutivo") = TxtConsecutivoAjuste.Text - TmpDTAjustes.Rows(IndexAjuste)("FechaAjuste") = TxtFechaAjuste.Text.ToEntero + TmpDTAjustes.Rows(IndexAjuste)("FechaAjuste") = TxtFechaAjuste.Text.ToDate TmpDTAjustes.Rows(IndexAjuste)("Meses") = TxtMesesUso.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("PorcentajeAjuste") = TxtPorcentajeAjuste.Text TmpDTAjustes.Rows(IndexAjuste)("NumPoliza") = TxtPoliza.Text.ToDouble