diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index e3370d62a..8533730e9 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -631,65 +631,64 @@ Partial Class Compras_ReembolsosComprobaciones
Dim IdCtaOtrosProductos As Integer = 0
Dim CvePrePolizaUnificar As Integer = 0
- 'Conta SIG
- Dim CveCuentaProveedor As Integer = 0
- Dim CveCuentaPersonal As Integer = 0
+
Dim SeUnifico = False
- 'Obtenemos la cuenta del Personal o Caja Chica
- If CveCajaChica > 0 Then
- If ObjMov.GetRetCuenta(30, CveCajaChica) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCuentaBancaria = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ 'Obtenemos la cuenta del Personal o Caja Chica
+ If CveCajaChica > 0 Then
+ If ObjMov.GetRetCuenta(30, CveCajaChica) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCuentaBancaria = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
+ End If
+ End If
+ Else
+ If ObjMov.GetRetCuenta(29, CvePersonal) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaPersonal = ObjMov.DtResultados.Rows(0)("IdCtaContPersonal").ToString.ToEntero
+ End If
End If
End If
- Else
- If ObjMov.GetRetCuenta(29, CvePersonal) Then
+
+ 'Obtenemos la cuenta del IVAxAcreditar
+ If ObjMov.GetRetCuenta(14, UsuarioActual.CveEmpresa) Then
If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaPersonal = ObjMov.DtResultados.Rows(0)("IdCtaContPersonal").ToString.ToEntero
+ IdCtaIVAxAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
End If
End If
- End If
- 'Obtenemos la cuenta del IVAxAcreditar
- If ObjMov.GetRetCuenta(14, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaIVAxAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
+ 'Obtenemos la cuenta del IVAAcreditable
+ If ObjMov.GetRetCuenta(19, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
+ End If
End If
- End If
- 'Obtenemos la cuenta del IVAAcreditable
- If ObjMov.GetRetCuenta(19, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
+ 'Obtenemos la cuenta del RetIVA
+ If ObjMov.GetRetCuenta(15, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaRetIVA = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
End If
- End If
- 'Obtenemos la cuenta del RetIVA
- If ObjMov.GetRetCuenta(15, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaRetIVA = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ 'Obtenemos la cuenta del RetISR
+ If ObjMov.GetRetCuenta(16, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaRetISR = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
+ End If
End If
- End If
- 'Obtenemos la cuenta del RetISR
- If ObjMov.GetRetCuenta(16, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaRetISR = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
-
- 'Obtenemos la cuenta del IdCtaOtrosProductos
- If ObjMov.GetRetCuenta(132, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaOtrosProductos = ObjMov.DtResultados.Rows(0)("IdCtaOtrosProductos").ToString.ToEntero
+ 'Obtenemos la cuenta del IdCtaOtrosProductos
+ If ObjMov.GetRetCuenta(132, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaOtrosProductos = ObjMov.DtResultados.Rows(0)("IdCtaOtrosProductos").ToString.ToEntero
+ End If
End If
End If
'inserto las compras que voy a pagar
For Each gvr As GridViewRow In GvCxP.Rows
-
If gvr.FCCheckBox("Chk").Checked Then
ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}"
Referencia = gvr.DataKey("SerieFolio").ToString
@@ -740,13 +739,21 @@ Partial Class Compras_ReembolsosComprobaciones
Dim ComisionTmp As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
'Otros Ingresos
- If (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
- 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, CveSubProyecto:=gvr.DataKey("CveSubProyecto").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
+ If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso ComisionTmp <> 0 Then
+
+ Dim tOtCveCon As Integer = 211
+ Dim tOtTipoMovto As Boolean = False
+ If ComisionTmp < 0 Then
+ tOtTipoMovto = True : tOtCveCon = 78
+ ComisionTmp = Math.Abs(ComisionTmp)
+ End If
+
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio) Then
MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 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, CveSubProyecto:=gvr.DataKey("CveSubProyecto").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
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, Not tOtTipoMovto, ComisionTmp, Referencia, tOtCveCon, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ComisionTmp), ImporteMX:=ComisionTmp * tipoCambio, Contabilizable:=False) Then
MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
End If
@@ -754,22 +761,21 @@ Partial Class Compras_ReembolsosComprobaciones
If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal) Else PorcentajePago = 1
- If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
-
+ If MsgError = "" AndAlso Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
Dim ImporteMovtoTmp As Decimal = ImporteMovto
- If ComisionTmp < 0 Then
- ImporteMovtoTmp = ImporteMovto + ComisionTmp
- End If
+ 'If ComisionTmp < 0 Then
+ ' ImporteMovtoTmp = ImporteMovto + ComisionTmp
+ 'End If
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovtoTmp, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovtoTmp), ImporteMX:=ImporteMovtoTmp * tipoCambio, CveCuenta:=CveCuentaPersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovtoTmp, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovtoTmp), ImporteMX:=ImporteMovtoTmp * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
MsgError = "Detalle"
End If
End If
'Pago Proveedores
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaProveedor, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
+ If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle"
End If
@@ -824,134 +830,55 @@ Partial Class Compras_ReembolsosComprobaciones
End If
If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then
- Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0
+ Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
Case 1
ConceptoContableRetIVAXAcreditar = 15
ConceptoContableRetIVAAcreditable = 22
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(307).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(307).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(308).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(308).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 307
+ CveFuncAcreditable = 308
Case 2
ConceptoContableRetIVAXAcreditar = 183
ConceptoContableRetIVAAcreditable = 184
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(309).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(309).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(310).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(310).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 309
+ CveFuncAcreditable = 310
Case 3
ConceptoContableRetIVAXAcreditar = 185
ConceptoContableRetIVAAcreditable = 186
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(311).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(311).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(312).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(312).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 311
+ CveFuncAcreditable = 312
Case 4
ConceptoContableRetIVAXAcreditar = 248
ConceptoContableRetIVAAcreditable = 249
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(313).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(313).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(314).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(314).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- Case 5
- ConceptoContableRetIVAXAcreditar = 285
- ConceptoContableRetIVAAcreditable = 286
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(577).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(577).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(578).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 313
+ CveFuncAcreditable = 314
End Select
+
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ If IdCtaRetIVA > 0 Then
+ IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
+ ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then
+ IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero
+ Else
+ If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
+ End If
+ End If
+ If IdCtaRetIVA > 0 Then
+ IdCtaContableRetIVAAcreditable = IdCtaRetIVA
+ ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then
+ IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero
+ Else
+ If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
+ End If
+ End If
+ End If
+
If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
If ImporteMovto = gvr.FCLiteral("LtlSaldo").Text.ToDouble Then
'Agrego el RetIVA
@@ -975,15 +902,47 @@ Partial Class Compras_ReembolsosComprobaciones
MsgError = "Detalle"
End If
End If
+
+ Dim AcreditaISR As Boolean = False
+ If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True
+
+ If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then
+ Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0
+ Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
+ Case 1
+ ConceptoContableRetISRXAcreditar = 16
+ ConceptoContableRetISRAcreditable = 23
+
+ Case 2
+ ConceptoContableRetISRXAcreditar = 243
+ ConceptoContableRetISRAcreditable = 244
+ CveFunc = 309
+ CveFuncAcreditable = 310
+
+ Case 3
+ ConceptoContableRetISRXAcreditar = 327
+ ConceptoContableRetISRAcreditable = 328
+ CveFunc = 311
+
+ End Select
+
+ 'Agrego el RetIVA
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
+ MsgError = "Detalle"
+ End If
+
+ 'Agrego el RetIVA
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
+ MsgError = "Detalle"
+ End If
+ End If
End If
+ Dim SaldoExcedente As Decimal = gvr.FCTextBox("TxtSaldoExcedente").Text.ToDecimal
-
- Dim SaldoExcedente As Double = gvr.FCTextBox("TxtSaldoExcedente").Text.ToDecimal
-
- If UsuarioActual.Empresa.Funcionalidad(506) = "1" And CbPermitirExcedente.Checked = True And SaldoExcedente > 0 Then
+ If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(506) = "1" And CbPermitirExcedente.Checked = True And SaldoExcedente > 0 Then
If DDlPermitirExcedente.SelectedValue = "1" Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=(SaldoExcedente) * tipoCambio, CvePersonal:=CvePersonal, CveCuenta:=CveCuentaProveedor, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=(SaldoExcedente) * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal"
End If
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 132, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaOtrosProductos, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
@@ -991,17 +950,17 @@ Partial Class Compras_ReembolsosComprobaciones
End If
ElseIf DDlPermitirExcedente.SelectedValue = "2" Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CveCuenta:=CveCuentaProveedor, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, SaldoExcedente, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal Excedente"
End If
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 29, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaPersonal, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CveCuenta:=CveCuentaPersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, SaldoExcedente, Referencia, 29, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaPersonal, -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, SaldoExcedente), ImporteMX:=SaldoExcedente * tipoCambio, CvePersonal:=CvePersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal) Then
MsgError = "Detalle Reembolso Personal Excedente"
End If
End If
End If
'Unificamos el cheque y la caja chica con los pagos y facturas
- If Not IdPoliza > 0 AndAlso Not gvr.DataKey("IdPoliza").ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
+ If MsgError = "" AndAlso Not IdPoliza > 0 AndAlso Not gvr.DataKey("IdPoliza").ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
If MsgError = "" Then
'CvePrePolizaUnificar = CvePrePolizaPago
''codigo temoral, RMF. falta criterio de unificacion, en una póliza nueva de diario
@@ -1023,7 +982,7 @@ Partial Class Compras_ReembolsosComprobaciones
End If
'CHEQUE EXCEDENTE - NUEVO
- If ChkChequeExcedente.Checked And ImportePagar > 0 Then
+ If MsgError = "" AndAlso ChkChequeExcedente.Checked And ImportePagar > 0 Then
ImporteMovto = ImportePagar
If ImportePagar = ImporteOriginal Then
@@ -1038,7 +997,7 @@ Partial Class Compras_ReembolsosComprobaciones
If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = (ImporteMovto / gvr.DataKey("Original").ToDecimal).RoundSQL Else PorcentajePago = 1
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=(ImporteMovto * tipoCambio), CveCuenta:=CveCuentaProveedor) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, ImporteMovto, Referencia, CveConceptoContablePago, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=(ImporteMovto * tipoCambio)) Then
MsgError = "Detalle"
Exit For
Else
@@ -1048,7 +1007,7 @@ Partial Class Compras_ReembolsosComprobaciones
'Otros Ingresos
If ChkAjusteOI.Checked Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").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
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, UsuarioActual.Empresa.IdCuentaOtrosIngresos, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio) Then
MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
End If
@@ -1108,110 +1067,59 @@ Partial Class Compras_ReembolsosComprobaciones
End If
If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDecimal > 0 Then
- Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0
+ Dim ConceptoContableRetIVAXAcreditar = 0, ConceptoContableRetIVAAcreditable = 0, IdCtaContableRetIVAXAcreditar = 0, IdCtaContableRetIVAAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
Case 1
ConceptoContableRetIVAXAcreditar = 15
ConceptoContableRetIVAAcreditable = 22
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(307).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(307).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(308).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(308).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 307
+ CveFuncAcreditable = 308
+
Case 2
ConceptoContableRetIVAXAcreditar = 183
ConceptoContableRetIVAAcreditable = 184
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(309).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(309).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(310).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(310).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 309
+ CveFuncAcreditable = 310
+
Case 3
ConceptoContableRetIVAXAcreditar = 185
ConceptoContableRetIVAAcreditable = 186
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(311).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(311).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(312).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(312).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 311
+ CveFuncAcreditable = 312
+
Case 4
ConceptoContableRetIVAXAcreditar = 248
ConceptoContableRetIVAAcreditable = 249
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(313).ToEntero > 0 Then
- IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(313).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- If IdCtaRetIVA > 0 Then
- IdCtaContableRetIVAAcreditable = IdCtaRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(314).ToEntero > 0 Then
- IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(314).ToEntero
- Else
- If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
+ CveFunc = 313
+ CveFuncAcreditable = 314
+
End Select
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ If IdCtaRetIVA > 0 Then
+ IdCtaContableRetIVAXAcreditar = IdCtaRetIVA
+ ElseIf UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero > 0 Then
+ IdCtaContableRetIVAXAcreditar = UsuarioActual.Empresa.Funcionalidad(CveFunc).ToEntero
+ Else
+ If ObjMov.GetRetCuenta(ConceptoContableRetIVAXAcreditar, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRetIVAXAcreditar = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
+ End If
+ End If
+ If IdCtaRetIVA > 0 Then
+ IdCtaContableRetIVAAcreditable = IdCtaRetIVA
+ ElseIf UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero > 0 Then
+ IdCtaContableRetIVAAcreditable = UsuarioActual.Empresa.Funcionalidad(CveFuncAcreditable).ToEntero
+ Else
+ If ObjMov.GetRetCuenta(ConceptoContableRetIVAAcreditable, UsuarioActual.CveEmpresa) Then
+ If ObjMov.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRetIVAAcreditable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
+ End If
+ End If
+ End If
+ End If
+
'Agrego el RetIVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetIVAXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetIVAXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
MsgError = "Detalle"
@@ -1223,10 +1131,44 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
+ Dim AcreditaISR As Boolean = False
+ If UsuarioActual.CveEmpresa = 140 Then AcreditaISR = True
+
+ If MsgError = "" AndAlso AcreditaISR AndAlso gvr.DataKey("RetISR").ToDecimal > 0 Then
+ Dim ConceptoContableRetISRXAcreditar = 0, ConceptoContableRetISRAcreditable = 0, IdCtaContableRetISRXAcreditar = 0, IdCtaContableRetISRAcreditable = 0, CveFunc = 0, CveFuncAcreditable = 0
+ Select Case gvr.DataKey("CveRetIVAConcepto").ToEntero
+ Case 1
+ ConceptoContableRetISRXAcreditar = 16
+ ConceptoContableRetISRAcreditable = 23
+
+ Case 2
+ ConceptoContableRetISRXAcreditar = 243
+ ConceptoContableRetISRAcreditable = 244
+ CveFunc = 309
+ CveFuncAcreditable = 310
+
+ Case 3
+ ConceptoContableRetISRXAcreditar = 327
+ ConceptoContableRetISRAcreditable = 328
+ CveFunc = 311
+
+ End Select
+
+ 'Agrego el RetIVA
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, False, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRXAcreditar, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRXAcreditar, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
+ MsgError = "Detalle"
+ End If
+
+ 'Agrego el RetIVA
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, Referencia, ConceptoContableRetISRAcreditable, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaContableRetISRAcreditable, -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("RetISR").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("RetISR").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaExcedente, CvePersonal:=CvePersonal) Then
+ MsgError = "Detalle"
+ End If
+ End If
+
End If
- If ImportePagar = ImporteOriginal Then
+ If MsgError = "" AndAlso ImportePagar = ImporteOriginal Then
'Unificamos el cheque y la caja chica con los pagos y facturas
If gvr.DataKey("IdPoliza").ToEntero = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
If Not ObjMov.PrePolizaUnificacion(CvePrePolizaExcedente, CvePrePolizaPago) Then
@@ -1277,7 +1219,6 @@ Partial Class Compras_ReembolsosComprobaciones
End If
If MsgError.Trim = "" Then
- 'Conta SIG AUTOMATICA
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
If UsuarioActual.CveEmpresa = 119 Then
@@ -1358,12 +1299,21 @@ Partial Class Compras_ReembolsosComprobaciones
If CvePrePolizaExcedente > 0 Then
Mensaje.AppendFormat("Abono Registrado Correctamente.
Cheque: {1}
Imprimir", CveIEExcedente, TxtFolio.Text, Encripta(String.Format("OP=ImprimeMov&CveIE={0}", CveIEExcedente)))
- Mensaje.AppendFormat("
Póliza: {1}
", ObjMov.ContaIdPoliza, ObjMov.ContaFolio)
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ Mensaje.AppendFormat("
Póliza: {1}
", ObjMov.ContaIdPoliza, ObjMov.ContaFolio)
+ Else
+ Mensaje.AppendFormat("
Póliza: {1}
", CvePrePolizaExcedente, ObjMov.ContaFolio)
+ End If
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
Else
Mensaje.AppendFormat("Abono Registrado Correctamente.
Imprimir", Encripta(String.Format("OP=ImprimeMov&CveIE={0}", CveIERegistrado)))
If CvePrePolizaIERegistrado > 0 Then
- Mensaje.AppendFormat("
Póliza: {1}
", ObjMov.ContaIdPoliza, ObjMov.ContaFolio)
+ If UsuarioActual.Empresa.TipoContabilidad = 2 Then
+ Mensaje.AppendFormat("
Póliza: {1}
", ObjMov.ContaIdPoliza, ObjMov.ContaFolio)
+ Else
+ Mensaje.AppendFormat("
Póliza: {1}
", CvePrePolizaIERegistrado, ObjMov.ContaFolio)
+ End If
+
End If
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
End If
@@ -1735,163 +1685,19 @@ Partial Class Compras_ReembolsosComprobaciones
#Region "VIATICOS"
Protected Sub ChkAplicaViatico_CheckedChanged(sender As Object, e As EventArgs)
- If ChkAplicaViatico.Checked Then
- Dim Retorno = TimbrarNomina12(DdlPersonal.SelectedValue.ToEntero)
- If Retorno <> "" Then
- Alert(Retorno, TipoMensaje.MsgError)
- Else
- Dim SerieFolio = $"VIA-{Folio}"
- Dim Msg As New StringBuilder
- Msg.AppendFormat("", Encripta(String.Format("OP=DesXmlVIA&SERIEFOLIO={0}&TIPO={1}", SerieFolio, "Viaticos Comprobados")))
- Alert(Msg.ToString)
- End If
- End If
+ ' If ChkAplicaViatico.Checked Then
+ ' Dim Retorno = TimbrarNomina12(DdlPersonal.SelectedValue.ToEntero)
+ ' If Retorno <> "" Then
+ ' Alert(Retorno, TipoMensaje.MsgError)
+ ' Else
+ ' Dim SerieFolio = $"VIA-{Folio}"
+ ' Dim Msg As New StringBuilder
+ ' Msg.AppendFormat("", Encripta(String.Format("OP=DesXmlVIA&SERIEFOLIO={0}&TIPO={1}", SerieFolio, "Viaticos Comprobados")))
+ ' Alert(Msg.ToString)
+ ' End If
+ ' End If
End Sub
- Private Function TimbrarNomina12(CvePersonal As Integer) As String
- Dim Retorno As String = ""
- UsuarioActual.Empresa.CvePAC = 2
- Dim sw As New Diagnostics.Stopwatch
- sw.Start()
- Select Case UsuarioActual.Empresa.CvePAC
- Case 1
- 'Retorno = TimbrarBIInformNomina12(CveNomina, CvePersonal, CvePeriodo)
- Case 2, 4
- Dim cfdi As CFDITimbre = PreTimbrar(CvePersonal)
- If cfdi Is Nothing Then
- sw.Stop()
- Return "No tiene asignado un folio de viaticos"
- End If
- If cfdi IsNot Nothing AndAlso cfdi.Mensaje = "" Then
- Dim ObjTimbrado As New Timbrado
- Dim ObjFactura As New Modelos.Factura
- ObjFactura.TipoDocto = "Viaticos Comprobados"
- ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero
- ObjFactura.Serie = cfdi.Comprobante.Serie
- ObjFactura.Timbre = cfdi
- If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then
- Retorno = ObjTimbrado.MensajeErrorCFDI
- End If
-
- 'Retorno = TimbrarFacturaRealVirtual(cfdi, UsuarioActual)
- If Retorno <> "" Then
- Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}"
- Else
- 'Genero la addenda Ford
- ' GeneraPDFNuevo(String.Format("{0}XML\Nomina\{1}.xml", Ruta, NominaFolio), CvePersonal, CvePeriodo)
- End If
- Else
- Retorno = $"No se pudo generar el pretimbre:
{cfdi.Mensaje}"
- End If
- End Select
- sw.Stop()
- GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC, "Nomina")
-
- Return Retorno
-
- End Function
-
- Private Function PreTimbrar(CvePersonal As Integer) As CFDITimbre
- Dim cfdi As New CFDITimbre
- Dim ObjFolio As New ClsGralFolios
- If ObjFolio.GetFolios("VIA", UsuarioActual.CveEmpresa) Then
- If ObjFolio.DtResultados.Rows.Count > 0 Then
- Folio = ObjFolio.DtResultados.Rows(0)("FActual").ToString
- Else
- ObjFolio.Dispose()
- Return Nothing
- End If
- End If
- ObjFolio.Dispose()
-
-
- Dim objPersonal As New ClsRH
- objPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa)
-
- Dim AntiguedadSemanas As Integer = DateDiff(DateInterval.Weekday, objPersonal.FechaIngreso, Now).ToEntero
-
- cfdi.Nomina = New CFDINomina
- cfdi.Nomina.Version = "1.2"
- cfdi.Nomina.TipoNomina = "E"
- cfdi.Nomina.FechaPago = LtChequeFecha.Text.ToDate
- cfdi.Nomina.FechaInicio = LtChequeFecha.Text
- cfdi.Nomina.FechaFin = LtChequeFecha.Text
- cfdi.Nomina.NumDiasPagados = 1
- cfdi.Emisor.Nombre = UsuarioActual.Empresa.Empresa
- cfdi.Emisor.RFC = UsuarioActual.Empresa.RFC
- cfdi.Emisor.RegistroPatronal = objPersonal.DtResultados.Rows(0)("RegistroPatronal").ToString()
- cfdi.Emisor.RegimenFiscal = UsuarioActual.Empresa.CodigoRegimenFiscal
-
- 'aplica persona fisica debe de tener CURP
- If cfdi.Emisor.RegimenFiscal.Contiene("605", "606", "608", "611", "612", "614", "616", "621", "622", "629", "630", "615") Then
- cfdi.Emisor.CURP = UsuarioActual.Empresa.CURP
- End If
-
-
- cfdi.Receptor.UsoCFDI = "P01"
- cfdi.Receptor.RFC = objPersonal.RFC
- cfdi.Receptor.Nombre = objPersonal.NombreCompleto
-
- Dim ObjDeducciones As New List(Of CFDINominaDeducciones)
- ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = "081",
- .Clave = "081",
- .Concepto = "Ajuste de viáticos entregados al trabajador",
- .Importe = TxtChequeSaldo.Text.ToDecimal}
- )
- If ObjDeducciones IsNot Nothing AndAlso ObjDeducciones.Count > 0 Then cfdi.Nomina.Deducciones = ObjDeducciones
-
- Dim ObjPercepcion As New List(Of CFDINominaPercepciones)
- ObjPercepcion.Add(New CFDINominaPercepciones With {.TipoPercepcion = "050",
- .Clave = "050",
- .Concepto = "Viáticos",
- .ImporteExento = TxtChequeSaldo.Text.ToDecimal,
- .ImporteGravado = 0}
- )
- If ObjPercepcion IsNot Nothing AndAlso ObjPercepcion.Count > 0 Then cfdi.Nomina.Percepciones = ObjPercepcion
-
- cfdi.Comprobante.Version = "3.3"
- cfdi.Comprobante.Serie = "VIA"
- cfdi.Comprobante.Folio = Folio
- cfdi.Comprobante.Fecha = Now
- cfdi.Comprobante.Subtotal = TxtChequeSaldo.Text.ToDecimal
- cfdi.Comprobante.Descuentos = cfdi.Nomina.TotalDeducciones.ToDecimal
- cfdi.Comprobante.Total = TxtChequeSaldo.Text.ToDecimal - cfdi.Nomina.TotalDeducciones.ToDecimal
- cfdi.Comprobante.MotivoDescuento = ""
- cfdi.Comprobante.Moneda = "MXN"
- cfdi.Comprobante.TipoComprobante = "N"
- cfdi.Comprobante.TipoDocto = "Egs"
- cfdi.Comprobante.MetodoPago = "PUE"
- cfdi.Comprobante.CondicionesdePago = ""
- cfdi.Comprobante.FormadePago = "99"
- cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString
- cfdi.Comprobante.NumCuentaPago = ""
-
-
- cfdi.Nomina.Receptor.CURP = objPersonal.CURP
- cfdi.Nomina.Receptor.NSS = objPersonal.NumeroSS
- cfdi.Nomina.Receptor.FechaInicioContrato = objPersonal.FechaInicioContrato.ToShortDateString
- cfdi.Nomina.Receptor.Antiguedad = $"P{AntiguedadSemanas}W"
- cfdi.Nomina.Receptor.TipoContrato = objPersonal.CodigoTipoContrato
- cfdi.Nomina.Receptor.CodigoTipoJornada = objPersonal.ClaveTipoJornada
- cfdi.Nomina.Receptor.CodigoRegimenContratacion = If(objPersonal.CveRegimenContratacion = "", "99", objPersonal.CveRegimenContratacion)
- cfdi.Nomina.Receptor.CodigoEmpleado = objPersonal.Codigo
- cfdi.Nomina.Receptor.Departamento = objPersonal.Departamento
- cfdi.Nomina.Receptor.Puesto = objPersonal.Puesto
- cfdi.Nomina.Receptor.CodigoRiesgoPuesto = If(objPersonal.CveSATRiesgoPuesto.ToString = "0", "99", objPersonal.CveSATRiesgoPuesto.ToString)
- cfdi.Nomina.Receptor.TipoPeriodo = objPersonal.TipoPeriodoPago
- cfdi.Nomina.Receptor.CodigoBanco = objPersonal.ClaveBanco
- cfdi.Nomina.Receptor.NumeroCuenta = objPersonal.BancoNumCuenta
- cfdi.Nomina.Receptor.SDI = objPersonal.SDI
- cfdi.Nomina.Receptor.SBC = objPersonal.SDI
- cfdi.Nomina.Receptor.Sindicalizado = ""
- cfdi.Nomina.Receptor.CodigoEntidadFederativa = objPersonal.ClaveEstado
-
-
- cfdi.Conceptos.Add(New CFDIConceptos With {.Cantidad = 1, .ClaveUnidad = "ACT", .ClaveProdServ = "84111505", .Descripcion = "Pago de nómina", .ValorUnitario = cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos, .Importe = cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos, .Descuento = cfdi.Nomina.TotalDeducciones.ToDecimal})
-
- objPersonal.Dispose()
- Return cfdi
- End Function
#End Region