diff --git a/Bancos/FluctuacionCambiaria.aspx b/Bancos/FluctuacionCambiaria.aspx
index c7634465c..db024ed8d 100644
--- a/Bancos/FluctuacionCambiaria.aspx
+++ b/Bancos/FluctuacionCambiaria.aspx
@@ -758,8 +758,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -806,17 +858,7 @@
-
-
-
-
-
-
-
-
+
diff --git a/Bancos/FluctuacionCambiaria.aspx.vb b/Bancos/FluctuacionCambiaria.aspx.vb
index 75f553751..e4a771d37 100644
--- a/Bancos/FluctuacionCambiaria.aspx.vb
+++ b/Bancos/FluctuacionCambiaria.aspx.vb
@@ -36,6 +36,8 @@ Partial Class Bancos_FluctuacionCambiaria
CargarCentrosDeCosto(Nothing, DdlSubProyectoAcreeedoresAnt, Nothing, LblSubProyectoAcreedoresAnt, "")
CargarCentrosDeCosto(Nothing, DdlSubproyectoBancos, Nothing, LblSubProyectoBancos, "")
CargarCentrosDeCosto(Nothing, DdlSubProyectoFiliales, Nothing, LblSubProyectoFiliales, "")
+ CargarCentrosDeCosto(Nothing, DdlSubProyectoAcreedoresDiversos, Nothing, LblSubProyectoAcreedoresDiversos, "")
+
CargarCentrosDeCosto(Nothing, DdlSubProyectoDeudores, Nothing, LblSubProyectoDeudores, "")
CargaUltimaFluctuacion()
@@ -66,6 +68,10 @@ Partial Class Bancos_FluctuacionCambiaria
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
+ CargaDatos()
+ End Sub
+
+ Private Sub CargaDatos()
CargaTipoCambio()
If T.ActiveTabIndex = 0 Then CargaDatosProveedores()
If T.ActiveTabIndex = 1 Then CargaDatosProveedoresAnticipos()
@@ -77,7 +83,7 @@ Partial Class Bancos_FluctuacionCambiaria
If T.ActiveTabIndex = 7 Then CargaDatosAcreedoresDiversos() 'CargaDatosFiliales()
If T.ActiveTabIndex = 8 Then CargaDatosDeudores()
- UpTabs.Update()
+ UpTabs.Update()
End Sub
@@ -379,9 +385,17 @@ Partial Class Bancos_FluctuacionCambiaria
Private Sub CargaDatosAcreedoresDiversos()
Dim ObjBancos As New ClsBancos
LblTotalAcreedores.Text = "0.00"
- If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then
- GvAcreedorDiversos.DataSource = ObjBancos.DtResultados.FiltraParametros("Saldo > 0")
- LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
+ If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then
+ HdnAcreedoresDiversosCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
+ HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
+ BtnAcreedoresDiversosRemove.Visible = HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero > 0
+ BtnGeneraAcreeedoresDiversos.Visible = Not HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero > 0
+
+ HplAcreedoresDiversosPoliza.Visible = HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero > 0
+ HplAcreedoresDiversosPoliza.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
+
+ GvAcreedorDiversos.DataSource = ObjBancos.DtResultados
+ LblTotalAcreedoresDiversos.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
Else
GvAcreedorDiversos.DataSource = Nothing
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
@@ -1102,8 +1116,8 @@ Partial Class Bancos_FluctuacionCambiaria
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
- Dim ObjContPaq As New ClsContPAQi(UsuarioActual.Empresa)
- ObjContPaq.IniciaTransacSQL()
+ 'Dim ObjContPaq As New ClsContPAQi(UsuarioActual.Empresa)
+ 'ObjContPaq.IniciaTransacSQL()
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaFilial", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoFiliales.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim idCta As Integer = 0
Dim CveCuenta As Integer = 0
@@ -1157,9 +1171,6 @@ Partial Class Bancos_FluctuacionCambiaria
Banco.UpdateBancosTipoCambioValuacion(TCCierreFluctuacion, gvr.DataKey("CveIE").ToEntero, UsuarioActual.CveEmpresa)
End If
-
-
-
Next
If Not ErrorRegistrar Then
@@ -1168,28 +1179,96 @@ Partial Class Bancos_FluctuacionCambiaria
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
If AutoConta Then
- If Conta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then
+ If Conta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
Else
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
End If
- End If
-
- If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
- 'Fin autoconta
+ End If
+
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
+ 'Fin autoconta
Conta.Commit()
- Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion)
+ Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion)
Else
Conta.RollBack()
- ObjContPaq.RollBack()
+ 'ObjContPaq.RollBack()
End If
Conta.Dispose()
Banco.Dispose()
- ObjContPaq.Dispose()
+ 'ObjContPaq.Dispose()
End Sub
+
+
#End Region
+
+#Region "FLUCTUACION ACREEDORES DIVEROS"
+ Protected Sub BtnGeneraAcreeedoresDiversos_Click(sender As Object, e As EventArgs)
+
+ Dim Conta As New ClsContabilidad
+ Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
+ Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaAD", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoAcreedoresDiversos.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ Dim CveConceptoContable As Integer
+ Dim TipoMovto As Boolean
+ Dim ErrorRegistrar As Boolean = False
+
+ Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
+ Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal
+ Dim TotalAcumulado As Decimal = 0
+ Dim ConceptoFluctuacion As String = String.Format("Fluctuación Acreedores Diversos {0:d} ", FechaUltimoDiaMes)
+
+
+ For Each gvr As GridViewRow In GvAcreedorDiversos.Rows
+ TotalAcumulado += gvr.DataKey("Fluctuacion").ToDecimal
+ Next
+ 'TotalAcumulado = GvAcreedorDiversos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) Convert.ToDecimal(GvAcreedorDiversos.DataKeys(gvr.RowIndex)("Fluctuacion")))
+
+
+ If TotalAcumulado < 0 Then
+ CveConceptoContable = 64 : TipoMovto = True
+ Else
+ CveConceptoContable = 65 : TipoMovto = False
+ End If
+
+ 'saco las cuentas de pérdida y ganancia
+ For Each gvr As GridViewRow In GvAcreedorDiversos.Rows
+
+ If gvr.DataKey("Fluctuacion").ToDecimal <> 0 Then
+ 'movimiento de complementaria
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, gvr.DataKey("Fluctuacion").ToDecimal, ConceptoFluctuacion, 351, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), Now, 0, 0, TipoCambio:=TC, ImporteMX:=gvr.DataKey("Fluctuacion").ToDecimal, ImporteME:=gvr.DataKey("Fluctuacion").ToDecimal, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveSubProyecto:=DdlSubProyectoAcreedoresDiversos.SelectedValue.ToEntero) Then
+ ErrorRegistrar = True
+ Exit For
+ End If
+ End If
+
+ Next
+ If Not ErrorRegistrar Then
+
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(TotalAcumulado), ConceptoFluctuacion, CveConceptoContable, ConceptoFluctuacion, Now, 0, 0, ImporteMX:=Math.Abs(TotalAcumulado), CveSubProyecto:=DdlSubProyectoAcreedoresDiversos.SelectedValue.ToEntero) Then
+ ErrorRegistrar = True
+ End If
+ End If
+
+ If Not ErrorRegistrar Then
+
+ If Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 9, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
+ ErrorRegistrar = True
+ End If
+
+ Conta.Commit()
+
+ Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion)
+ Else
+ Conta.RollBack()
+ 'ObjContPaq.RollBack()
+ End If
+ Conta.Dispose()
+ Banco.Dispose()
+ 'ObjContPaq.Dispose()
+ End Sub
+#End Region
#Region "GRIDVIEWS"
@@ -1236,7 +1315,7 @@ Partial Class Bancos_FluctuacionCambiaria
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnProveedorCvePrePoliza.Value.ToEntero, 1, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
Banco.Commit()
BtnProveedoresRemove.visible = False
- Alert("Flucturación eliminada.")
+ Alert("Fluctuación eliminada.")
Else
Banco.RollBack()
End If
@@ -1251,7 +1330,7 @@ Partial Class Bancos_FluctuacionCambiaria
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnProveedorAntCvePrePoliza.Value.ToEntero, 2, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
Banco.Commit()
BtnProveedoresAntRemove.Visible = False
- Alert("Flucturación eliminada.")
+ Alert("Fluctuación eliminada.")
Else
Banco.RollBack()
End If
@@ -1265,7 +1344,7 @@ Partial Class Bancos_FluctuacionCambiaria
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnClienteCvePrePoliza.Value.ToEntero, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
Banco.Commit()
BtnClientesRemove.Visible = False
- Alert("Flucturación eliminada.")
+ Alert("Fluctuación eliminada.")
Else
Banco.RollBack()
End If
@@ -1279,7 +1358,7 @@ Partial Class Bancos_FluctuacionCambiaria
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnClienteAntCvePrePoliza.Value.ToEntero, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
Banco.Commit()
BtnClientesAntRemove.Visible = False
- Alert("Flucturación eliminada.")
+ Alert("Fluctuación eliminada.")
Else
Banco.RollBack()
End If
@@ -1293,7 +1372,7 @@ Partial Class Bancos_FluctuacionCambiaria
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedorCvePrePoliza.Value.ToEntero, 5, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
Banco.Commit()
BtnAcreedoresRemove.Visible = False
- Alert("Flucturación eliminada.")
+ Alert("Fluctuación eliminada.")
Else
Banco.RollBack()
End If
@@ -1307,7 +1386,7 @@ Partial Class Bancos_FluctuacionCambiaria
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedorAntCvePrePoliza.Value.ToEntero, 6, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
Banco.Commit()
BtnAcreedoresAntRemove.Visible = False
- Alert("Flucturación eliminada.")
+ Alert("Fluctuación eliminada.")
Else
Banco.RollBack()
End If
@@ -1352,4 +1431,19 @@ Partial Class Bancos_FluctuacionCambiaria
End Sub
#End Region
+
+ Protected Sub BtnAcreedoresDiversosRemove_Click(sender As Object, e As EventArgs)
+ Dim Banco As New ClsBancos
+ Banco.IniciaTransacSQL()
+
+ If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero, 9, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
+ Banco.Commit()
+ BtnAcreedoresDiversosRemove.Visible = False
+ CargaDatos()
+ Alert("Fluctuación eliminada.")
+ Else
+ Banco.RollBack()
+ End If
+ Banco.Dispose()
+ End Sub
End Class