Correcion de cancelacion de facturas en dolares
This commit is contained in:
@@ -447,18 +447,7 @@ Namespace Modelos
|
|||||||
Private Sub IniciaValoresVentas()
|
Private Sub IniciaValoresVentas()
|
||||||
If CveVenta > 0 AndAlso CveEmpresa > 0 Then
|
If CveVenta > 0 AndAlso CveEmpresa > 0 Then
|
||||||
Me.DtAnticipos = New DataTable()
|
Me.DtAnticipos = New DataTable()
|
||||||
Dim ObjVentas As New ClsVentas
|
Me.DtAntNCVinculadas = New DataTable()
|
||||||
'CARGA PROMOCIONES
|
|
||||||
If ObjVentas.GetPromocionesPS(-1, Me.Fecha, Me.CveSubProyecto, CveCliente, Me.CveVendedor, Me.CveEmpresa) Then
|
|
||||||
Me.DtPromociones = ObjVentas.DtResultados.Copy()
|
|
||||||
End If
|
|
||||||
'CARGA FIRMAS
|
|
||||||
If ObjVentas.GetVentasFirmas(CveVenta) Then
|
|
||||||
If ObjVentas.DtResultados.Rows.Count > 0 Then
|
|
||||||
DtFirmas = ObjVentas.DtResultados.Copy()
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
ObjVentas.Dispose()
|
|
||||||
Me.DtPagos = New DataTable()
|
Me.DtPagos = New DataTable()
|
||||||
Me.DtRemisiones = New DataTable()
|
Me.DtRemisiones = New DataTable()
|
||||||
Me.DtInventario = New DataTable()
|
Me.DtInventario = New DataTable()
|
||||||
@@ -473,7 +462,48 @@ Namespace Modelos
|
|||||||
Me.DtImpuestosLocales = New DataTable()
|
Me.DtImpuestosLocales = New DataTable()
|
||||||
Me.DtOtrosConceptos = New DataTable()
|
Me.DtOtrosConceptos = New DataTable()
|
||||||
Me.CveContratoSecciones = ""
|
Me.CveContratoSecciones = ""
|
||||||
'Me.DtInventario = DtDetalle.FiltraParametros("CveTipoPS = 2")
|
|
||||||
|
Dim ObjVentas As New ClsVentas
|
||||||
|
'CARGA PROMOCIONES
|
||||||
|
If ObjVentas.GetPromocionesPS(-1, Me.Fecha, Me.CveSubProyecto, CveCliente, Me.CveVendedor, Me.CveEmpresa) Then
|
||||||
|
Me.DtPromociones = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
|
||||||
|
'CARGA FIRMAS
|
||||||
|
If ObjVentas.GetVentasFirmas(CveVenta) Then
|
||||||
|
If ObjVentas.DtResultados.Rows.Count > 0 Then
|
||||||
|
Me.DtFirmas = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
'CARGA ANTICIPOS
|
||||||
|
If Not (CveRemision > 0 Or CveCotizacion > 0) Then
|
||||||
|
If TipoDocto.Contiene("Ing", "Ant", "Rem") Then
|
||||||
|
'carga as notas de credito vinculadas
|
||||||
|
If ObjVentas.GetVentasAntNC(CveVenta, -1) Then
|
||||||
|
Me.DtAntNCVinculadas = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If TipoDocto.Contiene("Egs", "Dev", "Ant") Then
|
||||||
|
If ObjVentas.GetVentasAntNC(-1, CveVenta) Then
|
||||||
|
Me.DtNCVinculadas = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjVentas.GetVentaOtrosConceptos(UsuarioActual.CveEmpresa, CveVenta) Then
|
||||||
|
Me.DtOtrosConceptos = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
|
||||||
|
ObjVentas.Dispose()
|
||||||
|
|
||||||
|
'Dim ObjMovtos As New ClsMovimientos()
|
||||||
|
'If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente, CveMoneda) Then
|
||||||
|
' Me.DtAnticipos = ObjMovtos.DtResultados.FiltraParametros($"Saldo > 0 AND SaldoSubtotal > 0 {If(CveVenta < 0, "AND Tipo = 'Ant'", "")} {If(TipoDocto = "Ant", "AND Tipo = 'NC'", "")}")
|
||||||
|
'End If
|
||||||
|
'ObjMovtos.Dispose()
|
||||||
|
|
||||||
If Me.RealizarDevolucionAlmacen Then
|
If Me.RealizarDevolucionAlmacen Then
|
||||||
Me.CveAlmacenDevolucion = Me.CveAlmacenDevolucionVenta
|
Me.CveAlmacenDevolucion = Me.CveAlmacenDevolucionVenta
|
||||||
@@ -1875,10 +1905,13 @@ Namespace Modelos
|
|||||||
Select Case ConceptoContable
|
Select Case ConceptoContable
|
||||||
Case 1 'Cliente
|
Case 1 'Cliente
|
||||||
If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem", "RNC") Then
|
If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem", "RNC") Then
|
||||||
importeMovimiento = ((ObjFactura.Total - ObjFactura.TotalOtrosConceptos) * ValorMultiplicador)
|
importeMovimiento = (ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador
|
||||||
importeMX = (importeMovimiento * tipoCambio * Multiplicador)
|
importeMX = importeMovimiento * tipoCambio * Multiplicador
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
FechaMovimiento = ObjFactura.FechaPago
|
||||||
CveSubProyectoContabilizar = CveSubProyectoVenta
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
|
'If ObjFactura.TipoDocto.Contiene("Ant") Then
|
||||||
|
' TipoMovimiento = Not TipoMovimiento 'lo contrario a ingreso, en este caso es anticipo
|
||||||
|
'End If
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||||
|
|
||||||
If tipoCambio = 1 Then
|
If tipoCambio = 1 Then
|
||||||
@@ -1886,12 +1919,11 @@ Namespace Modelos
|
|||||||
CveCuenta = ObjFactura.Cliente.CveCuentaClientes
|
CveCuenta = ObjFactura.Cliente.CveCuentaClientes
|
||||||
Else
|
Else
|
||||||
IdCtaContable = ObjFactura.Cliente.IdCtaContComplementaria
|
IdCtaContable = ObjFactura.Cliente.IdCtaContComplementaria
|
||||||
CveCuenta = ObjFactura.Cliente.CveCuentaComplementaria
|
CveCuenta = 0
|
||||||
If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0 Or UsuarioActual.CveEmpresa = 119) Then
|
|
||||||
|
If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0 Or UsaComplementariaClientes) Then
|
||||||
importeMX = importeMovimiento
|
importeMX = importeMovimiento
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, 0, Referencia, 203, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta,
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, 0, Referencia, 203, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Math.Round(importeMovimiento * tipoCambio - importeMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||||
CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento),
|
|
||||||
TipoCambio:=tipoCambio, CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -1949,7 +1981,7 @@ Namespace Modelos
|
|||||||
Case 277 'Remisión del cliente
|
Case 277 'Remisión del cliente
|
||||||
|
|
||||||
If ObjFactura.TipoDocto = "RNC" Then
|
If ObjFactura.TipoDocto = "RNC" Then
|
||||||
importeMovimiento = ((ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador)
|
importeMovimiento = (ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador
|
||||||
importeMX = importeMovimiento * tipoCambio * Multiplicador
|
importeMX = importeMovimiento * tipoCambio * Multiplicador
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
FechaMovimiento = ObjFactura.FechaPago
|
||||||
CveSubProyectoContabilizar = CveSubProyectoVenta
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
@@ -1980,7 +2012,7 @@ Namespace Modelos
|
|||||||
|
|
||||||
Case 12 'Nota de Credito
|
Case 12 'Nota de Credito
|
||||||
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
||||||
importeMovimiento = (ObjFactura.Total * ValorMultiplicador)
|
importeMovimiento = ObjFactura.Total * ValorMultiplicador
|
||||||
importeMX = (importeMovimiento * tipoCambio * Multiplicador).RoundSQL
|
importeMX = (importeMovimiento * tipoCambio * Multiplicador).RoundSQL
|
||||||
FechaMovimiento = ObjFactura.FechaPago
|
FechaMovimiento = ObjFactura.FechaPago
|
||||||
Dim ImporteConcepto12 As Decimal = 0
|
Dim ImporteConcepto12 As Decimal = 0
|
||||||
@@ -1990,13 +2022,14 @@ Namespace Modelos
|
|||||||
If tipoCambio = 1 Then
|
If tipoCambio = 1 Then
|
||||||
IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
|
IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
|
||||||
CveCuenta = ObjFactura.Cliente.CveCuentaClientes
|
CveCuenta = ObjFactura.Cliente.CveCuentaClientes
|
||||||
Else
|
ElseIf UsaComplementariaClientes Then
|
||||||
IdCtaContable = ObjFactura.Cliente.IdCtaContMonedaExtranjera
|
|
||||||
|
IdCtaContable = ObjFactura.Cliente.IdCtaContComplementaria
|
||||||
CveCuenta = 0
|
CveCuenta = 0
|
||||||
|
|
||||||
If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0 Or UsaComplementariaClientes) Then
|
If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0 Or UsaComplementariaClientes) Then
|
||||||
importeMX = importeMovimiento
|
importeMX = importeMovimiento
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, 0, Referencia, 203, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, 0, Referencia, 203, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Math.Round(importeMovimiento * tipoCambio - importeMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -2155,30 +2188,74 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'APLICA DEVOLUCION SALDOS DIRECTOS
|
'APLICA DEVOLUCION SALDOS DIRECTOS
|
||||||
If AplicaDevolucion Then
|
If ObjFactura.AplicaDevolucion Then
|
||||||
|
Dim TipoCambioFactura = ObjFactura.TipoCambio
|
||||||
Dim importeMovimientoDev = ObjFactura.Total
|
Dim importeMovimientoDev = ObjFactura.Total
|
||||||
importeMovimientoDev = If(ObjFactura.SaldoVentaDevolucion < importeMovimientoDev, ObjFactura.SaldoVentaDevolucion, importeMovimientoDev)
|
importeMovimientoDev = If(ObjFactura.SaldoVentaDevolucion < importeMovimientoDev, ObjFactura.SaldoVentaDevolucion, importeMovimientoDev)
|
||||||
If importeMovimientoDev > 0 Then
|
If importeMovimientoDev > 0 Then
|
||||||
Dim importeMXDev = importeMovimientoDev * tipoCambio * Multiplicador
|
Dim importeMXDev = importeMovimientoDev * tipoCambio * Multiplicador
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimientoDev.FormatoNumero(2)}"
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimientoDev.FormatoNumero(2)}"
|
||||||
|
|
||||||
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimientoDev, Referencia, 251, Concepto,
|
If UsaComplementariaClientes AndAlso tipoCambio > 1 Then
|
||||||
FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVentaDevolucion,
|
importeMXDev = importeMovimientoDev
|
||||||
CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMXDev,
|
Dim ImporteComplementaria As Decimal = ((importeMovimientoDev * tipoCambio) - importeMovimientoDev).RoundSQL
|
||||||
ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev),
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimientoDev, Referencia, 203, Concepto, FechaMovimiento, IdCtaContableClienteComplementaria, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=CveVentaDevolucion, ImporteMX:=ImporteComplementaria, ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev), CveSubProyecto:=CveSubProyectoContabilizar, TipoCambio:=tipoCambio, TipoCambioPago:=TipoCambioFactura) Then
|
||||||
CveSubProyecto:=CveSubProyectoContabilizar) Then
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimientoDev, Referencia, 91, Concepto,
|
|
||||||
FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta,
|
|
||||||
CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=CveVentaDevolucion,
|
|
||||||
ImporteMX:=importeMXDev, ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev),
|
|
||||||
CveSubProyecto:=CveSubProyectoContabilizar) Then
|
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Else
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimientoDev, Referencia, 91, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=CveVentaDevolucion, ImporteMX:=importeMXDev, ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev), CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If UsaComplementariaClientes AndAlso TipoCambioFactura > 1 Then
|
||||||
|
importeMXDev = importeMovimientoDev
|
||||||
|
Dim ImporteComplementaria As Decimal = ((importeMovimientoDev * TipoCambioFactura) - importeMovimientoDev).RoundSQL
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimientoDev, Referencia, 207, Concepto, FechaMovimiento, IdCtaContableClienteComplementaria, -1, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteComplementaria, ImporteME:=If(TipoCambioFactura = 1, 0, importeMovimientoDev), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=TipoCambioFactura) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimientoDev, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteMX:=importeMXDev, ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev), CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
|
||||||
|
If tipoCambio <> TipoCambioFactura Then
|
||||||
|
Dim difFluctuacion As Decimal = tipoCambio - TipoCambioFactura
|
||||||
|
Dim CveConceptoFluctua As Integer = 64 '64.ganacia, 65.perdida
|
||||||
|
Dim TipoMovtoFluctua As Boolean = True
|
||||||
|
Dim IdCtaContableFluctua As Integer
|
||||||
|
If difFluctuacion < 0 Then
|
||||||
|
CveConceptoFluctua = 65
|
||||||
|
TipoMovtoFluctua = False
|
||||||
|
IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
|
||||||
|
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
|
||||||
|
Else
|
||||||
|
CveConceptoFluctua = 64
|
||||||
|
TipoMovtoFluctua = True
|
||||||
|
IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
|
||||||
|
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
|
||||||
|
End If
|
||||||
|
Dim ImporteFluctuacion As Decimal = Math.Abs((importeMovimientoDev * difFluctuacion).RoundSQL)
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovtoFluctua, ImporteFluctuacion, Referencia, CveConceptoFluctua, Concepto, FechaMovimiento, IdCtaContableFluctua, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=CveVentaDevolucion, ImporteMX:=ImporteFluctuacion, ImporteME:=ImporteFluctuacion, CveSubProyecto:=CveSubProyectoContabilizar, TipoCambio:=tipoCambio, TipoCambioPago:=TipoCambioFactura, CveCuenta:=CveCuenta) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 5) Then
|
||||||
|
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||||
|
'ErrorPrepoliza = True
|
||||||
|
GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -2188,9 +2265,9 @@ Namespace Modelos
|
|||||||
Case 136 'Otros Conceptos Dinamicos
|
Case 136 'Otros Conceptos Dinamicos
|
||||||
If ObjFactura.DtOtrosConceptos IsNot Nothing Then
|
If ObjFactura.DtOtrosConceptos IsNot Nothing Then
|
||||||
For Each row2 As DataRow In ObjFactura.DtOtrosConceptos.Rows
|
For Each row2 As DataRow In ObjFactura.DtOtrosConceptos.Rows
|
||||||
If row2("CantidadConcepto").ToString().ToDecimal > 0 Then
|
If row2("Importe").ToString().ToDecimal > 0 Then
|
||||||
|
|
||||||
importeMovimiento = (row2("CantidadConcepto").ToString().ToDecimal * ValorMultiplicador)
|
importeMovimiento = (row2("Importe").ToString().ToDecimal * ValorMultiplicador)
|
||||||
CveSubProyectoContabilizar = CveSubProyectoVenta
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||||
|
|
||||||
@@ -2223,6 +2300,29 @@ Namespace Modelos
|
|||||||
Exit Select
|
Exit Select
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If ObjFactura.TipoDocto = "Ing" AndAlso ValorMultiplicador = -1 Then
|
||||||
|
For Each row2 As DataRow In ObjFactura.DtAntNCVinculadas.Rows
|
||||||
|
If row2("CveConceptoContable").ToString().ToEntero = 11 Then
|
||||||
|
importeMovimiento = row2("Importe").ToString().ToDecimal * ValorMultiplicador '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal)
|
||||||
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||||
|
|
||||||
|
IdCtaContable = ObjFactura.Cliente.IdCtaContAnticipos
|
||||||
|
CveCuenta = ObjFactura.Cliente.CveCuentaAnticipos
|
||||||
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2("CveVenta").ToString().ToEntero, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
Exit For
|
||||||
|
Else
|
||||||
|
ObjFactura.SeGuardoPrePoliza = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
'cuando es anticipo
|
'cuando es anticipo
|
||||||
' cuando es amortización de nota de crédito, y es la nc
|
' cuando es amortización de nota de crédito, y es la nc
|
||||||
' cuando es amortización por descuento, y es el ingreso
|
' cuando es amortización por descuento, y es el ingreso
|
||||||
@@ -2231,7 +2331,7 @@ Namespace Modelos
|
|||||||
ObjFactura.CveTipoAmortizacionAnticipo = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
ObjFactura.CveTipoAmortizacionAnticipo = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
||||||
ObjFactura.CveTipoAmortizacionAnticipo = 3 Then
|
ObjFactura.CveTipoAmortizacionAnticipo = 3 Then
|
||||||
|
|
||||||
For Each row2 As DataRow In DtAnticipos.Rows
|
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
||||||
If row2("CveConceptoContable").ToString().ToEntero = 3 Then
|
If row2("CveConceptoContable").ToString().ToEntero = 3 Then
|
||||||
CveIEAnticipo = row2("CveIE").ToString.ToEntero
|
CveIEAnticipo = row2("CveIE").ToString.ToEntero
|
||||||
importeMovimiento = row2("Importe").ToString().ToDecimal() '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal)
|
importeMovimiento = row2("Importe").ToString().ToDecimal() '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal)
|
||||||
@@ -2336,7 +2436,7 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
If DtAnticipos IsNot Nothing Then
|
If ObjFactura.DtAnticipos IsNot Nothing Then
|
||||||
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
||||||
|
|
||||||
If row2("CveConceptoContable").ToString().ToEntero = 12 Then
|
If row2("CveConceptoContable").ToString().ToEntero = 12 Then
|
||||||
@@ -2659,9 +2759,9 @@ Namespace Modelos
|
|||||||
|
|
||||||
|
|
||||||
Case 30 'PAGO - BANCOS
|
Case 30 'PAGO - BANCOS
|
||||||
If DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0 Then
|
If ObjFactura.DtPagos IsNot Nothing AndAlso ObjFactura.DtPagos.Rows.Count > 0 Then
|
||||||
|
|
||||||
For Each DrPago As DataRow In DtPagos.Rows
|
For Each DrPago As DataRow In ObjFactura.DtPagos.Rows
|
||||||
CveIEPago = -1
|
CveIEPago = -1
|
||||||
|
|
||||||
FolioIE = -1
|
FolioIE = -1
|
||||||
@@ -2842,24 +2942,24 @@ Namespace Modelos
|
|||||||
|
|
||||||
If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2) Then
|
If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2) Then
|
||||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||||
ErrorPrepoliza = True
|
If ObjConta.ValorPolizaDescuadre = 2 Then
|
||||||
GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas")
|
ErrorPrepoliza = True
|
||||||
|
Alert(ObjConta.MensajePolizaDescuadre, TipoMensaje.MsgError)
|
||||||
|
GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas")
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'ContPAQ El movimiento 1 es el de Venta
|
'Simplificacion de PrePolizas
|
||||||
If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso Not ErrorPrepoliza Then
|
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
|
||||||
If idCuentaContabilizacion > 0 Then
|
If Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
||||||
If ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=objContPaqi) Then
|
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
|
||||||
Else
|
|
||||||
'ErrorList.Add("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico")
|
|
||||||
'ErrorPrepoliza = True
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
ErrorList.Add(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas))
|
|
||||||
ErrorPrepoliza = True
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
GuardaLog(ex.ToString())
|
GuardaLog(ex.ToString())
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
@@ -4750,6 +4850,7 @@ Namespace Modelos
|
|||||||
Public Property DtFirmas As Data.DataTable
|
Public Property DtFirmas As Data.DataTable
|
||||||
Public Property DtDesgloseImpuestos As Data.DataTable
|
Public Property DtDesgloseImpuestos As Data.DataTable
|
||||||
Public Property DtDocumentosRelacionados As Data.DataTable
|
Public Property DtDocumentosRelacionados As Data.DataTable
|
||||||
|
Public Property DtAntNCVinculadas As Data.DataTable
|
||||||
Public Property DtNCVinculadas As Data.DataTable
|
Public Property DtNCVinculadas As Data.DataTable
|
||||||
|
|
||||||
Public Property DtAnticipos As Data.DataTable
|
Public Property DtAnticipos As Data.DataTable
|
||||||
|
|||||||
Reference in New Issue
Block a user