1415 lines
69 KiB
VB.net
1415 lines
69 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports System.Globalization
|
|
Imports Extensiones
|
|
Partial Class Bancos_FluctuacionCambiaria
|
|
Inherits ClsPaginas
|
|
|
|
|
|
Public ReadOnly Property FechaUltimoDiaMes() As DateTime
|
|
Get
|
|
Return New DateTime(DdlAnio.SelectedValue.ToEntero(), DdlMes.SelectedValue.ToEntero(), 1).AddMonths(1).AddDays(-1)
|
|
End Get
|
|
End Property
|
|
|
|
#Region "PROPIEDADES"
|
|
Private Property LblTotal() As String
|
|
Get
|
|
Return ViewState("Total").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Total") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
CargaFechas()
|
|
|
|
CargarCentrosDeCosto(Nothing, DdlSubProyectoCompras, Nothing, LblSubProyectoCompras, "")
|
|
CargarCentrosDeCosto(Nothing, DdlSubProyectoComprasAnt, Nothing, LblSubProyectoComprasAnt, "")
|
|
CargarCentrosDeCosto(Nothing, DdlsubProyectoVentas, Nothing, LblSubProyectoVentas, "")
|
|
CargarCentrosDeCosto(Nothing, DdlsubProyectoVentasAnt, Nothing, LblSubProyectoVentasAnt, "")
|
|
CargarCentrosDeCosto(Nothing, DdlSubProyectoAcreedores, Nothing, LblSubProyectoAcreedores, "")
|
|
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()
|
|
End If
|
|
End Sub
|
|
|
|
#Region "CARGAS"
|
|
Private Sub CargaFechas()
|
|
'Año actual
|
|
DdlAnio.Items.Add(New ListItem(NowADS().Year.ToString(), NowADS().Year.ToString()))
|
|
'Año Anterior
|
|
DdlAnio.Items.Add(New ListItem(NowADS().AddYears(-1).Year.ToString(), NowADS().AddYears(-1).Year.ToString()))
|
|
DdlAnio.Items.Add(New ListItem(NowADS().AddYears(-2).Year.ToString(), NowADS().AddYears(-2).Year.ToString()))
|
|
|
|
For i As Integer = 1 To 12
|
|
Dim fecha As DateTime = New DateTime(DdlAnio.SelectedValue.ToEntero(), i, 1)
|
|
Dim mes As String = fecha.ToString("MMMM", CultureInfo.GetCultureInfo("es-MX"))
|
|
Dim mesStr As String = Char.ToUpper(mes(0)) + mes.Substring(1)
|
|
|
|
DdlMes.Items.Add(New ListItem(mesStr, i.ToString()))
|
|
Next
|
|
|
|
Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(NowADS().AddMonths(-1))
|
|
If UltimaFluctuacion IsNot Nothing Then
|
|
DdlMes.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Month)
|
|
DdlAnio.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Year)
|
|
End If
|
|
|
|
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()
|
|
If T.ActiveTabIndex = 2 Then CargaDatosClientes()
|
|
If T.ActiveTabIndex = 3 Then CargaDatosClientesAnticipos()
|
|
If T.ActiveTabIndex = 4 Then CargaDatosAcreedores()
|
|
If T.ActiveTabIndex = 5 Then CargaDatosAcreedoresAnticipos()
|
|
If T.ActiveTabIndex = 6 Then CargaDatosBancosCuentas()
|
|
|
|
If T.ActiveTabIndex = 7 Then CargaDatosAcreedoresDiversos() 'CargaDatosFiliales()
|
|
If T.ActiveTabIndex = 8 Then CargaDatosDeudores()
|
|
UpTabs.Update()
|
|
UPPCompara.Update()
|
|
End Sub
|
|
|
|
Private Sub CargaTipoCambio()
|
|
Dim ObjGenerales As New ClsGenerales
|
|
ObjGenerales.GetTipoCambio(-1, FechaUltimoDiaMes)
|
|
If ObjGenerales.DtResultados.Rows.Count > 0 Then
|
|
LtTipoCambioActual.Text = ObjGenerales.DtResultados.Rows(0)("TipoCambio").ToString
|
|
TxtConceptoFluctuacion.Text = "Fluctuación a " & FechaUltimoDiaMes.ToShortDateString()
|
|
End If
|
|
ObjGenerales.Dispose()
|
|
End Sub
|
|
|
|
Private Sub CargaUltimaFluctuacion()
|
|
|
|
Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(NowADS())
|
|
|
|
If UltimaFluctuacion IsNot Nothing Then
|
|
LtlUltimaFluctuacion.Text = String.Format("Ultima Fluctuación : {0}", UltimaFluctuacion.FechaFluctuacion.ToShortDateString)
|
|
DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month)
|
|
DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year)
|
|
''si la ultima fluctuacion es mayor o igual al fin de mes anterior, entonces pon la fecha actual
|
|
'If UltimaFluctuacion.FechaFluctuacion >= NowADS().AddMonths(-1).LastDayOfMonth Then
|
|
' DdlMes.SelectedValueExist(NowADS().Month)
|
|
' DdlAnio.SelectedValueExist(NowADS().Year)
|
|
'Else
|
|
' DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month)
|
|
' DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year)
|
|
'End If
|
|
End If
|
|
|
|
CargaTipoCambio()
|
|
End Sub
|
|
|
|
Private Sub CargaDatosProveedores()
|
|
Dim ObjBancos As New ClsBancos
|
|
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 1, UsuarioActual.CveEmpresa) Then
|
|
GvProveedores.DataSource = ObjBancos.DtResultados
|
|
'LblTotalCompras.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0 ")
|
|
Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0 ")
|
|
|
|
Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion").Abs
|
|
Dim GanaciaAux As Double = Ganancias.SUM("Fluctuacion").Abs
|
|
|
|
Dim Final As Double = GanaciaAux - PerdidaAux
|
|
HdnProveedorCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
|
|
HplProveedorLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
HplProveedorLiga.Visible = HdnProveedorCvePrePoliza.Value.ToEntero > 0
|
|
BtnProveedoresRemove.Visible = HdnProveedorCvePrePoliza.Value.ToEntero > 0
|
|
BtnGeneraCompras.Visible = Not HdnProveedorCvePrePoliza.Value.ToEntero > 0
|
|
|
|
IImagenResultado.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd")
|
|
|
|
LtIndicador_ExistenciaPerdida.Text = PerdidaAux.ToString.FormatoNumero
|
|
LtIndicador_ValorPesosGanancia.Text = GanaciaAux.ToString.FormatoNumero
|
|
LtIndicador_CPPesosFinal.Text = Final.Abs.ToString.FormatoNumero
|
|
LblComprasPerdidaGanancia.Text = If(Final < 0, "Ganancia", "Pérdida")
|
|
|
|
LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
Dim tdt As DataTable = VerificacionFluctuacion(1, FechaUltimoDiaMes)
|
|
LtIndicador_ExistenciaPerdida.Text = tdt.SUMD("Diferencia").FormatoNumero
|
|
LtIndicador_ValorPesosGanancia.Text = ""
|
|
LtIndicador_CPPesosFinal.Text = ""
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvProveedores.DataBind()
|
|
UpIndicadores.Visible = True
|
|
If GvProveedores.Rows.Count > 0 Then
|
|
GvProveedores.Rows(GvProveedores.Rows.Count - 1).CssClass = "SubTotales2"
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub CargaDatosProveedoresAnticipos()
|
|
Dim ObjBancos As New ClsBancos
|
|
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 2, UsuarioActual.CveEmpresa) Then
|
|
GvProveedoresAnt.DataSource = ObjBancos.DtResultados
|
|
'LblTotalCompras.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0 ")
|
|
Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0 ")
|
|
|
|
Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion").Abs
|
|
Dim GanaciaAux As Double = Ganancias.SUM("Fluctuacion")
|
|
|
|
Dim Final As Double = GanaciaAux - PerdidaAux
|
|
HdnProveedorAntCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
BtnProveedoresAntRemove.Visible = HdnProveedorAntCvePrePoliza.Value.ToEntero > 0
|
|
HplProveedorAntLiga.Visible = HdnProveedorAntCvePrePoliza.Value.ToEntero > 0
|
|
HplProveedorAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
BtnGeneraComprasAnt.Visible = Not HdnProveedorAntCvePrePoliza.Value.ToEntero > 0
|
|
|
|
IImagenResultado.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd")
|
|
|
|
LtIndicador_ExistenciaPerdida.Text = PerdidaAux.ToString.FormatoNumero
|
|
LtIndicador_ValorPesosGanancia.Text = GanaciaAux.ToString.FormatoNumero
|
|
LtIndicador_CPPesosFinal.Text = Final.Abs.ToString.FormatoNumero
|
|
LblComprasPerdidaGanancia.Text = If(Final > 0, "Ganancia", "Pérdida")
|
|
|
|
LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
VerificacionFluctuacion(2, FechaUltimoDiaMes)
|
|
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvProveedoresAnt.DataBind()
|
|
UpIndicadores.Visible = True
|
|
|
|
End Sub
|
|
|
|
Private Sub CargaDatosClientes()
|
|
Dim ObjBancos As New ClsBancos
|
|
LblTotalVentas.Text = "0.00"
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 3, UsuarioActual.CveEmpresa) Then
|
|
GvVentas.DataSource = ObjBancos.DtResultados
|
|
|
|
Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0")
|
|
Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0")
|
|
Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion", "Fluctuacion > 0").Abs
|
|
Dim GananciaAux As Double = Ganancias.SUM("Fluctuacion", "Fluctuacion < 0").Abs
|
|
|
|
HdnClienteCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
|
|
HplClientesLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
HplClientesLiga.Visible = HdnClienteCvePrePoliza.Value.ToEntero > 0
|
|
BtnClientesRemove.Visible = HdnClienteCvePrePoliza.Value.ToEntero > 0
|
|
BtnGeneraVentas.Visible = Not HdnClienteCvePrePoliza.Value.ToEntero > 0
|
|
|
|
'LtIndicador_PerdidasVentas.Text = PerdidaAux.ToString.FormatoNumero
|
|
'LtIndicador_GanaciaVentas.Text = GanaciaAux.ToString.FormatoNumero
|
|
'LtIndicador_FinalVentas.Text = Final.ToString.FormatoNumero
|
|
|
|
UpIndicadoresVentas.Visible = True
|
|
|
|
Dim tdt As DataTable = VerificacionFluctuacion(3, FechaUltimoDiaMes)
|
|
Dim Final As Decimal = tdt.SUMD("Diferencia")
|
|
IImagenFinalVentas.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd")
|
|
LblVentasPerdidaGanancia.Text = If(Final > 0, "Pérdida", "Ganancia")
|
|
|
|
LblTotalVentas.Text = (PerdidaAux - GananciaAux).FormatoNumero 'tdt.SUMD("Diferencia").FormatoNumero
|
|
LtIndicador_PerdidasVentas.Text = tdt.SUMD("Diferencia").FormatoNumero
|
|
LtIndicador_GanaciaVentas.Text = ""
|
|
LtIndicador_FinalVentas.Text = ""
|
|
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvVentas.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaDatosClientesAnticipos()
|
|
Dim ObjBancos As New ClsBancos
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 4, UsuarioActual.CveEmpresa) Then
|
|
GvClientesAnt.DataSource = ObjBancos.DtResultados
|
|
|
|
Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0")
|
|
Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0")
|
|
|
|
Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion", "Fluctuacion < 0").Abs
|
|
Dim GanaciaAux As Double = Ganancias.SUM("Fluctuacion", "Fluctuacion > 0")
|
|
|
|
Dim Final As Double = GanaciaAux - PerdidaAux
|
|
HdnClienteAntCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
HplClientesAntLiga.Visible = HdnClienteAntCvePrePoliza.Value.ToEntero > 0
|
|
HplClientesAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
BtnClientesAntRemove.Visible = HdnClienteAntCvePrePoliza.Value.ToEntero > 0
|
|
BtnClientesAnticipos.Visible = Not HdnClienteAntCvePrePoliza.Value.ToEntero > 0
|
|
|
|
'IImagenFinalVentas.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd")
|
|
|
|
'LtIndicador_PerdidasVentas.Text = PerdidaAux.ToString.FormatoNumero
|
|
'LtIndicador_GanaciaVentas.Text = GanaciaAux.ToString.FormatoNumero
|
|
'LtIndicador_FinalVentas.Text = Final.ToString.FormatoNumero
|
|
'LblVentasPerdidaGanancia.Text = If(Final < 0, "Pérdida", "Ganancia")
|
|
|
|
LblTotalVentasAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
|
|
UpIndicadoresVentas.Visible = True
|
|
VerificacionFluctuacion(4, FechaUltimoDiaMes)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvClientesAnt.DataBind()
|
|
End Sub
|
|
|
|
|
|
Private Sub CargaDatosAcreedores()
|
|
Dim ObjBancos As New ClsBancos
|
|
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 5, UsuarioActual.CveEmpresa) Then
|
|
|
|
HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
HdnAcreedorCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
BtnAcreedoresRemove.Visible = HdnAcreedorCvePrePoliza.Value.ToEntero > 0
|
|
BtnGeneraAcreedores.Visible = Not HdnAcreedorCvePrePoliza.Value.ToEntero > 0
|
|
|
|
HplAcreedorLiga.Visible = HdnAcreedorCvePrePoliza.Value.ToEntero > 0
|
|
HplAcreedorLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
GvAcreedores.DataSource = ObjBancos.DtResultados
|
|
LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
VerificacionFluctuacion(5, FechaUltimoDiaMes)
|
|
Else
|
|
GvAcreedores.DataSource = Nothing
|
|
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvAcreedores.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaDatosAcreedoresAnticipos()
|
|
Dim ObjBancos As New ClsBancos
|
|
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 6, UsuarioActual.CveEmpresa) Then
|
|
HdnAcreedorAntCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
BtnAcreedoresAntRemove.Visible = HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0
|
|
BtnGeneraAcreedoresAnt.Visible = Not HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0
|
|
HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
|
|
HplAcreedorAntLiga.Visible = HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0
|
|
HplAcreedorAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
GvAcreedoresAnt.DataSource = ObjBancos.DtResultados
|
|
LblTotalAcreedoresAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
VerificacionFluctuacion(6, FechaUltimoDiaMes)
|
|
Else
|
|
GvAcreedoresAnt.DataSource = Nothing
|
|
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvAcreedoresAnt.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaDatosBancosCuentas()
|
|
Dim ObjBancos As New ClsBancos
|
|
LblTotalBancos.Text = "0.00"
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 77, UsuarioActual.CveEmpresa) Then
|
|
Dim DtTemp As DataTable = ObjBancos.DtResultados.Copy
|
|
Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal
|
|
Dim TotAcumulado As Decimal = ObjBancos.DtResultados.SUMD("Fluctuacion")
|
|
'bancos no lleva seguimiento
|
|
'HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString
|
|
'HdnBancoCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString
|
|
'BtnBancosRemove.Visible = HdnBancoCvePrePoliza.Value.ToEntero > 0
|
|
'BtnGeneraBancos.Visible = Not HdnBancoCvePrePoliza.Value.ToEntero > 0
|
|
|
|
'HplBancosLiga.Visible = HdnBancoCvePrePoliza.Value.ToEntero > 0
|
|
'HplBancosLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
|
|
|
|
GvCuentas.DataSource = DtTemp
|
|
LblTotalBancos.Text = TotAcumulado.FormatoNumero
|
|
VerificacionFluctuacion(77, FechaUltimoDiaMes)
|
|
Else
|
|
GvCuentas.DataSource = Nothing
|
|
Alert("Ocurrio un error al cargar las cuentas", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvCuentas.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaDatosDeudores()
|
|
Dim ObjBancos As New ClsBancos
|
|
LblTotalDeudores.Text = "0.00"
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 9, UsuarioActual.CveEmpresa) Then
|
|
GvDeudores.DataSource = ObjBancos.DtResultados
|
|
LblTotalDeudores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
VerificacionFluctuacion(9, FechaUltimoDiaMes)
|
|
Else
|
|
GvDeudores.DataSource = Nothing
|
|
Alert("Ocurrio un error al cargar los deudores", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvDeudores.DataBind()
|
|
End Sub
|
|
|
|
|
|
Private Sub CargaDatosFiliales()
|
|
Dim ObjBancos As New ClsBancos
|
|
LblTotalAcreedores.Text = "0.00"
|
|
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then
|
|
GvFiliales.DataSource = ObjBancos.DtResultados.FiltraParametros("Saldo > 0")
|
|
LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
|
|
VerificacionFluctuacion(88, FechaUltimoDiaMes)
|
|
Else
|
|
GvFiliales.DataSource = Nothing
|
|
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvFiliales.DataBind()
|
|
End Sub
|
|
Private Sub CargaDatosAcreedoresDiversos()
|
|
Dim ObjBancos As New ClsBancos
|
|
LblTotalAcreedores.Text = "0.00"
|
|
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)
|
|
End If
|
|
ObjBancos.Dispose()
|
|
GvAcreedorDiversos.DataBind()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "FLUCTUACION COMPRAS"
|
|
|
|
Protected Sub BtnGeneraCompras_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim Total As Decimal = 0
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaC", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoCompras.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
Dim CveCompra, CveProv As Integer
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
|
|
Total = LblTotal.ToDecimal
|
|
If Total < 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal()
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Proveedores Anticipos", "Fluctuación Proveedores Anticipos", CveSubProyecto:=DdlSubProyectoCompras.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
If CveBitacora <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvProveedores.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
CveCompra = gvr.DataKey("CveCompra").ToEntero
|
|
CveProv = gvr.DataKey("CveProveedor").ToEntero
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 1, CveBitacora, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'VERIFICACION DE IMPORTES Y AJUSTE
|
|
If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 1, 201, FechaUltimoDiaMes, Conta, CveCompra:=CveCompra, CveProveedor:=CveProv) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
BtnGeneraCompras.Visible = False
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver PrePóliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
Alert("Error al generar la fluctuación", TipoMensaje.MsgError)
|
|
End If
|
|
Conta.Dispose()
|
|
End Sub
|
|
|
|
|
|
Protected Sub BtnGeneraComprasAnt_Click(sender As Object, e As EventArgs)
|
|
Dim Total As Decimal = 0
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaC", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoComprasAnt.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
Total = LblTotal.ToDecimal
|
|
If Total > 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal()
|
|
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Compras Anticipos", "Fluctuación Proveedores Anticipos", CveSubProyecto:=DdlSubProyectoComprasAnt.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
If CveBitacora <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvProveedoresAnt.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 2, CveBitacora, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
BtnGeneraComprasAnt.Visible = False
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver PrePóliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
Alert("Error al generar la fluctuación", TipoMensaje.MsgError)
|
|
End If
|
|
Banco.Dispose()
|
|
Conta.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "FLUCTUACION VENTAS"
|
|
|
|
Protected Sub BtnGeneraVentas_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim Total As Decimal = 0
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal()
|
|
|
|
Total = LblTotalVentas.Text.ToDecimal
|
|
If Total < 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
If Total = 0 Then
|
|
Alert("El Importe tiene que ser diferente a cero", TipoMensaje.MsgError)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaV", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoVentas.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Ventas", "Fluctuación Ventas", CveSubProyecto:=DdlsubProyectoVentas.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 3, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
If CveBitacora <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveConconceptoCliente As Integer = 203
|
|
Dim CveVenta, CveCliente As Integer
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvVentas.Rows
|
|
Total = -gvr.DataKey("Fluctuacion").ToDecimal
|
|
CveVenta = gvr.DataKey("CveVenta").ToEntero
|
|
CveCliente = gvr.DataKey("CveCliente").ToEntero
|
|
If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso CveVenta < 0) OrElse (CveVenta > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then
|
|
CveConconceptoCliente = 226
|
|
Else
|
|
CveConconceptoCliente = 203
|
|
End If
|
|
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, CveConconceptoCliente, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveVenta:=CveVenta, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveCliente:=CveCliente) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
If Not Conta.UpdateTCValuacion(CveVenta, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'VERIFICACION DE IMPORTES Y AJUSTE
|
|
If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 3, 203, FechaUltimoDiaMes, Conta, CveVenta:=CveVenta, CveCliente:=CveCliente) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
BtnGeneraVentas.Visible = False
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver PrePóliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
|
|
Else
|
|
Conta.RollBack()
|
|
Alert("Error al generar la fluctuación", TipoMensaje.MsgError)
|
|
End If
|
|
Conta.Dispose()
|
|
End Sub
|
|
|
|
Private Function AjusteFluctuacion(CvePrePoliza As Integer, TipoFluctuacion As Integer, CveConcepto As Integer, FechaUltimoDaMes As Date, ByRef ObjConta As ClsContabilidad, Optional CveVenta As Integer = -1, Optional CveCliente As Integer = -1, Optional CveCompra As Integer = -1, Optional CveProveedor As Integer = -1) As Boolean
|
|
If Not UsuarioActual.CveEmpresa.Contiene(119, 172, 174) Then Return True
|
|
|
|
Dim ErrorRegistrar As Boolean = False
|
|
Dim tdt As DataTable = VerificacionFluctuacion(TipoFluctuacion, FechaUltimoDiaMes)
|
|
CveConcepto = 299 ' manual
|
|
'ajustar las cuentas.
|
|
Dim AjusteTotal As Decimal = tdt.SUMD("Diferencia")
|
|
Dim tTipoMovto As Boolean = If(TipoFluctuacion.Contiene(2, 3, 6), False, True) 'LAS OPCIONES QUE SE CARGAN
|
|
If tdt IsNot Nothing Then
|
|
For Each dr As DataRow In tdt.FiltraParametros("Diferencia <> 0").Rows
|
|
Dim imp As Decimal = dr("Diferencia").ToString.ToDecimal * -1
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, imp, imp, CveConcepto, "Fluctuación", "Fluctuación", CveVenta:=CveVenta, TipoCambio:=2, ImporteME:=imp, CveCliente:=CveCliente, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveCuenta:=dr("CveCuentaComplementaria").ToString.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
'ajustar el importe
|
|
If AjusteTotal <> 0 AndAlso ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
|
|
Dim dr As DataRow = ObjConta.DtResultados.FiltroPrimero("CveConceptoContable in (64,65)")
|
|
If dr IsNot Nothing Then
|
|
Dim tcvePrePDetalle As Integer = dr("CvePrePolizaDetalle").ToString.ToEntero
|
|
Dim tCveConcepto As Integer = dr("CveConceptoContable").ToString.ToEntero
|
|
'If dr("CveConceptoContable").ToString = "65" Then
|
|
' AjusteTotal = AjusteTotal + dr("Importe").ToString.ToDecimal
|
|
'End If
|
|
tTipoMovto = dr("TipoMovto").ToString.ToBool
|
|
If TipoFluctuacion.Contiene(3) AndAlso tTipoMovto Then AjusteTotal = -AjusteTotal 'si es cleintes, abonado y el ajustes es positivo tiene que restar
|
|
If TipoFluctuacion.Contiene(1) AndAlso tTipoMovto = False Then AjusteTotal = -AjusteTotal 'si es prov, cargado y el ajustes es positivo tiene que restar
|
|
|
|
|
|
AjusteTotal = AjusteTotal + dr("Importe").ToString.ToDecimal
|
|
If AjusteTotal < 0 Then
|
|
AjusteTotal = Math.Abs(AjusteTotal) ' ' si hay cambio de fluctuacion de pérdida a ganancia, o viceversas
|
|
tTipoMovto = Not tTipoMovto
|
|
If tTipoMovto Then tCveConcepto = 64 Else tCveConcepto = 65
|
|
End If
|
|
ObjConta.UpdatePrePolizasDetalle(dr("CvePrePolizaDetalle").ToString.ToEntero, dr("Concepto").ToString, -1, -1, tTipoMovto,
|
|
CveConceptoContable:=tCveConcepto, ImporteMN:=AjusteTotal, Importe:=AjusteTotal)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
Return ErrorRegistrar
|
|
End Function
|
|
|
|
Protected Sub BtnClientesAnticipos_Click(sender As Object, e As EventArgs)
|
|
Dim Total As Decimal = 0
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal()
|
|
|
|
Total = LblTotalVentasAnt.Text.ToDecimal
|
|
If Total < 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
If Total = 0 Then
|
|
Alert("El Importe tiene que ser diferente a cero", TipoMensaje.MsgError)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaV", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoVentasAnt.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Ventas", "Fluctuación Ventas", CveSubProyecto:=DdlsubProyectoVentasAnt.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 4, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
If CveBitacora <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveConconceptoCliente As Integer = 203
|
|
Dim CveVenta, CveCliente As Integer
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvClientesAnt.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
CveVenta = gvr.DataKey("CveVenta").ToEntero
|
|
CveCliente = -1
|
|
If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso CveVenta < 0) OrElse (CveVenta > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then
|
|
CveConconceptoCliente = 226
|
|
Else
|
|
CveConconceptoCliente = 203
|
|
End If
|
|
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, CveConconceptoCliente, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveVenta:=CveVenta, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
If Not Conta.UpdateTCValuacion(CveVenta, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'VERIFICACION DE IMPORTES Y AJUSTE
|
|
If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 4, 226, FechaUltimoDiaMes, Conta, CveVenta:=CveVenta, CveCliente:=CveCliente) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
BtnClientesAnticipos.Visible = False
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver PrePóliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
|
|
Else
|
|
Conta.RollBack()
|
|
Alert("Error al generar la fluctuación", TipoMensaje.MsgError)
|
|
End If
|
|
Conta.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "FLUCTUACION ACREEDORES"
|
|
|
|
Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs)
|
|
RegistraFluctuacionAcreedores()
|
|
End Sub
|
|
|
|
Private Sub RegistraFluctuacionAcreedores(Optional Anticipos As Boolean = False)
|
|
Dim Total As Decimal = 0
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaA", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoAcreedores.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
Dim CveCompra, CveProv As Integer
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
|
|
Total = LblTotalAcreedores.Text.ToDecimal
|
|
If Total < 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal()
|
|
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Acreedores", "Fluctuación Acreedores", CveSubProyecto:=DdlSubProyectoAcreedores.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 5, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
If CveBitacora <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvAcreedores.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
CveCompra = gvr.DataKey("CveCompra").ToEntero
|
|
CveProv = gvr.DataKey("CveProveedor").ToEntero
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, 307, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 5, CveBitacora, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'VERIFICACION DE IMPORTES Y AJUSTE
|
|
If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 5, 307, FechaUltimoDiaMes, Conta, CveCompra:=CveCompra, CveProveedor:=CVEPROV) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
BtnGeneraAcreedores.Visible = False
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
Alert("Error al generar la fluctuación", TipoMensaje.MsgError)
|
|
End If
|
|
Conta.Dispose()
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
|
|
Protected Sub BtnGeneraAcreedoresAnt_Click(sender As Object, e As EventArgs)
|
|
Dim Total As Decimal = 0
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaA", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoAcreedoresAnt.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
Dim CveCompra, CveProv As Integer
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
|
|
Total = LblTotalAcreedoresAnt.Text.ToDecimal
|
|
If Total > 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal()
|
|
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Acreedores", "Fluctuación Acreedores Anticipos ", CveSubProyecto:=DdlSubProyectoAcreeedoresAnt.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 6, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
If CveBitacora <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvAcreedoresAnt.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
CveCompra = gvr.DataKey("CveCompra").ToEntero
|
|
CveProv = gvr.DataKey("CveProveedor").ToEntero
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, 347, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 6, CveBitacora, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
'VERIFICACION DE IMPORTES Y AJUSTE
|
|
If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 6, 347, FechaUltimoDiaMes, Conta, CveCompra:=CveCompra, CveProveedor:=CveProv) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
BtnGeneraAcreedoresAnt.Visible = False
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
Alert("Error al generar la fluctuación", TipoMensaje.MsgError)
|
|
End If
|
|
Conta.Dispose()
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "FLUCTUACION BANCOS"
|
|
|
|
Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim Total As Decimal = 0
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
Dim ErrorRegistrar As Boolean = False
|
|
Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal
|
|
Dim MesTCtexto As String = String.Format("{0} TC:{1}", FechaUltimoDiaMes.ToString("MMMM-yyyy"), TCCierreFluctuacion)
|
|
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaB", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoBancos.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
|
|
Total = LblTotalBancos.Text.ToDecimal
|
|
|
|
Dim CveConconceptoBancos As Integer = 204
|
|
|
|
If HdnCveFluctuacionBitacora.Value.ToEntero <= 0 Then
|
|
HdnCveFluctuacionBitacora.Value = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).ToString
|
|
If HdnCveFluctuacionBitacora.Value.ToEntero <= 0 Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvCuentas.Rows
|
|
Dim cb As CheckBox = gvr.FCCheckBox("ChkGenerarBancos")
|
|
If cb.Checked Then
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
Dim ConceptoReferencia As String = String.Format("{0} - {1} {2}", gvr.DataKey("Banco"), gvr.DataKey("NumCuenta"), MesTCtexto)
|
|
|
|
'MOVIMIENTO DE FLUCTUACION
|
|
If Total > 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConconceptoBancos, ConceptoReferencia, ConceptoReferencia, TipoCambio:=TC, ImporteME:=Math.Abs(Total), CveCuenta:=gvr.DataKey("CveCuentaMEComplementaria").ToEntero) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
|
|
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, ConceptoReferencia, ConceptoReferencia, 0, CveSubProyecto:=DdlSubproyectoBancos.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 7, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
' ObjContPaq.Commit()
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver PrePóliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
CargaDatosBancosCuentas()
|
|
Else
|
|
Conta.RollBack()
|
|
' ObjContPaq.Dispose()
|
|
End If
|
|
Conta.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "FLUCTUACION DEUDOR"
|
|
|
|
Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim Total As Decimal = 0
|
|
Dim Conta As New ClsContabilidad
|
|
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
|
|
Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaDD", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoDeudores.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
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
|
|
|
|
Total = LblTotalAcreedores.Text.ToDecimal
|
|
Dim ConceptoFluctuacion As String = String.Format("Fluctuación Filiales {0} ", FechaUltimoDiaMes)
|
|
Dim CveConconceptoDeudores As Integer = 256
|
|
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvDeudores.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal.RoundSQL
|
|
|
|
If gvr.DataKey("CveIE").ToEntero = 0 Then
|
|
If Total > 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, ConceptoFluctuacion, ConceptoFluctuacion, CveSubProyecto:=DdlSubProyectoDeudores.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConconceptoDeudores, ConceptoFluctuacion, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), TipoCambio:=TC, ImporteME:=Math.Abs(Total)) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
'actualizar el TC del IE, al nuevo TC de la fluctuación
|
|
Banco.UpdateBancosTipoCambioValuacion(TCCierreFluctuacion, gvr.DataKey("CveIE").ToEntero, UsuarioActual.CveEmpresa)
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
End If
|
|
Conta.Dispose()
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "FLUCTUACION FILIALES"
|
|
|
|
Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs)
|
|
|
|
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 CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaFilial", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoFiliales.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
Dim TipoMovto As Boolean = False
|
|
Dim CveConceptoContable As Integer = 0
|
|
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
|
|
|
|
Total = LblTotalAcreedores.Text.ToDecimal
|
|
Dim ConceptoFluctuacion As String = String.Format("Fluctuación Filiales {0} ", FechaUltimoDiaMes)
|
|
|
|
'saco las cuentas de pérdida y ganancia
|
|
For Each gvr As GridViewRow In GvFiliales.Rows
|
|
Total = gvr.DataKey("Fluctuacion").ToDecimal
|
|
'si es pérdida o ganancia
|
|
|
|
'cuando es acumulado, SOLO REGISTRA
|
|
If gvr.DataKey("CveIE").ToEntero = 0 Then
|
|
If Total < 0 Then
|
|
CveConceptoContable = 64
|
|
TipoMovto = True
|
|
Else
|
|
CveConceptoContable = 65
|
|
TipoMovto = False
|
|
End If
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, ConceptoFluctuacion, ConceptoFluctuacion, CveSubProyecto:=DdlSubProyectoFiliales.SelectedValue.ToEntero) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
'movimiento de complementaria
|
|
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(Total), Math.Abs(Total), 345, ConceptoFluctuacion, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), TipoCambio:=TC, ImporteME:=Math.Abs(Total)) Then
|
|
ErrorRegistrar = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
'actualizar el TC del IE, al nuevo TC de la fluctuación
|
|
Banco.UpdateBancosTipoCambioValuacion(TCCierreFluctuacion, gvr.DataKey("CveIE").ToEntero, UsuarioActual.CveEmpresa)
|
|
|
|
End If
|
|
Next
|
|
|
|
If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
ErrorRegistrar = True
|
|
End If
|
|
|
|
If Not ErrorRegistrar Then
|
|
Conta.Commit()
|
|
Alert(String.Format("La Fluctuación se ha generado <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
'ObjContPaq.RollBack()
|
|
End If
|
|
Conta.Dispose()
|
|
Banco.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, gvr.DataKey("Fluctuacion").ToDecimal, 351, ConceptoFluctuacion, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), TipoCambio:=TC, 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, Not TipoMovto, Math.Abs(TotalAcumulado), Math.Abs(TotalAcumulado), CveConceptoContable, ConceptoFluctuacion, ConceptoFluctuacion, 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 <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
'ObjContPaq.RollBack()
|
|
End If
|
|
Conta.Dispose()
|
|
Banco.Dispose()
|
|
'ObjContPaq.Dispose()
|
|
End Sub
|
|
#End Region
|
|
#Region "GRIDVIEWS"
|
|
|
|
|
|
'Protected Sub GvCuentas_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCuentas.RowDataBound
|
|
' If e.Row.RowType = DataControlRowType.DataRow Then
|
|
' 'TipoCambio = e.Row.DBCampo("TipoCambio").ToString.ToDouble
|
|
' 'e.Row.FCLabel("LbTipoCambioActual").Text = TipoCambioActual.ToString
|
|
' 'e.Row.FCLabel("LbTipoCambio").Text = If(TipoCambio > 0, TipoCambio.ToString, "No hay TipoCambio")
|
|
' 'e.Row.FCLabel("LbFluctuacion").Text = If(TipoCambio > 0, ((TipoCambio - TipoCambioActual) * e.Row.DBCampo("Saldo").ToString.ToDouble).ToString, "No aplica")
|
|
|
|
' End If
|
|
'End Sub
|
|
|
|
Private Sub GvFiliales_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvFiliales.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("CveIE").ToString.ToEntero = 0 Then
|
|
e.Row.CssClass = "SubTotales"
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
Private Sub GvDeudores_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDeudores.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("CveIE").ToString.ToEntero = 0 Then
|
|
e.Row.CssClass = "SubTotales"
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
Protected Sub BtnProveedoresRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnProveedorCvePrePoliza.Value.ToEntero, 1, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnProveedoresRemove.visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
|
|
End Sub
|
|
|
|
Protected Sub BtnProveedoresAntRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnProveedorAntCvePrePoliza.Value.ToEntero, 2, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnProveedoresAntRemove.Visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub BtnClientesRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnClienteCvePrePoliza.Value.ToEntero, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnClientesRemove.Visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub BtnClientesAntRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnClienteAntCvePrePoliza.Value.ToEntero, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnClientesAntRemove.Visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub BtnAcreedoresRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedorCvePrePoliza.Value.ToEntero, 5, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnAcreedoresRemove.Visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub BtnAcreedoresAntRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedorAntCvePrePoliza.Value.ToEntero, 6, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnAcreedoresAntRemove.Visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
#Region " EXPORTA EXCEL "
|
|
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
|
|
Dim StrFiltro As New StringBuilder
|
|
'If DdlProveedor.SelectedValue.ToEntero > 0 Then
|
|
StrFiltro.AppendFormat("Filtro: ", DdlMes.SelectedItem.ToString)
|
|
StrFiltro.AppendFormat("{0} ", DdlMes.SelectedItem.ToString)
|
|
StrFiltro.AppendFormat("{0} ", DdlAnio.SelectedValue)
|
|
StrFiltro.AppendFormat("TC: {0}", LtTipoCambioActual.Text)
|
|
|
|
If (T.ActiveTabIndex = 0) Then
|
|
'GvProveedores.ExportToExcelGembox("FluctuacionCambiariaProveedores_" & NowADS().ToShortDateString)
|
|
GvProveedores.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Proveedores", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 1) Then
|
|
GvProveedoresAnt.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Proveedores Anticipos", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 2) Then
|
|
GvVentas.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Clientes", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 3) Then
|
|
GvClientesAnt.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Clientes Anticipos", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 4) Then
|
|
GvAcreedores.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Compras Acreedores", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 5) Then
|
|
GvAcreedoresAnt.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Acreedores Anticipos", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 6) Then
|
|
GvCuentas.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Bancos", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 7) Then
|
|
GvFiliales.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Filiales", DatosFiltros:=StrFiltro.ToString())
|
|
ElseIf (T.ActiveTabIndex = 8) Then
|
|
GvDeudores.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Deudores", DatosFiltros:=StrFiltro.ToString())
|
|
End If
|
|
|
|
' ImprimirReportePdf("Excel")
|
|
End Sub
|
|
|
|
|
|
Public Overrides Sub VerifyRenderingInServerForm(control As Control)
|
|
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
|
|
|
|
Protected Sub BtnBancosRemove_Click(sender As Object, e As EventArgs)
|
|
Dim Banco As New ClsBancos
|
|
Banco.IniciaTransacSQL()
|
|
|
|
If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnBancoCvePrePoliza.Value.ToEntero, 7, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
Banco.Commit()
|
|
BtnBancosRemove.Visible = False
|
|
Alert("Fluctuación eliminada.")
|
|
Else
|
|
Banco.RollBack()
|
|
End If
|
|
Banco.Dispose()
|
|
End Sub
|
|
|
|
|
|
#Region "VERIFICACION "
|
|
Private Function VerificacionFluctuacion(Opcion As Integer, Fecha As Date) As DataTable
|
|
If Fecha <= ("2024/09/01").ToDate Then Return Nothing ' si s mejor a sep/24, es esquema anterior
|
|
|
|
Dim tdt As DataTable = Nothing
|
|
Dim Conta As New ClsContabilidad
|
|
If Conta.GetAjusteFluctuacion(Opcion, Fecha, UsuarioActual.CveEmpresa) Then
|
|
tdt = Conta.DtResultados
|
|
GvComparativo.DataSource = tdt
|
|
End If
|
|
Conta.Dispose()
|
|
GvComparativo.DataBind()
|
|
Return tdt
|
|
End Function
|
|
#End Region
|
|
|
|
End Class
|