diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 31560b162..719648f77 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -1780,8 +1780,28 @@ Partial Class Bancos_PopIECompras IdCtaContable = IdCtaProveedorExtranjera End If End If - Case 15 'Ret IVA X Acreditar Honorarios/Serv. Prof. - If MovimientoPagar.ConceptoRetIVA = 1 Then + Case 15 'Ret IVA X Acreditar Honorarios/Serv. Prof. + + If MovimientoPagar.ConceptoRetIVA > 0 Then + Dim Funcionalidad As Integer = 0 + If MovimientoPagar.ConceptoRetIVA = 1 Then + Funcionalidad = 307 + ConceptoContable = 15 + ElseIf MovimientoPagar.ConceptoRetIVA = 2 Then + Funcionalidad = 309 + ConceptoContable = 183 + ElseIf MovimientoPagar.ConceptoRetIVA = 3 Then + Funcionalidad = 311 + ConceptoContable = 185 + ElseIf MovimientoPagar.ConceptoRetIVA = 4 Then + Funcionalidad = 313 + ConceptoContable = 248 + ElseIf MovimientoPagar.ConceptoRetIVA = 5 Then + Funcionalidad = 578 + ConceptoContable = 285 + End If + + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago ImporteMX = ImporteMovimiento @@ -1815,7 +1835,24 @@ Partial Class Bancos_PopIECompras End If Case 22 'Ret IVA Acreditable Honorarios/Serv. Prof. - If MovimientoPagar.ConceptoRetIVA = 1 Then + If MovimientoPagar.ConceptoRetIVA > 0 Then + Dim Funcionalidad As Integer = 0 + If MovimientoPagar.ConceptoRetIVA = 1 Then + Funcionalidad = 308 + ConceptoContable = 22 + ElseIf MovimientoPagar.ConceptoRetIVA = 2 Then + Funcionalidad = 310 + ConceptoContable = 184 + ElseIf MovimientoPagar.ConceptoRetIVA = 3 Then + Funcionalidad = 312 + ConceptoContable = 186 + ElseIf MovimientoPagar.ConceptoRetIVA = 4 Then + Funcionalidad = 314 + ConceptoContable = 249 + ElseIf MovimientoPagar.ConceptoRetIVA = 5 Then + Funcionalidad = 578 + ConceptoContable = 286 + End If If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago ImporteMX = ImporteMovimiento @@ -1838,281 +1875,8 @@ Partial Class Bancos_PopIECompras 'Conta ContPAQ If IdCtaContRetIVAAcreditable > 0 Then IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(308).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(308).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 183 'Ret IVA X Acreditar Fletes P.F. - If MovimientoPagar.ConceptoRetIVA = 2 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(309).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(309).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - - End If - Case 184 'Ret IVA Acreditable Fletes P.F. - If MovimientoPagar.ConceptoRetIVA = 2 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(310).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(310).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 185 'Ret IVA X Acreditar Fletes P.M. - If MovimientoPagar.ConceptoRetIVA = 3 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(311).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(311).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 186 'Ret IVA Acreditable Fletes P.M. - If MovimientoPagar.ConceptoRetIVA = 3 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(312).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(312).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 248 'Ret IVA x Acreditar Acreditable Arrendamiento - If MovimientoPagar.ConceptoRetIVA = 4 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(313).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(313).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 249 'Ret IVA Acreditable Arrendamiento - If MovimientoPagar.ConceptoRetIVA = 4 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(314).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(314).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - Case 285 'Ret IVA x Acreditar Acreditable Servicios - If MovimientoPagar.ConceptoRetIVA = 5 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(578).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 286 'Ret IVA Acreditable Servicio - If MovimientoPagar.ConceptoRetIVA = 5 Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(582).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(582).ToEntero + ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero Else If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then @@ -2121,223 +1885,169 @@ Partial Class Bancos_PopIECompras End If End If End If - 'Case 16 'Ret ISR X Acreditar - ' If MovimientoPagar.ConceptoRetISR = 1 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' End If - ' ImporteMovimiento = ImporteMovimiento.RoundSQL - ' ImporteMX = ImporteMX.RoundSQL - ' TimpocambioGeneral = tipoCambioCompra - ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + Case 16 'Ret ISR X Acreditar + If MovimientoPagar.ConceptoRetISR > 0 Then + Dim funcionalidad As Integer = 0 + If MovimientoPagar.ConceptoRetISR = 1 Then + funcionalidad = 315 + ConceptoContable = 16 + ElseIf MovimientoPagar.ConceptoRetISR = 2 Then + funcionalidad = 317 + ConceptoContable = 243 + End If + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ImporteMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + End If + ImporteMovimiento = ImporteMovimiento.RoundSQL + ImporteMX = ImporteMX.RoundSQL + TimpocambioGeneral = tipoCambioCompra - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If + If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + 'Conta ContPAQ + If IdCtaContRetISR > 0 Then + IdCtaContable = IdCtaContRetISR + ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero + Else + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + End If + End If + End If + End If - 'Case 23 'Ret ISR Acreditable - ' If MovimientoPagar.ConceptoRetISR = 1 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = ImporteMovimiento.RoundSQL - ' ImporteMX = ImporteMX.RoundSQL - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + Case 23 'Ret ISR Acreditable + If MovimientoPagar.ConceptoRetISR > 0 Then + Dim funcionalidad As Integer = 0 + If MovimientoPagar.ConceptoRetISR = 1 Then + funcionalidad = 316 + ConceptoContable = 23 + ElseIf MovimientoPagar.ConceptoRetISR = 2 Then + funcionalidad = 318 + ConceptoContable = 244 + End If + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ImporteMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + End If + ImporteMovimiento = ImporteMovimiento.RoundSQL + ImporteMX = ImporteMX.RoundSQL + TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If + 'Conta ContPAQ + If IdCtaContRetISRAcreditable > 0 Then + IdCtaContable = IdCtaContRetISRAcreditable + ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero + Else + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + End If + End If + End If - ' End If - 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento - ' If MovimientoPagar.ConceptoRetISR = 2 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = ImporteMovimiento.RoundSQL - ' ImporteMX = ImporteMX.RoundSQL - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + End If - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + Case 14 'Iva por Acreditar + If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then + 'funcionalidad que toma el 100% del pago para acreditamiento de iva + Dim TotalImporte As Decimal - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + TotalImporte = ImportePagado.ToString.ToDecimal + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + TotalImporte = ImportePagado.ToString.ToDecimal + End If - - ' End If - 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento - ' If MovimientoPagar.ConceptoRetISR = 2 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = ImporteMovimiento.RoundSQL - ' ImporteMX = ImporteMX.RoundSQL - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - - ' End If - Case 14 'Iva por Acreditar - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If + If TotalImporte = CompraSaldo Then + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = MovimientoPagar.IVA + ImporteMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = MovimientoPagar.IVA + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = MovimientoPagar.IVA + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = MovimientoPagar.IVA + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + End If ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - Else - ImporteMovimiento = 0 - ImporteMX = 0 - End If - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - 'ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago - ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - End If - - PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) - - If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - End If + ImporteMX = ImporteMX.RoundSQL + TimpocambioGeneral = tipoCambioCompra + + If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + Else + ImporteMovimiento = 0 + ImporteMX = 0 + End If + Else + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + 'ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago + ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago + ImporteMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + End If + ImporteMovimiento = ImporteMovimiento.RoundSQL + ImporteMX = ImporteMX.RoundSQL + TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + End If + + PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA + Dim IdCtaIVAXAcreditar As Integer = 0 + Dim IdCtaIVAAcreditable As Integer = 0 + + If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then + IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero + IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + End If + + IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) + + If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero + End If End If Case 19 'Iva Acreditable diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 7e9093f82..80ebeed31 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1040,7 +1040,25 @@ Partial Class Bancos_ProveedoresAbonar IdCtaContable = IdCtaProveedorExtranjera End If Case 15 'Ret IVA X Acreditar Honorarios/Serv. Prof. - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 1 Then + If gvr.DataKey("CveRetIVAConcepto").ToEntero > 0 Then + Dim Funcionalidad As Integer = 0 + If gvr.DataKey("CveRetIVAConcepto").ToEntero = 1 Then + Funcionalidad = 307 + ConceptoContable = 15 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 2 Then + Funcionalidad = 309 + ConceptoContable = 183 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 3 Then + Funcionalidad = 311 + ConceptoContable = 185 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 4 Then + Funcionalidad = 313 + ConceptoContable = 248 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then + Funcionalidad = 578 + ConceptoContable = 285 + End If + If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago importeMX = ImporteMovimiento @@ -1066,8 +1084,8 @@ Partial Class Bancos_ProveedoresAbonar 'Conta ContPAQ If IdCtaContRetIVA > 0 Then IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(307).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(307).ToEntero + ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero Else If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then @@ -1075,10 +1093,29 @@ Partial Class Bancos_ProveedoresAbonar End If End If End If - End If - Case 22 'Ret IVA Acreditable Honorarios/Serv. Prof. - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 1 Then + + + Case 22 'Ret IVA Acreditable Honorarios/Serv. Prof. + If gvr.DataKey("CveRetIVAConcepto").ToEntero > 0 Then + + Dim Funcionalidad As Integer = 0 + If gvr.DataKey("CveRetIVAConcepto").ToEntero = 1 Then + Funcionalidad = 308 + ConceptoContable = 22 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 2 Then + Funcionalidad = 310 + ConceptoContable = 184 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 3 Then + Funcionalidad = 312 + ConceptoContable = 186 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 4 Then + Funcionalidad = 314 + ConceptoContable = 249 + ElseIf gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then + Funcionalidad = 578 + ConceptoContable = 286 + End If If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago importeMX = ImporteMovimiento @@ -1103,8 +1140,8 @@ Partial Class Bancos_ProveedoresAbonar 'Conta ContPAQ If IdCtaContRetIVAAcreditable > 0 Then IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(308).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(308).ToEntero + ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero Else If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then @@ -1113,438 +1150,96 @@ Partial Class Bancos_ProveedoresAbonar End If End If End If - Case 183 'Ret IVA X Acreditar Fletes P.F. - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 2 Then + + + Case 16 'Ret ISR X Acreditar + If gvr.DataKey("CveRetISRConcepto").ToEntero > 0 Then + Dim funcionalidad As Integer = 0 + If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then + funcionalidad = 315 + ConceptoContable = 16 + ElseIf gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then + funcionalidad = 317 + ConceptoContable = 243 + End If + If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago importeMX = ImporteMovimiento ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) importeMX = ImporteMovimiento * tipoCambioCompra ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) importeMX = ImporteMovimiento * tipoCambioCompra ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) importeMX = ImporteMovimiento * tipoCambioCompra End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL + ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) + importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) TipoCambioGeneral = tipoCambioCompra - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(309).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(309).ToEntero + If IdCtaContRetISR > 0 Then + IdCtaContable = IdCtaContRetISR + ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero End If End If End If - End If - Case 184 'Ret IVA Acreditable Fletes P.F. - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 2 Then + Case 23 'Ret ISR Acreditable + If gvr.DataKey("CveRetISRConcepto").ToEntero > 0 Then + Dim funcionalidad As Integer = 0 + If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then + funcionalidad = 316 + ConceptoContable = 23 + ElseIf gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then + funcionalidad = 318 + ConceptoContable = 244 + End If + If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago importeMX = ImporteMovimiento ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) importeMX = ImporteMovimiento * tipoCambioCompra ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) + importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) + TipoCambioGeneral = TipoCambioPago If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(310).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(310).ToEntero + If IdCtaContRetISRAcreditable > 0 Then + IdCtaContable = IdCtaContRetISRAcreditable + ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 185 'Ret IVA X Acreditar Fletes P.M. - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 3 Then - If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - TipoCambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(311).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(311).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero End If End If End If + End If - Case 186 'Ret IVA Acreditable Fletes P.M. - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 3 Then - If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(312).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(312).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 248 'Ret IVA X Acreditar Arrendamiento - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 4 Then - If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - TipoCambioGeneral = tipoCambioCompra - - If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(313).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(313).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 249 'Ret IVA Acreditable Arrendamiento - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 4 Then - If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - TipoCambioGeneral = If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - - If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(314).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(314).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 285 'Ret IVA x Acreditar Acreditable Servicios - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then - If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - - If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(578).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - Case 286 'Ret IVA Acreditable Servicio - If gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then - If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago - importeMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - tipoCambioCompra = gvr.DataKey("TipoCambio").ToDecimal - ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) - importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - importeMX = importeMX.RoundSQL - - If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(582).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(582).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso TipoContabilidad <> 1 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - 'Case 16 'Ret ISR X Acreditar - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = tipoCambioCompra - - ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - - ' End If - 'Case 23 'Ret ISR Acreditable - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = TipoCambioPago - - ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - - ' End If - 'Case 243 'Ret ISR x Acreditar Terceros y Arrendamiento - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = TipoCambioPago - - ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - - ' End If - 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = TipoCambioPago - - ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' End If - ' End If Case 14 'Iva X Acreditar Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 780502ee0..637b9c61f 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6138,125 +6138,100 @@ Partial Class Compras_Compras End If Case 22 'RetIVA Acreditable Honorarios/Serv. Prof. If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetIVAConcepto.Items.Count > 0 Then + If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then + Dim Funcionalidad As Integer = 0 + Dim ConceptoContableContra As Integer = 0 + If DdlRetIVAConcepto.SelectedValue.ToEntero = 1 Then - importeMovimiento = importeRetIVAAcreditable - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(308).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(308).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If + Funcionalidad = 308 + ConceptoContable = 22 + ConceptoContableContra = 15 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 2 Then + Funcionalidad = 310 + ConceptoContable = 184 + ConceptoContableContra = 183 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 3 Then + Funcionalidad = 312 + ConceptoContable = 186 + ConceptoContableContra = 185 - 'Codigo anterior - 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero - 'End If + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 4 Then + Funcionalidad = 314 + ConceptoContable = 249 + ConceptoContableContra = 248 - If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero - End If + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then + Funcionalidad = 578 + ConceptoContable = 286 + ConceptoContableContra = 285 - - 'Agregamos el Opuesto del 22 -> 15 - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 15, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then - ErrorPrepoliza = True - End If - End If - - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" End If + + importeMovimiento = importeRetIVAAcreditable + importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador + If CtaProveedorRetIVA > 0 Then + IdCtaContable = CtaProveedorRetIVA + ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero + Else + If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + End If + + + 'Codigo anterior + 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + ''End If + + 'If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + 'End If + + + 'Agregamos el Opuesto del 22 -> 15 + If importeMovimiento <> 0 Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, ConceptoContableContra, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then + ErrorPrepoliza = True + End If + End If + + If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" End If End If + Case 15 'RetIVA X Acreditar Honorarios/Serv. Prof. If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetIVAConcepto.Items.Count > 0 Then + If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero() > 0 Then + Dim Funcionalidad As Integer = 0 If DdlRetIVAConcepto.SelectedValue.ToEntero = 1 Then - importeMovimiento = importeRetIVAxAcreditar - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(307).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(307).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If + Funcionalidad = 307 + ConceptoContable = 15 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 2 Then + Funcionalidad = 309 + ConceptoContable = 183 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 3 Then + Funcionalidad = 311 + ConceptoContable = 185 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 4 Then + Funcionalidad = 313 + ConceptoContable = 248 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then + Funcionalidad = 578 + ConceptoContable = 285 End If - End If - End If - Case 184 'RetIVA Acreditable Fletes P.F - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetIVAConcepto.Items.Count > 0 Then - If DdlRetIVAConcepto.SelectedValue.ToEntero = 2 Then - importeMovimiento = importeRetIVAAcreditable - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(310).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(310).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - 'Agregamos el Opuesto del 184 -> 183 - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 183, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then - ErrorPrepoliza = True - End If - End If - - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - End If - End If - End If - Case 183 'RetIVA X Acreditar Fletes P.F - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetIVAConcepto.Items.Count > 0 Then - If DdlRetIVAConcepto.SelectedValue.ToEntero = 2 Then - importeMovimiento = importeRetIVAxAcreditar - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(309).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(309).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - End If - End If - Case 248 'RetIVA X Acreditar Arrendamiento - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero = 4 Then importeMovimiento = importeRetIVAxAcreditar importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" If CtaProveedorRetIVA > 0 Then IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(313).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(313).ToEntero + ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero Else If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjConta.DtResultados.Rows.Count > 0 Then @@ -6267,143 +6242,78 @@ Partial Class Compras_Compras End If End If - Case 186 'RetIVA Acreditable Fletes P.M. - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") AndAlso TxtRetIVA.Text.ToDecimal > 0 Then - If DdlRetIVAConcepto.Items.Count > 0 Then - If DdlRetIVAConcepto.SelectedValue.ToEntero = 3 Then - importeMovimiento = importeRetIVAAcreditable - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(312).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(312).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - 'Agregamos el Opuesto del 186 -> 185 - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 185, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza, TipoCambio:=tipoCambioActual) Then - ErrorPrepoliza = True - End If - End If + Case 23 'RetISR Acreditable + If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then + If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then + Dim funcionalidad As Integer = 0 + Dim ConceptoContableContra As Integer = 0 + + If DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then + funcionalidad = 316 + ConceptoContable = 23 + ConceptoContableContra = 16 + ElseIf DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then + funcionalidad = 318 + ConceptoContable = 244 + ConceptoContableContra = 243 - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" End If - End If - End If - Case 185 'RetIVA X Acreditar Fletes P.M. - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") AndAlso TxtRetIVA.Text.ToDecimal > 0 Then - If DdlRetIVAConcepto.Items.Count > 0 Then - If DdlRetIVAConcepto.SelectedValue.ToEntero = 3 Then - importeMovimiento = importeRetIVAxAcreditar - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(311).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(311).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - End If - End If - Case 249 'RetIVA Acreditable Arrendamiento - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") AndAlso TxtRetIVA.Text.ToDecimal > 0 Then - If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero = 4 Then - importeMovimiento = importeRetIVAAcreditable + + importeMovimiento = importeRetISRAcreditable importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(314).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(314).ToEntero + If CtaProveedorRetISR > 0 Then + IdCtaContable = CtaProveedorRetISR + ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero Else If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero End If End If End If + 'Agregamos el Opuesto del 23 -> 16 + If importeMovimiento <> 0 Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, ConceptoContableContra, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then + ErrorPrepoliza = True + End If + End If + If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" End If - End If - 'Case 23 'RetISR Acreditable - ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - ' If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then - ' importeMovimiento = importeRetISRAcreditable - ' importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - ' If CtaProveedorRetISR > 0 Then - ' IdCtaContable = CtaProveedorRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - ' Else - ' If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjConta.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Agregamos el Opuesto del 23 -> 16 - ' If importeMovimiento <> 0 Then - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 15, Concepto + If(tipoCambioActual > 1, $" TC {tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}", ""), FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimiento * tipoCambioActual, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True - ' End If - ' End If - - ' If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - ' End If - ' End If Case 16 'Ret ISR X Acreditar If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then - importeMovimiento = importeRetISRxAcreditar - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - If CtaProveedorRetISR > 0 Then - IdCtaContable = CtaProveedorRetISR - ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - End If - End If - End If - Case 243 'RetISR X Acreditar Terceros y Arrendamiento - If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then - importeMovimiento = importeRetISRxAcreditar - importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador - If CtaProveedorRetISR > 0 Then - IdCtaContable = CtaProveedorRetISR - ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - End If - End If - End If + If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then + Dim funcionalidad As Integer = 0 + If DdlRetISRConcepto.SelectedValue.ToEntero = 1 Then + funcionalidad = 315 + ConceptoContable = 16 + ElseIf DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then + funcionalidad = 317 + ConceptoContable = 243 + End If + importeMovimiento = importeRetISRxAcreditar + importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" + If CtaProveedorRetISR > 0 Then + IdCtaContable = CtaProveedorRetISR + + ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero + Else + If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + End If + End If + End If End If End If + 'Case 244 'RetISR Acreditable Terceros y Arrendamiento ' If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then ' If DdlRetISRConcepto.Items.Count > 0 AndAlso DdlRetISRConcepto.SelectedValue.ToEntero = 2 Then @@ -9238,39 +9148,50 @@ Partial Class Compras_Compras End If Case 22 'RetIVA Acreditable Honorarios/Serv. Prof. If Not gvr.DataKey("TipoDocto").Contiene("NC", "DEV", "Ant") Then - If DdlRetIVAConcepto.Items.Count > 0 Then + If DdlRetIVAConcepto.Items.Count > 0 AndAlso DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then + Dim Funcionalidad As Integer = 0 If DdlRetIVAConcepto.SelectedValue.ToEntero = 1 Then - ImporteMovimiento = Math.Round(PorcentajePago * TxtRetIVA.Text.ToDecimal, 2) - importeMN = ImporteMovimiento * tipoCambio + Funcionalidad = 307 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 2 Then + Funcionalidad = 310 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 3 Then + Funcionalidad = 312 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 4 Then + Funcionalidad = 314 + ElseIf DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then + Funcionalidad = 578 + End If + + ImporteMovimiento = Math.Round(PorcentajePago * TxtRetIVA.Text.ToDecimal, 2) + importeMN = ImporteMovimiento * tipoCambio - If CtaProveedorRetIVA > 0 Then - IdCtaContable = CtaProveedorRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(308).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(308).ToEntero - Else - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If + If CtaProveedorRetIVA > 0 Then + IdCtaContable = CtaProveedorRetIVA + ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero + Else + If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero End If End If - - - 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero - 'End If - - If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero - End If - End If - End If + + 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + 'End If + + 'If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + 'End If + + End If End If + Case 183 'RetIVA x Acreditar Fletes P.F. If Not gvr.DataKey("TipoDocto").Contiene("NC", "DEV", "Ant") Then If DdlRetIVAConcepto.Items.Count > 0 Then diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 8241e8aee..b44d243cc 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -2920,11 +2920,9 @@ Partial Class PopUpVerFactura Case 24 'SALIDA POR RESGUARDO If DtMovimientos(0)("CveTipoAlmacen").ToString.ToEntero = 20 Or DtMovimientos(0)("CveTipoAlmacen").ToString.ToEntero = 19 Then Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) - Dim params As New List(Of ReportParameter) - - Dim ArchivoRuta As New System.IO.FileInfo(String.Format("{0}Formatos/Entradas.rdlc", UsuarioActual.Empresa.Ruta)) - Dim Archivo As String = $"Empresas/{UsuarioActual.CveEmpresa}/Formatos/EntradaSalidaUniforme.rdlc" - + Dim params As New List(Of ReportParameter) + Dim ArchivoRuta As New System.IO.FileInfo(String.Format("{0}Formatos/Entradas.rdlc", UsuarioActual.Empresa.Ruta)) + Dim Archivo As String = String.Format("{0}Formatos/EntradaSalidaUniforme.rdlc", UsuarioActual.Empresa.Ruta) If Not ArchivoRuta.Exists Then Archivo = "Empresas/Grales/Formatos/EntradaSalidaUniforme.rdlc" End If diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb index 6d833f829..64302463c 100644 --- a/Inventarios/RepAnomalias.aspx.vb +++ b/Inventarios/RepAnomalias.aspx.vb @@ -175,6 +175,8 @@ Partial Class Inventarios_RepAnomalias If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvS.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvF.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) + If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvC.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) + GvS.DataSource = dt.FiltraParametros("Diferencia < 0")