From a747e6d017fab4c1ad7898cabc3c064665ab15cd Mon Sep 17 00:00:00 2001 From: Desarrollo2019 Date: Wed, 21 Aug 2019 18:05:50 -0700 Subject: [PATCH] Soporte en ReembolsosComprobaciones en otros ingresos. Soportes en Compras en dif. en prepoliza en nc, en que se contabilice una factura y error porque se tenia que simplificar antes de contabilizar. Cambios en Punto de Venta de bdh --- Compras/Compras.aspx.vb | 39 ++--- Compras/ReembolsosComprobaciones.aspx.vb | 5 + Ventas/PV.aspx | 26 +++- Ventas/PV.aspx.vb | 175 +++++++++++++++++------ 4 files changed, 178 insertions(+), 67 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 24c4faab8..e90f41f74 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -5192,7 +5192,6 @@ Partial Class Compras_Compras Dim tipoCambioPago As Decimal Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" Dim idCuentaContabilizacion As Long = 1 - Dim BanderaContilizar = True Dim CveCuentaContabilizacion As Long = 1 Dim FechaMovimiento As Date = TxtFecha.Text.ToDate Dim DT As DataTable = Nothing @@ -6072,7 +6071,6 @@ Partial Class Compras_Compras If OCVinculada Or CveConceptoContableAlmacen.Contiene(237, 240) Then ConceptoContabilizacion = CveConceptoContableAlmacen End If - BanderaContilizar = If(ConceptoContabilizacion = 205, False, True) Dim UsaComplementariaFleteImportaciones As Boolean = False Select Case ConceptoContabilizacion @@ -6990,6 +6988,12 @@ Partial Class Compras_Compras End If End If + 'Simplificacion de PrePolizas + If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then + If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then + ErrorPrepolizaDescuadre = True + End If + End If If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then If ObjConta.ValorPolizaDescuadre > 0 Then @@ -7000,19 +7004,17 @@ Partial Class Compras_Compras 'Conta ContPAQ If ObjContaAC IsNot Nothing AndAlso Not ErrorPrepoliza AndAlso Not ErrorPrepolizaDescuadre AndAlso UsuarioActual.Empresa.UsaContabilidad Then - If BanderaContilizar Then - If idCuentaContabilizacion > 0 Then - If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaAC) Then - ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion) - IdPoliza = ObjConta.ContaIdPoliza - Else - ErrorPrepoliza = True - Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia) - End If + If idCuentaContabilizacion > 0 Then + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaAC) Then + ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion) + IdPoliza = ObjConta.ContaIdPoliza Else - Alert(String.Format("No se puede contabilizar la Prepoliza debido a que las siguientes cuentas son inválidas:
{0}", CuentasContablesInvalidas), TipoMensaje.MsgAdvertencia) ErrorPrepoliza = True + Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia) End If + Else + Alert(String.Format("No se puede contabilizar la Prepoliza debido a que las siguientes cuentas son inválidas:
{0}", CuentasContablesInvalidas), TipoMensaje.MsgAdvertencia) + ErrorPrepoliza = True End If End If End If @@ -7614,12 +7616,7 @@ Partial Class Compras_Compras MsgAccionAceptar = "location.href =""Compras.aspx""" End If - 'Simplificacion de PrePolizas - If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then - If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then - Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError) - End If - End If + 'CUANDO ES REEMBOLSO COMPROBACION Y CAJA CHICA If UsuarioActual.CveEmpresa.Contiene(1, 119) AndAlso TxtNumeroReembolso.Text.Trim <> "" AndAlso (DdlPersonalReembolso.SelectedValue.ToEntero > 0 Or DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero > 0) Then @@ -16756,6 +16753,8 @@ Partial Class Compras_Compras Row("CveClasificacionOG") = DdlACGeneral5.SelectedValue.ToEntero End If + + TmpDT.Rows.Add(Row) TmpDT.Rows.IndexOf(Row) @@ -16857,6 +16856,10 @@ Partial Class Compras_Compras DrPS("CveTipoGasto") = DdlTipoGasto.SelectedValue.ToEntero DrPS("TipoGasto") = If(DdlTipoGasto.SelectedValue.ToEntero > 0, DdlTipoGasto.SelectedItem.Text, "") + If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then + DrPS("AplicaCostoIndirecto") = "0" + End If + 'IMPUESTOS: SI ES COMPRA, FACUTRA O CON OC, NO MODIFICA IMPUESTOS!! 'Dim IVA = (TxtIVAModal.Text.ToDouble / 100) Dim IVA = Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2) diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index 09e16f322..fba7d9a3f 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -624,6 +624,11 @@ Partial Class Compras_ReembolsosComprobaciones If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If + If CveCajaChica > 0 Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then + MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" + End If + End If End If If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal).RoundSQL(6) Else PorcentajePago = 1 diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index 3a228186c..8801aa806 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -2700,8 +2700,27 @@
+ + + +
+
+
+
+
+
+ + - +
+
+
+
+ + + + +
@@ -2811,7 +2830,7 @@
-
+
<%----%> @@ -2828,6 +2847,9 @@
+
+ +
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index d9d0fd535..dfa689b10 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -924,6 +924,14 @@ Partial Class PV ViewState("DtPagos") = value End Set End Property + Private Property DtPUFacturas As DataTable + Get + Return CType(ViewState("DtPUFacturas"), DataTable) + End Get + Set(value As DataTable) + ViewState("DtPUFacturas") = value + End Set + End Property #End Region #Region "PROPIEDADES ACUMULADORES" @@ -996,6 +1004,8 @@ Partial Class PV EsCreaApartirDe = False RequiereAlmacenDestino = False TmpDTComplementos = New DataTable + DtPUFacturas = New DataTable + Modalidad = "" Index = -1 @@ -1680,6 +1690,7 @@ Partial Class PV UpComplementos.Update() CargarAlmacenes() + CargaFacturasAjuste() Else Alert("El cliente solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgError) End If @@ -2684,6 +2695,10 @@ Partial Class PV #End Region #Region "SELECTED INDEX CHANGE" + Protected Sub DdlFacturas_SelectedIndexChanged(sender As Object, e As EventArgs) + CargaPSAjuste() + End Sub + Private Sub DdlPSIndexChange(CvePSParametro As Integer, Ddl As ADServerControl.Dropdownlost) If Not CveCliente > 0 Then @@ -4848,9 +4863,22 @@ Partial Class PV TmpDTAjustes.Columns.Add("Cantidad", GetType(Decimal)) TmpDTAjustes.Columns.Add("CveUM", GetType(Integer)) TmpDTAjustes.Columns.Add("CveVentaDetalle", GetType(Integer)) + TmpDTAjustes.Columns.Add("CveVenta", GetType(Integer)) + TmpDTAjustes.Columns.Add("PUFactura", GetType(Integer)) End Sub + Private Sub CargaFacturasAjuste() + DdlFacturas.Items.Clear() + Dim ObjVenta As New ClsVentas + If ObjVenta.GetVentas(UsuarioActual.CveEmpresa, "Ing", "-1", -1, "-1", CveCliente, -1, -1, -1, "-1", "-1", "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + DdlFacturas.DataSource = ObjVenta.DtResultados + DdlFacturas.Items.Insert(0, New ListItem("Seleccione", "-1")) + End If + ObjVenta.Dispose() + DdlFacturas.DataBind() + UpAjuste.Update() + End Sub Private Sub CargaAjuste() Dim ObjAcum As New ClsAcumuladores @@ -4859,6 +4887,9 @@ Partial Class PV DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1")) End If + + DdlFacturas.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlTipoUso.DataSource = GlobalDTAcumTiposUso.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") DdlTipoUso.Items.Insert(0, New ListItem("Seleccione", "-1")) @@ -4872,19 +4903,9 @@ Partial Class PV DdlTipoUso.DataBind() DdlTipoDefecto.DataBind() GvRecepcionUsados.DataBind() + DdlFacturas.DataBind() - DdlPSAjuste.setEsWebService(UsuarioActual.Empresa.Funcionalidad(141) = "1") - - If UsuarioActual.Empresa.Funcionalidad(141) = "1" Then - DdlPSAjuste.ddlWS.Attributes.Add("data-cveclasificacion", "-1") - DdlPSAjuste.SelectedText = "Seleccione" - DdlPSAjuste.SelectedValue = "-1" - Else - DdlPSAjuste.ddl.Items.Clear() - DdlPSAjuste.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) - DdlPSAjuste.ddl.DataBind() - DdlPSAjuste.ddl.Items.Insert(0, New ListItem("Seleccione", "-1")) - End If + CargaPSAjuste() CreaDTmpDTAjustes() CreaDTmpDTRecepcionUsados() @@ -4894,6 +4915,29 @@ Partial Class PV End Sub + Private Sub CargaPSAjuste() + DdlPSAjuste.Items.Clear() + DtPUFacturas.Rows.Clear() + + If DdlFacturas.SelectedValue.ToEntero > 0 Then + TxtPUFactura.Enabled = False + Dim ObjVenta As New ClsVentas + If ObjVenta.GetVentaDetalle(DdlFacturas.SelectedValue.ToEntero) Then + DdlPSAjuste.DataSource = ObjVenta.DtResultados + DtPUFacturas = ObjVenta.DtResultados + End If + ObjVenta.Dispose() + Else + TxtPUFactura.Enabled = True + TxtPUFactura.Text = "" + DdlPSAjuste.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + End If + DdlPSAjuste.DataBind() + DdlPSAjuste.Items.Insert(0, New ListItem("Seleccione", "-1")) + DtPUFacturas.AcceptChanges() + UpAjuste.Update() + End Sub + Private Sub Ajuste() LimpiaAjuste() If TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.FiltraParametros($"ConsecutivoVenta = {ConsecutivoVenta}").Rows.Count > 0 Then @@ -4920,15 +4964,22 @@ Partial Class PV TxtPorcentajeAjuste.Text = "" TxtPoliza.Text = "" TxtImporteAjuste.Text = "" - DdlPSAjuste.SelectedValue = "-1" - DdlPSAjuste.SelectedText = "Seleccione" + DdlPSAjuste.SelectedIndex = 0 ChkAjuste.Checked = False DivAjuste.Visible = False End Sub Private Sub CargaAjusteDetalle() - Dim Dr As DataRow = TmpDTAjustes.FiltraParametros($"ConsecutivoVenta = {ConsecutivoVenta}").Rows(0) + Dim Dr As DataRow = Nothing + IndexAjuste = 0 + For Each Dr2 As DataRow In TmpDTAjustes.Rows + If Dr2("ConsecutivoVenta").ToString.ToEntero = ConsecutivoVenta Then + Dr = Dr2 + Exit For + End If + IndexAjuste += 1 + Next If Dr IsNot Nothing Then IndexAjuste = TmpDTAjustes.Rows.IndexOf(Dr) DdlFolioGarantia.SelectedValueExist(Dr("CveFolioGarantia").ToString) @@ -4943,8 +4994,11 @@ Partial Class PV TxtPorcentajeAjuste.Text = Dr("PorcentajeAjuste").ToString TxtPoliza.Text = Dr("NumPoliza").ToString TxtImporteAjuste.Text = Dr("Importe").ToString - DdlPSAjuste.SelectedValue = Dr("CvePS").ToString - DdlPSAjuste.SelectedText = Dr("PS").ToString + DdlFacturas.SelectedValueExist(Dr("CveVenta").ToString) + CargaPSAjuste() + DdlPSAjuste.SelectedValueExist(Dr("CvePS").ToString) + TxtPUFactura.Text = Dr("PUFactura").ToString.ToDecimal.FormatoNumero(4) + TxtPUFactura.Enabled = Not Dr("CveVenta").ToString.ToEntero > 0 End If End Sub Protected Sub BtnCalculaMesesUso_Click(sender As Object, e As EventArgs) @@ -4957,6 +5011,23 @@ Partial Class PV End Sub Protected Sub DdlPSAjuste_selectedindexchange(sender As Object, e As EventArgs) + If DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then + Dim Index As Integer = DdlPSAjuste.SelectedIndex + Dim Contador As Integer = 1 + Dim PUFactura As Decimal = 0 + For Each Dr As DataRow In DtPUFacturas.Rows + If Index = Contador Then + PUFactura = Dr("PU").ToString.ToDecimal + End If + Contador += 1 + Next + TxtPUFactura.Text = PUFactura.FormatoNumero(4) + End If + + If Not DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then + TxtPUFactura.Text = "" + End If + CalculaPorcentajeAjuste() End Sub @@ -4964,6 +5035,10 @@ Partial Class PV CalculaPorcentajeAjuste() End Sub + Protected Sub BtnCalcularImporteAjuste_Click(sender As Object, e As EventArgs) + CalculaPorcentajeAjuste() + End Sub + Private Sub CalculaPorcentajeAjuste() If DdlTipoUso.SelectedValue.ToEntero > 0 AndAlso DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso TxtMesesUso.Text <> "" Then Dim CveMarca As Integer = -1 @@ -4974,7 +5049,7 @@ Partial Class PV If ObjAcum.GarantiasMesesGet(-1, UsuarioActual.CveEmpresa, CveMarca, DdlTipoUso.SelectedValue.ToEntero, TxtMesesUso.Text.ToEntero) Then If ObjAcum.DtResultados.Rows.Count > 0 Then TxtPorcentajeAjuste.Text = (ObjAcum.DtResultados.Rows(0)("Valor").ToString.ToDouble / 100).ToString - TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDouble * AsignaPUFijo(DdlPSAjuste.SelectedValue.ToEntero)).FormatoNumero + TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDouble * TxtPUFactura.Text.ToDouble).FormatoNumero End If End If ObjAcum.Dispose() @@ -4982,30 +5057,30 @@ Partial Class PV UpAjuste.Update() End Sub - Private Function AsignaPUFijo(CvePS As Integer) As Double - Select Case CvePS - Case 360449 - Return 500 - Case 360450 - Return 1000 - Case 360451 - Return 2000 - Case 360452 - Return 3000 - Case 360453 - Return 4000 - Case 360455 - Return 5000 - Case 365353 - Return 6000 - Case 360454 - Return 1500 'lth. acumulador - Case 370810 - Return 2500 'lth. 1872 - Case Else - Return 5000 - End Select - End Function + 'Private Function AsignaPUFijo(CvePS As Integer) As Double + ' Select Case CvePS + ' Case 360449 + ' Return 500 + ' Case 360450 + ' Return 1000 + ' Case 360451 + ' Return 2000 + ' Case 360452 + ' Return 3000 + ' Case 360453 + ' Return 4000 + ' Case 360455 + ' Return 5000 + ' Case 365353 + ' Return 6000 + ' Case 360454 + ' Return 1500 'lth. acumulador + ' Case 370810 + ' Return 2500 'lth. 1872 + ' Case Else + ' Return 5000 + ' End Select + 'End Function Private Sub GuardaAjuste() Dim CargoAnterior As Double = 0 @@ -5015,7 +5090,7 @@ Partial Class PV Row = TmpDTAjustes.NewRow Row("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero Row("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero - Row("CveTipoDefecto") = DdlTipoDefecto.ToEntero + Row("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero Row("CodigoEnsamble") = TxtCodEnsamble.Text Row("CodigoLinea") = TxtCodLinea.Text Row("CodigoInspeccion") = TxtCodInspeccion.Text @@ -5027,7 +5102,9 @@ Partial Class PV Row("Importe") = TxtImporteAjuste.Text.ToDouble Row("ConsecutivoVenta") = ConsecutivoVenta Row("CvePS") = DdlPSAjuste.SelectedValue - Row("PS") = DdlPSAjuste.SelectedText + Row("PS") = DdlPSAjuste.SelectedItem.Text + Row("CveVenta") = DdlFacturas.SelectedValue + Row("PUFactura") = TxtPUFactura.Text.ToDouble Row("Cantidad") = 1 Dim CveUM As Integer = -1 If DdlPSAjuste.SelectedValue.ToEntero > 0 Then @@ -5043,7 +5120,7 @@ Partial Class PV ElseIf ModalidadAjuste = "U" Then TmpDTAjustes.Rows(IndexAjuste)("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero TmpDTAjustes.Rows(IndexAjuste)("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero - TmpDTAjustes.Rows(IndexAjuste)("CveTipoDefecto") = DdlTipoDefecto.ToEntero + TmpDTAjustes.Rows(IndexAjuste)("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero TmpDTAjustes.Rows(IndexAjuste)("CodigoEnsamble") = TxtCodEnsamble.Text TmpDTAjustes.Rows(IndexAjuste)("CodigoLinea") = TxtCodLinea.Text TmpDTAjustes.Rows(IndexAjuste)("CodigoInspeccion") = TxtCodInspeccion.Text @@ -5055,7 +5132,9 @@ Partial Class PV TmpDTAjustes.Rows(IndexAjuste)("Importe") = TxtImporteAjuste.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("ConsecutivoVenta") = ConsecutivoVenta TmpDTAjustes.Rows(IndexAjuste)("CvePS") = DdlPSAjuste.SelectedValue - TmpDTAjustes.Rows(IndexAjuste)("PS") = DdlPSAjuste.SelectedText + TmpDTAjustes.Rows(IndexAjuste)("PS") = DdlPSAjuste.SelectedItem.Text + TmpDTAjustes.Rows(IndexAjuste)("CveVenta") = DdlFacturas.SelectedValue + TmpDTAjustes.Rows(IndexAjuste)("PUFactura") = TxtPUFactura.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("Cantidad") = 1 Dim CveUM As Integer = -1 If DdlPSAjuste.SelectedValue.ToEntero > 0 Then @@ -5082,7 +5161,7 @@ Partial Class PV End If End If - Dr("Descuento") = Math.Round((AsignaPUFijo(DdlPSAjuste.SelectedValue.ToEntero) - TxtImporteAjuste.Text.ToDouble) - (CargoActual - CargoAnterior), NumeroDecimales) + Dr("Descuento") = Math.Round((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoActual - CargoAnterior), NumeroDecimales) Dim TotalCalculableImpuestos As Decimal = (Dr("Cantidad").ToString.ToDecimal * (Dr("PU").ToString.ToDecimal)) - Dr("Descuento").ToString.ToDecimal Dr("ImporteIVA") = Math.Round(Dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales) @@ -5390,4 +5469,6 @@ Partial Class PV #End Region + + End Class