diff --git a/AF/PopUpBuscarAF.aspx b/AF/PopUpBuscarAF.aspx
index 7fc99c76c..f5313feb6 100644
--- a/AF/PopUpBuscarAF.aspx
+++ b/AF/PopUpBuscarAF.aspx
@@ -108,18 +108,18 @@
| Tipo de Activo Fijo: |
-
-
+
+
|
<%--
--%>
<%----%>
- | SubTipo de Activo Fijo: |
+ SubTipo de A.F: |
-
-
+
+
@@ -161,8 +161,8 @@
| Estado: |
-
-
+
+
@@ -171,8 +171,8 @@
--%>
| Responsable: |
-
-
+
+
|
@@ -181,8 +181,8 @@
Proyecto:
|
-
-
+
+
|
<%--
@@ -191,17 +191,18 @@
SubProyecto:
|
-
-
+
+
|
| Cliente: |
-
-
-
+
+ <%--
+
+ --%>
|
diff --git a/AF/PopUpBuscarAF.aspx.vb b/AF/PopUpBuscarAF.aspx.vb
index 864de32d2..cc61ddb46 100644
--- a/AF/PopUpBuscarAF.aspx.vb
+++ b/AF/PopUpBuscarAF.aspx.vb
@@ -189,7 +189,7 @@ Partial Class AF_PopUpBuscarAF
DdlSubTipoActivoFijo.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoActivoFijo = '" & DdlTipoActivoFijo.SelectedValue & "'")
'DdlSubTipoActivoFijo.DataSource = GlobalDTSubTipoActivoFijo.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa & " AND CveTipoActivoFijo = '" & DdlTipoActivoFijo.SelectedValue & "'")
DdlSubTipoActivoFijo.DataBind()
- DdlSubTipoActivoFijo.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ DdlSubTipoActivoFijo.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaCaracteristicas()
@@ -214,7 +214,7 @@ Partial Class AF_PopUpBuscarAF
' DdlModeloActivoFijo.Items.Clear()
' DdlModeloActivoFijo.DataSource = GlobalDTModeloActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
' DdlModeloActivoFijo.DataBind()
- ' DdlModeloActivoFijo.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ ' DdlModeloActivoFijo.Items.Insert(0, New ListItem("Todos", "-1"))
'End Sub
Private Sub CargaMarcaActivoFijo()
'DdlMarcaActivoFijo.DataSource = GlobalDTMarcaActivoFijo.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
@@ -238,15 +238,18 @@ Partial Class AF_PopUpBuscarAF
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
- DdlSubProyecto.Items.Insert(0, New ListItem("Sin SubProyecto asignado", "-1"))
+ DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaEstatusActivoFijo()
DdlEstadoActivoFijo.DataSource = GlobalDTEstadoActivoFijo
DdlEstadoActivoFijo.DataBind()
End Sub
Private Sub CargaCliente()
- DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
- DdlCliente.DataBind()
+
+ DdlClientes.setEsWebService(True)
+
+ ' DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
+ 'DdlCliente.DataBind()
End Sub
#End Region
@@ -265,7 +268,6 @@ Partial Class AF_PopUpBuscarAF
Dim CveProyecto As Integer = -1
Dim CveSubProyecto As Integer = -1
Dim EstadoActivoFijo As Integer = -1
- Dim CveCliente As Integer = -1
If TxtCodigo.Text.Trim <> String.Empty Then Codigo = TxtCodigo.Text.Trim
If TxtDescripcion.Text.Trim <> String.Empty Then Descripcion = TxtDescripcion.Text.Trim
@@ -278,7 +280,8 @@ Partial Class AF_PopUpBuscarAF
If DdlProyecto.SelectedValue <> String.Empty Then CveProyecto = DdlProyecto.SelectedValue.ToEntero
If DdlSubProyecto.SelectedValue <> String.Empty Then CveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero
If DdlEstadoActivoFijo.SelectedValue <> String.Empty Then EstadoActivoFijo = DdlEstadoActivoFijo.SelectedValue.ToEntero
- If DdlCliente.SelectedValue <> String.Empty Then CveCliente = DdlCliente.SelectedValue.ToEntero
+ 'If DdlCliente.SelectedValue <> String.Empty Then CveCliente = DdlCliente.SelectedValue.ToEntero
+ Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
Dim strSQL1 As New StringBuilder
Dim booPrimerCampo As Boolean = False
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 b/Compras/Compras.aspx
index a9acdcb77..74bee1337 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -2112,7 +2112,7 @@
-
+
@@ -2129,7 +2129,7 @@
-
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index eec016ace..637b9c61f 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -2708,6 +2708,11 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer))
End If
+ If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then
+ TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal))
+ End If
+
+
GvPS.DataSource = TmpDT
GvPS.DataBind()
@@ -6133,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
@@ -6262,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
@@ -9233,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
@@ -10225,6 +10151,7 @@ Partial Class Compras_Compras
If Not ErrorAC Then
Dim Cont As Integer = 0
+ Dim indiceTR = 0
For Each Row As DataRow In TmpDT.Rows
'actualizar las clasificaciones, que se hallan hecho
@@ -10249,14 +10176,40 @@ Partial Class Compras_Compras
'Si es AF-COMPRA se guarda en CveActivoFijoCompra
Dim CveAFCompra = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 2, Row("CveActivoFijo").ToString.ToEntero, -1)
- If Not ObjCompra.UpdateCompraDetalle(Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble,
- Row("Descuento").ToString.ToDouble, Row("Obs").ToString, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, CveAF, Row("CveCompraDetalle").ToString.ToEntero, CvePersonal:=CvePersonal, CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia,
- RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
- IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False)) Then
+ If Row("CveCompraDetalle").ToString.ToEntero > 0 Then
+ If Not ObjCompra.UpdateCompraDetalle(Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble,
+ Row("Descuento").ToString.ToDouble, Row("Obs").ToString, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, CveAF, Row("CveCompraDetalle").ToString.ToEntero, CvePersonal:=CvePersonal, CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia,
+ RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
+ IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False)) Then
- Retorno = False
- Exit For
+ Retorno = False
+ Exit For
+ End If
+ Else
+ Dim TipoRecepcion As Integer = -1
+ If GvInv.Rows.Count > indiceTR Then
+ If GvInv.Rows(indiceTR).FCCheckBox("cbInv").Checked = True And GvInv.Rows(indiceTR).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then
+ TipoRecepcion = 1
+ ElseIf GvInv.Rows(indiceTR).FCCheckBox("cbInv").Checked = True And GvInv.Rows(indiceTR).FCDropDownList("DdlRecibirInv").SelectedValue = "0" Then
+ TipoRecepcion = 2
+ End If
+ End If
+
+ If Not ObjCompra.AddCompraDetalle(CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF,
+ Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble, Row("Descuento").ToString.ToDouble,
+ Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero,
+ AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal,
+ CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal,
+ RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
+ IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble,
+ IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
+ CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then
+
+ Retorno = False
+ Exit For
+ End If
End If
+ indiceTR = indiceTR + 1
'If Not ObjCompra.VerificaPrepolizas(UsuarioActual.CveEmpresa, CveCompra) Then
' Retorno = False
@@ -12467,16 +12420,19 @@ Partial Class Compras_Compras
dr.ItemArray = dr1.ItemArray
dr1("Cantidad") = (dr1("Cantidad").ToString.ToDouble - Cantidad.ToDouble)
- dr1("Total") = dr1("PU").ToString.ToDouble * dr1("Cantidad").ToString.ToDouble
- dr1("IVA") = Math.Round(dr1("IVAPorcentaje").ToString.ToDouble * dr1("Total").ToString.ToDouble, 6)
+ dr1("Total") = dr1("PU").ToString.ToDouble * dr1("Cantidad").ToString.ToDecimal
+ dr1("Importe") = dr1("Total")
+ dr1("IVA") = Math.Round(dr1("IVAPorcentaje").ToString.ToDecimal * dr1("Total").ToString.ToDecimal, 6)
TmpDT.AcceptChanges()
+ dr("CveCompraDetalle") = -1
dr("CveActivoFijo") = 0
dr("CodAF") = ""
- dr("Cantidad") = Cantidad.ToDouble
- dr("Total") = dr("PU").ToString.ToDouble * Cantidad.ToDouble
- dr("IVA") = Math.Round(dr("IVAPorcentaje").ToString.ToDouble * dr("Total").ToString.ToDouble, 6)
+ dr("Cantidad") = Cantidad.ToDecimal
+ dr("Total") = dr("PU").ToString.ToDecimal * Cantidad.ToDecimal
+ dr("Importe") = dr("Total")
+ dr("IVA") = Math.Round(dr("IVAPorcentaje").ToString.ToDecimal * dr("Total").ToString.ToDecimal, 6)
TmpDT.Rows.InsertAt(dr, Index + 1)
@@ -12601,27 +12557,36 @@ Partial Class Compras_Compras
#Region " AJUSTA IMPORTES "
Private Sub AjustaImporteUltimoConcepto(ImporteAjuste As Decimal, Optional EsCarga As Boolean = False)
- 'Dim TempSubTotal = TxtSubTotal.Text.ToDouble
+
+ If ImporteAjuste = 0 Then Exit Sub
+
Dim Amortizacion As Decimal = 0
If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then
Amortizacion = LblAmortizacion.Text.ToDecimal
End If
If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste
- 'Dim ImporteAjuste As Decimal = Total - (SubTotal2 + IVA - RetencionIVA - RetencionIVA - RetencionISR + IEPS + OtrosImpuestos)
Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1)
Dim tPU As Decimal
-
If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then
tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal
Else
tPU = 0
End If
- TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDouble + tPU
- TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDouble + ImporteAjuste
- TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDouble() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDouble()).RoundAD(2)
+ If TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU < 0 Then 'si es negativo, que tome el dato anterior
+ Indice = Indice - 1
+ If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then
+ tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal
+ Else
+ tPU = 0
+ End If
+ End If
+
+ TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU
+ TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDecimal + ImporteAjuste
+ TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDecimal() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDecimal()).RoundAD(2)
'TmpDT.Rows(Indice)("IVA") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal
TmpDT.Rows(Indice)("IVA") = (TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal - TmpDT.Rows(Indice)("Descuento").ToString.ToDecimal) * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal
'Row("IEPSPS") = Math.Round(IEPSPS, DecimalesPermitidos)
@@ -12629,9 +12594,9 @@ Partial Class Compras_Compras
TmpDT.AcceptChanges()
End If
- SubTotal = TmpDT.SUM("Total").ToString.ToDecimal
+ SubTotal = TmpDT.SUMD("Total")
If Not EsCarga Then
- Descuentos = TmpDT.SUM("Descuento").ToString.ToDecimal
+ Descuentos = TmpDT.SUMD("Descuento")
End If
TxtSubTotal.Text = (SubTotal + Descuentos).FormatoNumero()
TxtSubTotal2.Text = (SubTotal - Amortizacion).FormatoNumero
@@ -12639,15 +12604,6 @@ Partial Class Compras_Compras
SubTotalConceptos = SubTotal
GvPS.DataSource = TmpDT : GvPS.DataBind()
- 'If TxtOtrosImpuestos.Text.ToDouble > 0 Then TxtOtrosImpuestos.Text = "" : TrOtrosImpuestos.Visible = False
-
- 'EN ESPERA DE ALGUN CASO QUE LO NECESITE - IPP 5 DICIEMBRE 2016
- 'TempSubTotal = TempSubTotal - SubTotal
- 'If TempSubTotal > 0 Then
- ' TxtTotal.Text = TempSubTotal.ToString.FormatoNumero
- 'End If
-
- 'GVAF.DataSource = TmpDT : GVAF.DataBind()
End Sub
Protected Sub ImgAjustePorcentaje_Click(sender As Object, e As ImageClickEventArgs) Handles ImgAjustePorcentaje.Click
@@ -12754,10 +12710,10 @@ Partial Class Compras_Compras
dr = DtAcreedores.FiltroPrimero(String.Format("CveProveedor = {0}", DdlAcreedor.SelectedValue))
If dr IsNot Nothing Then
- Dim tSaldo As Double = dr("Saldo").ToString.ToDouble
+ Dim tSaldo As Decimal = dr("Saldo").ToString.ToDecimal
RVContadoAcreedor.MaximumValue = tSaldo.ToString
'si el saldo es mayor de la compra poner el valor de la compra sino el valor del saldo
- TxtContadoAcreedor.Text = If(tSaldo > TxtTotal.Text.ToDouble, TxtTotal.Text, tSaldo.ToString).FormatoNumero
+ TxtContadoAcreedor.Text = If(tSaldo > TxtTotal.Text.ToDecimal, TxtTotal.Text, tSaldo.ToString).FormatoNumero
LblDetalle.Visible = True
DdlAcreedorDetalle.Visible = True
@@ -19149,7 +19105,7 @@ Partial Class Compras_Compras
If CveCompra > 0 And GvInvMov.Rows.Count > 0 Then
Dim ObjInventarios As New ClsInventarios
- If ObjInventarios.RecepcionAlmacenGet(CveCompra, -1, UsuarioActual.CveEmpresa) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then
+ If ObjInventarios.RecepcionAlmacenGet(CveCompra, -1, -1, UsuarioActual.CveEmpresa, -1) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then
DtPendientesAlmacen = ObjInventarios.DtResultados.FiltraParametros("CantidadF > 0").Copy
End If
ObjInventarios.Dispose()
@@ -19207,7 +19163,7 @@ Partial Class Compras_Compras
If ChkNCInvNC.Checked Then
Dim ObjInventarios As New ClsInventarios
- If ObjInventarios.RecepcionAlmacenGet(-1, -1, UsuarioActual.CveEmpresa, CveProveedor) AndAlso ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Rows.Count > 0 Then
+ If ObjInventarios.RecepcionAlmacenGet(-1, -1, CveProveedor, UsuarioActual.CveEmpresa, -1) AndAlso ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Rows.Count > 0 Then
DtPendientesAlmacen = ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Copy
End If
ObjInventarios.Dispose()
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")
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index 554f7e64a..21c7931e4 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -603,22 +603,25 @@ Partial Class Inventarios_TraspasoAlmacen
Dim Retorno = True
Dim ExistenciaEspecificada As Decimal
+ Dim PendienteporSurtir As Decimal
Dim CantidadEnGrid As Decimal = DtMovimientos.SUMD("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUnidadMedida} {If(Serie <> "-1", $" AND Serie = '{Serie}'", "")}")
Dim Existencia As Decimal
Dim Inv As New ClsInventarios
If Inv.GetExistenciasProducto(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm")) Then
'si hay existencia en almacen costeado, lo tengo que sacar
- Existencia = Inv.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CVeAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal
+ Existencia = Inv.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal
+ PendienteporSurtir = Inv.DtResultados.FiltroPrimeroValor("PendientePorSurtir", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal
End If
'Existencia= Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), PendientePorSurtir:=1)
- If Existencia > 0 Then
+ If Existencia > Cantidad Then
'la primera vez valida, que la existencia global, cumpla, considerando lo pendiente por surtir
'las segunda consulta, que tenga existencia, ya con los parametros especificos
If (FechaCaducidad > MinFecha OrElse Not Serie.Contiene("", "-1") OrElse Not Lote.Contiene("", "-1")) Then
If Inv.GetExistenciasProducto(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, Caducidad:=FechaCaducidad) Then
- ExistenciaEspecificada = Inv.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CVeAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal
+ 'aqui se toma la COLUMNA Existencia, porque ya está validado que hay existencia suficiente para surtir, considerando lo pendiente por surtir, entonces se asume no se tomará la serie/lote
+ ExistenciaEspecificada = Inv.DtResultados.FiltroPrimeroValor("Existencia", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal
End If
'ExistenciaEspecificada = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, PendientePorSurtir:=-1)
Dim StrB As New StringBuilder
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 5dadb0640..ef0190b68 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -8244,7 +8244,7 @@ Partial Class Ventas
If (TieneAnticipo AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "2") OrElse (ListaNCDesc IsNot Nothing AndAlso ListaNCDesc.Count > 0) Then
CreaObjetosVentaAmortizacion(ObjVentas, FolioFiscalRelacionado, CveVentaRelacionada, NCDescuento:=NCDescuento)
If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, Nothing,
- Nothing, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDesc, IndexNC:=(DtVentasNC.Rows.Count - 1)) Then
+ Nothing, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDesc, IndexNC:=(If(DtVentasNC IsNot Nothing, DtVentasNC.Rows.Count - 1, 0))) Then
Obj2.Add(ObjFacturaDevolucion)
End If
End If