Cancelacion IE desbloqueo de prepolizas

NC de remision con Generacion de NC de Cargo
This commit is contained in:
Raul Pimienta
2019-08-28 18:06:50 -07:00
parent 022fad4671
commit 89daf03ef8
3 changed files with 92 additions and 37 deletions

View File

@@ -1761,7 +1761,7 @@ Namespace Modelos
CvePlantilaPoliza = 4
ElseIf ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
CvePlantilaPoliza = 7
ElseIf ObjFactura.TipoDocto = "Rem" Then
ElseIf ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
CvePlantilaPoliza = 4
End If
@@ -1818,7 +1818,7 @@ Namespace Modelos
Select Case ConceptoContable
Case 1 'Cliente
If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem") Then
If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem", "RNC") Then
importeMovimiento = ((ObjFactura.Total - ObjFactura.TotalOtrosConceptos) * ValorMultiplicador)
importeMX = (importeMovimiento * tipoCambio * Multiplicador)
FechaMovimiento = ObjFactura.FechaPago
@@ -1888,6 +1888,37 @@ Namespace Modelos
importeMovimiento = 0
ObjFactura.SeGuardoPrePoliza = True
End If
Case 277 'Remisión del cliente
If ObjFactura.TipoDocto = "RNC" Then
importeMovimiento = ((ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador)
importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
CveSubProyectoContabilizar = CveSubProyectoVenta
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
If tipoCambio = 1 Then
IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
CveCuenta = ObjFactura.Cliente.CveCuentaClientes
Else
IdCtaContable = ObjFactura.Cliente.IdCtaContMonedaExtranjera
CveCuenta = ObjFactura.Cliente.CveCuentaMonedaExtranjera
End If
IdCtaContableCliente = IdCtaContable
CveCuentaCliente = CveCuenta
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
Else
ErrorPrepoliza = True
End If
importeMovimiento = 0
ObjFactura.SeGuardoPrePoliza = True
End If
Case 12 'Nota de Credito
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
@@ -2287,7 +2318,7 @@ Namespace Modelos
importeMovimiento = 0
Case 4 'Venta Clasificacion
If Not ObjFactura.TipoDocto.Contiene("Rem", "Ant", "Egs", "Dev") Then
If Not ObjFactura.TipoDocto.Contiene("Rem", "Ant", "Egs", "Dev", "RNC") Then
Dim ConceptoContableAplicar = 4
Dim CveVentaAplicar = ObjFactura.CveVenta
@@ -2442,7 +2473,7 @@ Namespace Modelos
importeMovimiento = 0
Case 103 'Descuento
If Not ObjFactura.TipoDocto.Contiene("Rem") AndAlso ObjFactura.CveTipoAmortizacionAnticipo = -1 Then
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso ObjFactura.CveTipoAmortizacionAnticipo = -1 Then
importeMovimiento = (ObjFactura.Descuento * ValorMultiplicador)
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
@@ -2480,7 +2511,7 @@ Namespace Modelos
End If
Case 8 'Ret IVA por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = (ObjFactura.RetIVA * ValorMultiplicador)
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
@@ -2511,7 +2542,7 @@ Namespace Modelos
End If
Case 9 'Ret ISR por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = (ObjFactura.RetISR * ValorMultiplicador)
importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
@@ -2541,7 +2572,7 @@ Namespace Modelos
End If
End If
Case 13 'Iva por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = (ObjFactura.IVA * ValorMultiplicador)
importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2)
FechaMovimiento = ObjFactura.FechaPago
@@ -2554,7 +2585,7 @@ Namespace Modelos
Case 38 'IEPS por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = (ObjFactura.IEPS * ValorMultiplicador)
importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2)
FechaMovimiento = ObjFactura.Fecha

View File

