diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 86fdecdd5..c345bb6fb 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -4998,7 +4998,7 @@ Namespace Modelos Public Property EsInterno As Integer = -1 Public Property CveEmpresaCRM As Integer = -1 Public Property EmpresaCRM As String = "" - Public Property TotalImpuestoLocal As Double = 0 + Public Property TotalImpuestoLocal As Decimal = 0 Public Property AplicaDevolucion As Boolean Public Property CveVentaDevolucion As Integer Public Property ObservacionesAlmacen As String diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index f6da1935f..e929eccf0 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -1549,7 +1549,7 @@ function ValidarCantidad(t, c) { var Ot = 0.00; // considera importe de OT ingresos, para que se peuda exceder - if ($get('TxtOtrosIngresosEgresos')) { Ot = -ToDouble($get('TxtOtrosIngresosEgresos').value);} + if ($get('TxtOtrosIngresosEgresos')) { Ot = ToDouble($get('TxtOtrosIngresosEgresos').value);} t.value = (ToDouble(t.value) > ToDouble(c) + Ot ? c : t.value) } diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 12328b592..ef2efaaaa 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -1381,11 +1381,8 @@ Partial Class Bancos_IE Dim Banco As New ClsBancos Folio = Banco.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero) Banco.Dispose() - TxtFolio.Text = Folio.ToString - - If Opcion = "DevDinC" Then - TxtFolio.Enabled = False - End If + TxtFolio.Text = Folio.ToString + Else TxtFolio.Text = "" End If @@ -2335,6 +2332,9 @@ Partial Class Bancos_IE CveConceptoContable = 30 'Bancos CvePlantillaPoliza = 12 End If + End If + If Opcion = "DevDinC" Then + CvePlantillaPoliza = 2 End If 'Cuando es Egreso sin factura, se registra una compra tipo anticipo @@ -2689,10 +2689,12 @@ Partial Class Bancos_IE TipoMovtoIE = True Impo = Math.Abs(Impo) CveConcIE = 78 + IdCtaContableAplicar = UsuarioActual.Empresa.IdCuentaOtrosIngresos Else TipoMovtoIE = False Impo = Math.Abs(Impo) CveConcIE = 211 + IdCtaContableAplicar = UsuarioActual.Empresa.Funcionalidad(266).ToEntero End If If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoIE, Impo, ReferenciaAplicar, CveConcIE, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=Impo, ImporteME:=0) Then @@ -2815,12 +2817,15 @@ Partial Class Bancos_IE TipoMovtoIE = True Impo = Math.Abs(Impo) CveConcIE = 78 + IdCtaContableAplicar = UsuarioActual.Empresa.IdCuentaOtrosIngresos Else TipoMovtoIE = False Impo = Math.Abs(Impo) CveConcIE = 211 + IdCtaContableAplicar = UsuarioActual.Empresa.Funcionalidad(266).ToEntero End If + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoIE, Impo, ReferenciaAplicar, CveConcIE, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=Impo, ImporteME:=0, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 07d75b7e3..4190ddce9 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -2777,8 +2777,14 @@ Partial Class Bancos_ProveedoresAbonar If gr.DataKey("IEPS").ToDecimal > 0 Then Dim IEPS As Decimal = PorcentajePago * gr.DataKey("IEPS").ToDecimal + If ObjConta.GetRetCuenta(25, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero + CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditarSIG").ToString.ToEntero + End If + End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, gr.DataKey("SerieFolio").ToString, 25, ConceptoPartida, Now, IdCtaContable:=CtaProveedor, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=If(CveMoneda = 1, IEPS, IEPS * If(FuncionalidadFluctuacionImpuestos, TCPago, TCCompra)), CveCuenta:=CveCuenta) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, gr.DataKey("SerieFolio").ToString, 25, ConceptoPartida, Now, IdCtaContable:=IdCtaContable, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=If(CveMoneda = 1, IEPS, IEPS * If(FuncionalidadFluctuacionImpuestos, TCPago, TCCompra)), CveCuenta:=CveCuenta) Then MsgError = "Ocurrio un error al saldar el movimiento" End If diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index 126a82d29..de2e1c43d 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -159,12 +159,12 @@ Partial Class Compras_RepNotasCredito If UsaComplementaria AndAlso CveMoneda > 1 Then ImporteComplementaria = (Importe * TCCompra - Importe).RoundSQL IdCtaContableComplementaria = gr.DataKey("IdCtaContComplementaria").ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -ImporteComplementaria, "", 235, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContableComplementaria, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=-ImporteComplementaria, ImporteME:=-ImporteComplementaria, TipoCambioPago:=TC, TipoCambio:=TCCompra) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -ImporteComplementaria, "", 235, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContableComplementaria, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=-ImporteComplementaria, ImporteME:=-Importe, TipoCambioPago:=TC, TipoCambio:=TCCompra) Then MsgError = "Ocurrio un Error al saldar el movimiento" End If End If - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(564).ToString.ToEntero + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(266).ToString.ToEntero If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then MsgError = "Ocurrio un Error al saldar el movimiento" End If diff --git a/Contabilidad/RegPrePoliza.aspx.vb b/Contabilidad/RegPrePoliza.aspx.vb index f982fbcdd..6f9bc23e5 100644 --- a/Contabilidad/RegPrePoliza.aspx.vb +++ b/Contabilidad/RegPrePoliza.aspx.vb @@ -210,6 +210,10 @@ Partial Class ContabilidadC_RegPrePoliza GvConcepto.Columns(4).Visible = False GvMov.Columns(5).Visible = False End If + + If IfNull(Request("Conta"), "").ToString = "1" Then + Contabilizar() + End If Exit Sub Else @@ -1454,8 +1458,17 @@ Partial Class ContabilidadC_RegPrePoliza Private Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click + Contabilizar() + + End Sub + + Private Sub Contabilizar() Dim ObjConta As New ClsContabilidad + If IdPoliza > 0 Then 'si está bloqueada, lo desbloqueaprimero + ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) + End If + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, pIDPoliza:=If(IdPoliza > 0, IdPoliza, -1)) Then Alert(String.Format("Prepóliza contabilizada.

Folio:Ver Póliza", ObjConta.ContaIdPoliza), ModExtensiones.TipoMensaje.MsgInformacion) Else @@ -1463,14 +1476,13 @@ Partial Class ContabilidadC_RegPrePoliza Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia) End If - ObjConta.Dispose() - - - End Sub - - + ObjConta.Dispose() + End Sub + + + #Region "COMPLEMENTO DE PAGO" - + Private Sub GeneraTimbre(CvePrePoliza As Integer) Dim Str As New StringBuilder Dim Banco As New ClsBancos diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index b638735ae..44fcd83b9 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -321,7 +321,7 @@ - + diff --git a/OC/CotizacionEnLinea.aspx.vb b/OC/CotizacionEnLinea.aspx.vb index 25a94b4e7..24b9e12cf 100644 --- a/OC/CotizacionEnLinea.aspx.vb +++ b/OC/CotizacionEnLinea.aspx.vb @@ -115,6 +115,15 @@ Partial Class OC_CotizacionEnLinea CType(Me.Master, Site).EsPopup = True CType(Me.Master, Site).PopupWidth = 670 + + If Request("CvePrePoliza") IsNot Nothing AndAlso IsNumeric(Request("CvePrePoliza")) AndAlso Request("CvePrePoliza").ToEntero > 0 Then + + If IfNull(Request("Conta"), "").ToString = "1" Then + Contabilizar(Request("CveEmpresa").ToEntero, Request("CvePrePoliza").ToEntero, Request("IdPoliza").ToEntero) + End If + Exit Sub + End If + 'Validar que este activo aun el link 'ViewState("CveOrdenCompra") = If(Not Request("CveOrdenCompra") Is Nothing AndAlso Request("CveOrdenCompra").ToString.ToEntero > 0, Request("CveOrdenCompra").ToEntero, 0) 'ViewState("CveProveedor") = If(Not Request("CveProveedor") Is Nothing AndAlso Request("CveProveedor").ToString.ToEntero > 0, Request("CveProveedor").ToEntero, 0) @@ -147,6 +156,32 @@ Partial Class OC_CotizacionEnLinea End If End Sub + + Private Sub Contabilizar(CveEmpresa As Integer, CvePrePoliza As Integer, IdPoliza As Integer) + Dim ObjConta As New ClsContabilidad + + If IdPoliza > 0 Then 'si está bloqueada, lo desbloqueaprimero + ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) + End If + Dim Emp As Empresa = Nothing + Dim Empr As New ClsSisEmpresas + If Empr.GetEmpresas(CveEmpresa, "-1", "-1", "-1", "-1") Then + Emp = Empr.Empresa + End If + + Empr.Dispose() + + + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, 100, Emp, pIDPoliza:=If(IdPoliza > 0, IdPoliza, -1)) Then + ' Alert(String.Format("Prepóliza contabilizada.

Folio:Ver Póliza", ObjConta.ContaIdPoliza), ModExtensiones.TipoMensaje.MsgInformacion) + Else + + 'Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia) + End If + + ObjConta.Dispose() + End Sub + Protected Sub CargaMonedas() Dim objMonedas As New ClsMonedas diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 19f3c25a7..6c13eb26c 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -5221,7 +5221,8 @@ 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 * TxtPUFactura.Text.ToDouble).FormatoNumero + + TxtImporteAjuste.Text = (TxtPorcentajeAjuste.Text.ToDecimal * TxtPUFactura.Text.ToDecimal).FormatoNumero Dim CargoVendido As Decimal = 0 Dim CargoGarantia As Decimal = 0 @@ -5255,7 +5256,7 @@ Partial Class PV CargoGarantia = CargoVendido End If TxtImporteAjuste.ToolTip = $"La diferencia de ajuste fue: {(TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble).FormatoNumero()}. La diferencia de tamaños fue: {(CargoVendido - CargoGarantia).FormatoNumero}." - TxtImporteAjuste.Text = ((TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia)).FormatoNumero + TxtImporteAjuste.Text = ((TxtPUFactura.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) - (CargoVendido - CargoGarantia)).FormatoNumero End If End If @@ -5312,7 +5313,7 @@ Partial Class PV TmpDTAjustes.Rows(IndexAjuste)("Consecutivo") = TxtConsecutivoAjuste.Text TmpDTAjustes.Rows(IndexAjuste)("FechaAjuste") = TxtFechaAjuste.Text.ToDate TmpDTAjustes.Rows(IndexAjuste)("Meses") = TxtMesesUso.Text.ToDouble - TmpDTAjustes.Rows(IndexAjuste)("PorcentajeAjuste") = TxtPorcentajeAjuste.Text + TmpDTAjustes.Rows(IndexAjuste)("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDecimal TmpDTAjustes.Rows(IndexAjuste)("NumPoliza") = TxtPoliza.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("Importe") = TxtImporteAjuste.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("ConsecutivoVenta") = ConsecutivoVenta @@ -5346,7 +5347,7 @@ Partial Class PV End If End If - Dr("Descuento") = Math.Round(TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble, NumeroDecimales) + Dr("Descuento") = Math.Round(TxtImporteAjuste.Text.ToDouble, NumeroDecimales) 'Dr("Descuento") = Math.Round((TxtPrecio.Text.ToDouble - TxtImporteAjuste.Text.ToDouble) + (CargoActual - CargoAnterior), NumeroDecimales) If Dr("Descuento").ToString.ToDouble > TxtPrecio.Text.ToDouble Then Dr("Descuento") = TxtPrecio.Text.ToDouble diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 90512e0f7..6bddfcbc1 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -7237,27 +7237,6 @@ Partial Class Ventas ObjFacturaDevolucion.Det_FechaOrdenCompra = TxtDet_FechaOrdenCompra.Text.Trim ObjFacturaDevolucion.MonedaAbreviatura = "" - 'DETALLES - If NCDescuento Then - PreparaNCDescuento(ObjFacturaDevolucion) - Else - ObjFacturaDevolucion.DtDetalle = TmpDT - - ObjFacturaDevolucion.SubTotal = TxtSubTotal.Text.ToDecimal - ObjFacturaDevolucion.Descuento = LblDescuentos.Text.Trim.ToDecimal - ObjFacturaDevolucion.Amortizacion = LblAmortizacion.Text.Trim.ToDecimal - ObjFacturaDevolucion.IVA = TxtIVA.Text.ToDecimal - ObjFacturaDevolucion.RetIVA = TxtRetIVA.Text.ToDecimal - ObjFacturaDevolucion.RetISR = TxtRetISR.Text.ToDecimal - ObjFacturaDevolucion.IEPS = TxtIEPS.Text.ToDecimal - ObjFacturaDevolucion.Total = TxtTotal.Text.ToDecimal - End If - 'Totales, Y se llena TmpDTImpuestos - - 'ObjFactura.BZDescripcion = TxtBZDescripcion.Text.Trim - 'ObjFactura.BZNombreCorto = TxtBZNombreCorto.Text.Trim - 'ObjFactura.BZTotalLetra = TxtBZTotalLetra.Text.Trim - If TmpDTImpuestos Is Nothing Then CreaDTImpuestos() Else @@ -7304,6 +7283,30 @@ Partial Class Ventas ObjFacturaDevolucion.DtDeduccion = TmpDTImpuestos.FiltraParametros("", Orderby:="Orden ASC") + 'DETALLES + If NCDescuento Then + PreparaNCDescuento(ObjFacturaDevolucion) + Else + ObjFacturaDevolucion.DtDetalle = TmpDT + + ObjFacturaDevolucion.SubTotal = TxtSubTotal.Text.ToDecimal + ObjFacturaDevolucion.Descuento = LblDescuentos.Text.Trim.ToDecimal + ObjFacturaDevolucion.Amortizacion = LblAmortizacion.Text.Trim.ToDecimal + ObjFacturaDevolucion.IVA = TxtIVA.Text.ToDecimal + ObjFacturaDevolucion.RetIVA = TxtRetIVA.Text.ToDecimal + ObjFacturaDevolucion.RetISR = TxtRetISR.Text.ToDecimal + ObjFacturaDevolucion.IEPS = TxtIEPS.Text.ToDecimal + ObjFacturaDevolucion.TotalImpuestoLocal = ObjFacturaDevolucion.DtDeduccion.SUMD("Importe", "TipoImpuesto = 1") + ObjFacturaDevolucion.Total = TxtTotal.Text.ToDecimal + End If + 'Totales, Y se llena TmpDTImpuestos + + 'ObjFactura.BZDescripcion = TxtBZDescripcion.Text.Trim + 'ObjFactura.BZNombreCorto = TxtBZNombreCorto.Text.Trim + 'ObjFactura.BZTotalLetra = TxtBZTotalLetra.Text.Trim + + + 'otros ObjFacturaDevolucion.Det_FechaOrdenCompra = TxtDet_FechaOrdenCompra.Text.Trim ObjFacturaDevolucion.Det_OrdenCompra = TxtDet_OrdenCompra.Text.Trim @@ -7475,7 +7478,7 @@ Partial Class Ventas Dim TotalRetIVA As Decimal = tmpcon.SUM("ImporteRetIVA").ToDecimal Dim TotalRetISR As Decimal = tmpcon.SUM("ImporteRetISR").ToDecimal Dim Total As Decimal = 0 - Dim TotalImpuestosLocales As Decimal = 0 + Dim TotalImpuestosLocales As Decimal = factura.TotalImpuestoLocal.ToString.ToDecimal Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales) factura.SubTotal = TotalSubTotal @@ -9148,7 +9151,8 @@ Partial Class Ventas 'Contratos If factura.CveContrato > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing") Then GuardarContratoAvanceEstimaciones(ObjContr, factura, ErrorList, 1) - ElseIf factura.CveContrato > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Egs", "Dev") Then + '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 DdlTipoComprobante.SelectedValue.Contiene("Egs", "Dev") AndAlso Not EsNCAmortizacion Then GuardarContratoAvanceEstimaciones(ObjContr, factura, ErrorList, -1) End If @@ -23442,19 +23446,19 @@ Partial Class Ventas Private Sub CalculaUsados() - If ClienteEsDistribuidor Then + '' If ClienteEsDistribuidor Then - Dim DTTamanios As New DataTable - Dim ObjAcum As New ClsAcumuladores + Dim DTTamanios As DataTable = Nothing + ' Dim ObjAcum As New ClsAcumuladores - If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then + 'If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then - DTTamanios = ObjAcum.DtResultados + DTTamanios = GlobalDTAcumTamaños() 'ObjAcum.DtResultados - Dim DTCvePSCostos As New DataTable - DTCvePSCostos = ObjAcum.DtResultados.FiltraParametros("", "", {"CvePSCargo"}) + Dim DTCvePSCostos As DataTable + DTCvePSCostos = DTTamanios.FiltraParametros("", "", {"CvePSCargo"}) - If Not TmpDT.Columns.Contains("Eliminar") Then + If Not TmpDT.Columns.Contains("Eliminar") Then TmpDT.Columns.Add("Eliminar", GetType(Integer)) End If @@ -23579,10 +23583,10 @@ Partial Class Ventas Next ObjProductosServicios.Dispose() - End If + 'End If - ObjAcum.Dispose() - End If + ' ObjAcum.Dispose() + 'End If End Sub