@@ -1207,10 +1207,10 @@ Partial Class Bancos_IE
If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
If IDCtaBeneficiario = 0 And UsuarioActual.Empresa.UsaContabilidad Then
If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
Alert("El Beneficiario no tiene cuenta contable vinculada. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
ElseIf CveCuentaBeneficiario = 0 And UsuarioActual.Empresa.UsaContabilidadSIG Then
ElseIf CveCuentaBeneficiario = 0 AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then
Alert("El Beneficiario no tiene cuenta contable vinculada en SIG. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
Else
@@ -1260,7 +1260,7 @@ Partial Class Bancos_IE
End If
If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.UsaContabilidad Then
If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
Alert("El Beneficiario no tiene cuenta contable vinculada. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
ElseIf CveCuentaBeneficiario = 0 AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then
@@ -1320,7 +1320,7 @@ Partial Class Bancos_IE
CveCuentaBeneficiario = ObjPersonal.CveCuentaPersonal
If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.UsaContabilidad Then
If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
Alert("El Beneficiario no tiene cuenta contable vinculada. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
ElseIf CveCuentaBeneficiario = 0 AndAlso UsuarioActual.Empresa.UsaContabilidadSIG Then
@@ -1419,7 +1419,7 @@ Partial Class Bancos_IE
DivTarjeta.Visible = False
End If
If Not IDCtaContable > 0 AndAlso UsuarioActual.Empresa.UsaContabilidad Then
If Not IDCtaContable > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
Alert("La Cuenta Bancaria no tiene asignada una cuenta contable", TipoMensaje.MsgAdvertencia)
End If
@@ -3768,10 +3768,10 @@ Partial Class Bancos_IE
End If
Dim Banc As New ClsBancos
Banc.IniciaTransacSQL()
Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL())
Dim ObjAC As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
End If
@@ -3782,7 +3782,7 @@ Partial Class Bancos_IE
Dim IdPolizaNueva = -1
Dim FolioPolizaNueva = -1
If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad)) Then
If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then
If ObjAC Is Nothing Then
ErrorCancelar = True
@@ -3831,20 +3831,38 @@ Partial Class Bancos_IE
Else
'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS
For Each dr As DataRow In dt.Rows
If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then
ErrorCancelar = True
MensajeError = "Error al actualizar Movimientos con importe 0"
Exit For
End If
Next
'SE COMENTO PARA PODER DESBLOQUEAR LA PREPOLIZA Y CREAR UNA NUEVA POLIZA
''LIMPIA POLIZA PONIENDO IMPORTE EN CEROS
'For Each dr As DataRow In dt.Rows
' If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then
' ErrorCancelar = True
' MensajeError = "Error al actualizar Movimientos con importe 0"
' Exit For
' End If
'Next
'AJUSTA POLIZA
If Not ErrorCancelar Then
If Not ObjAC.AjustaPoliza(IDPoliza) Then
''AJUSTA POLIZA
'If Not ErrorCancelar Then
' If Not ObjAC.AjustaPoliza(IDPoliza) Then
' ErrorCancelar = True
' MensajeError = "Error al ajustar poliza negativa"
' End If
'End If
If ObjAC.RemovePoliza(IDPoliza) Then
If Not ObjConta.DesvincularPrePolizaContabilizada(IDPoliza, UsuarioActual.CveEmpresa) Then
ErrorCancelar = True
MensajeError = "Error al ajustar poliza negativa"
MensajeError = "Error al desvincular poliza."
End If
Else
ErrorCancelar = True
MensajeError = "Error al eliminar poliza."
End If
If Not ErrorCancelar Then
If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
ErrorCancelar = True
MensajeError = "Error al desbloquear prepoliza."
End If
End If
@@ -3856,6 +3874,11 @@ Partial Class Bancos_IE
End If
End If
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
ErrorCancelar = True
MensajeError = "Error al contabilizar poliza"
End If
End If
End If
@@ -3955,6 +3978,7 @@ Partial Class Bancos_IE
If ObjAC IsNot Nothing Then ObjAC.Dispose()
Banc.Dispose()
ObjConta.Dispose()
End Sub
Protected Sub BtnDevueltoIE_Click(sender As Object, e As EventArgs)
@@ -3981,7 +4005,7 @@ Partial Class Bancos_IE
Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL)
Dim ObjAC As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
End If
@@ -3991,7 +4015,7 @@ Partial Class Bancos_IE
Dim IdPolizaNueva = -1
Dim FolioPolizaNueva = -1
If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad)) Then
If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then
If ObjAC Is Nothing Then
ErrorCancelar = True
@@ -4311,7 +4335,7 @@ Partial Class Bancos_IE
Dim ErrorCompra = False
'Elimina la poliza
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad) AndAlso IDPoliza > 0 Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IDPoliza > 0 Then
If Not ObjAC.RemovePoliza(IDPoliza) Then
ErrorCompra = True
End If
@@ -4698,7 +4722,7 @@ Partial Class Bancos_IE
End If
End If
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad) AndAlso IDPoliza > 0 Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IDPoliza > 0 Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
If Not ObjAC.RemovePoliza(IDPoliza) Then

View File

@@ -8473,7 +8473,7 @@ Partial Class Clientes
End Sub
Function FolioNotaCredito() As Boolean
Function FolioNotaCredito(Tipo As Integer) As Boolean
FolioNotaAcumulador = 0
SerieNotaAcumulador = ""
@@ -8485,7 +8485,7 @@ Partial Class Clientes
If DTSucursales.Rows.Count > 0 Then
If ObjFolios.GetFolios("Egs", UsuarioActual.CveEmpresa) Then
If ObjFolios.GetFolios(If(Tipo = 1, "RNC", "Egs"), UsuarioActual.CveEmpresa) Then
Dim DT As DataTable
If UsuarioActual.CveSubProyecto > 0 Then
@@ -8862,7 +8862,7 @@ Partial Class Clientes
Dim Folio As Integer = 0
Dim Serie As String = ""
If FolioNotaCredito() Then
If FolioNotaCredito(Tipo) Then
Folio = FolioNotaAcumulador
Serie = SerieNotaAcumulador
End If
@@ -8879,7 +8879,7 @@ Partial Class Clientes
ObjFactura.CveMoneda = 1
ObjFactura.Moneda = "Pesos"
ObjFactura.MonedaSAT = "MXN"
ObjFactura.TipoDocto = "Egs"
ObjFactura.TipoDocto = If(Tipo = 1, "RNC", "Egs")
ObjFactura.Folio = Folio
@@ -9013,7 +9013,7 @@ Partial Class Clientes
End If
If ObjFactura.TipoDocto = "Egs" Then
If ObjFactura.TipoDocto.Contiene("Egs", "RNC") Then
ObjFactura.CveTipoRelacion = -1
End If