-- nuevo grid de validación

This commit is contained in:
2024-10-17 16:22:41 -07:00
parent 01c74a128a
commit ac553c3147
2 changed files with 155 additions and 32 deletions

View File

@@ -913,6 +913,20 @@
</ajax:TabPanel> </ajax:TabPanel>
</ajax:TabContainer> </ajax:TabContainer>
<asp:UpdatePanel ID="UPPCompara" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvComparativo" runat="server" AutoGenerateColumns="False"
CssClass="table table-hover table-striped ScrollAD mysmallbtn" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Cuenta" DataField="CuentaFormatoNombre" ItemStyle-Width="400" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="$ ME" DataField="Importe" ItemStyle-Width="100" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="$ Complementario" DataField="ImporteComp" ItemStyle-Width="100" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Fluctuación" DataField="Diferencia" ItemStyle-Width="100" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="TC" HeaderText="TipoCambio" ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</asp:Content> </asp:Content>

View File

@@ -28,6 +28,7 @@ Partial Class Bancos_FluctuacionCambiaria
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then If Not Page.IsPostBack Then
CargaFechas() CargaFechas()
CargarCentrosDeCosto(Nothing, DdlSubProyectoCompras, Nothing, LblSubProyectoCompras, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoCompras, Nothing, LblSubProyectoCompras, "")
CargarCentrosDeCosto(Nothing, DdlSubProyectoComprasAnt, Nothing, LblSubProyectoComprasAnt, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoComprasAnt, Nothing, LblSubProyectoComprasAnt, "")
CargarCentrosDeCosto(Nothing, DdlsubProyectoVentas, Nothing, LblSubProyectoVentas, "") CargarCentrosDeCosto(Nothing, DdlsubProyectoVentas, Nothing, LblSubProyectoVentas, "")
@@ -60,10 +61,10 @@ Partial Class Bancos_FluctuacionCambiaria
DdlMes.Items.Add(New ListItem(mesStr, i.ToString())) DdlMes.Items.Add(New ListItem(mesStr, i.ToString()))
Next Next
Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(NowADS()) Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(NowADS().AddMonths(-1))
If UltimaFluctuacion IsNot Nothing Then If UltimaFluctuacion IsNot Nothing Then
DdlMes.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Month) DdlMes.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Month)
DdlMes.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Year) DdlAnio.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Year)
End If End If
End Sub End Sub
@@ -85,6 +86,7 @@ Partial Class Bancos_FluctuacionCambiaria
If T.ActiveTabIndex = 7 Then CargaDatosAcreedoresDiversos() 'CargaDatosFiliales() If T.ActiveTabIndex = 7 Then CargaDatosAcreedoresDiversos() 'CargaDatosFiliales()
If T.ActiveTabIndex = 8 Then CargaDatosDeudores() If T.ActiveTabIndex = 8 Then CargaDatosDeudores()
UpTabs.Update() UpTabs.Update()
UPPCompara.Update()
End Sub End Sub
Private Sub CargaTipoCambio() Private Sub CargaTipoCambio()
@@ -103,14 +105,16 @@ Partial Class Bancos_FluctuacionCambiaria
If UltimaFluctuacion IsNot Nothing Then If UltimaFluctuacion IsNot Nothing Then
LtlUltimaFluctuacion.Text = String.Format("Ultima Fluctuación : {0}", UltimaFluctuacion.FechaFluctuacion.ToShortDateString) LtlUltimaFluctuacion.Text = String.Format("Ultima Fluctuación : {0}", UltimaFluctuacion.FechaFluctuacion.ToShortDateString)
'si la ultima fluctuacion es mayor o igual al fin de mes anterior, entonces pon la fecha actual DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month)
If UltimaFluctuacion.FechaFluctuacion >= NowADS().AddMonths(-1).LastDayOfMonth Then DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year)
DdlMes.SelectedValueExist(NowADS().Month) ''si la ultima fluctuacion es mayor o igual al fin de mes anterior, entonces pon la fecha actual
DdlAnio.SelectedValueExist(NowADS().Year) 'If UltimaFluctuacion.FechaFluctuacion >= NowADS().AddMonths(-1).LastDayOfMonth Then
Else ' DdlMes.SelectedValueExist(NowADS().Month)
DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month) ' DdlAnio.SelectedValueExist(NowADS().Year)
DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year) 'Else
End If ' DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month)
' DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year)
'End If
End If End If
CargaTipoCambio() CargaTipoCambio()
@@ -145,14 +149,18 @@ Partial Class Bancos_FluctuacionCambiaria
LblComprasPerdidaGanancia.Text = If(Final < 0, "Ganancia", "Pérdida") LblComprasPerdidaGanancia.Text = If(Final < 0, "Ganancia", "Pérdida")
LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
Dim tdt As DataTable = VerificacionFluctuacion(1, FechaUltimoDiaMes)
End If LtIndicador_ExistenciaPerdida.Text = tdt.SUMD("Diferencia").FormatoNumero
LtIndicador_ValorPesosGanancia.Text = ""
LtIndicador_CPPesosFinal.Text = ""
End If
ObjBancos.Dispose() ObjBancos.Dispose()
GvProveedores.DataBind() GvProveedores.DataBind()
UpIndicadores.Visible = True UpIndicadores.Visible = True
If GvProveedores.Rows.Count > 0 Then If GvProveedores.Rows.Count > 0 Then
GvProveedores.Rows(GvProveedores.Rows.Count - 1).CssClass = "SubTotales2" GvProveedores.Rows(GvProveedores.Rows.Count - 1).CssClass = "SubTotales2"
End If End If
End Sub End Sub
Private Sub CargaDatosProveedoresAnticipos() Private Sub CargaDatosProveedoresAnticipos()
@@ -183,10 +191,11 @@ Partial Class Bancos_FluctuacionCambiaria
LblComprasPerdidaGanancia.Text = If(Final > 0, "Ganancia", "Pérdida") LblComprasPerdidaGanancia.Text = If(Final > 0, "Ganancia", "Pérdida")
LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
VerificacionFluctuacion(2, FechaUltimoDiaMes)
End If End If
ObjBancos.Dispose() ObjBancos.Dispose()
GvProveedoresAnt.DataBind() GvProveedoresAnt.DataBind()
UpIndicadores.Visible = True UpIndicadores.Visible = True
End Sub End Sub
@@ -223,6 +232,11 @@ Partial Class Bancos_FluctuacionCambiaria
UpIndicadoresVentas.Visible = True UpIndicadoresVentas.Visible = True
Dim tdt As DataTable = VerificacionFluctuacion(3, FechaUltimoDiaMes)
LtIndicador_PerdidasVentas.Text = tdt.SUMD("Diferencia").FormatoNumero
LtIndicador_GanaciaVentas.Text = ""
LtIndicador_FinalVentas.Text = ""
End If End If
ObjBancos.Dispose() ObjBancos.Dispose()
GvVentas.DataBind() GvVentas.DataBind()
@@ -257,7 +271,7 @@ Partial Class Bancos_FluctuacionCambiaria
LblTotalVentasAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotalVentasAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
UpIndicadoresVentas.Visible = True UpIndicadoresVentas.Visible = True
VerificacionFluctuacion(4, FechaUltimoDiaMes)
End If End If
ObjBancos.Dispose() ObjBancos.Dispose()
GvClientesAnt.DataBind() GvClientesAnt.DataBind()
@@ -278,6 +292,7 @@ Partial Class Bancos_FluctuacionCambiaria
HplAcreedorLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) HplAcreedorLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
GvAcreedores.DataSource = ObjBancos.DtResultados GvAcreedores.DataSource = ObjBancos.DtResultados
LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
VerificacionFluctuacion(5, FechaUltimoDiaMes)
Else Else
GvAcreedores.DataSource = Nothing GvAcreedores.DataSource = Nothing
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
@@ -298,7 +313,8 @@ Partial Class Bancos_FluctuacionCambiaria
HplAcreedorAntLiga.Visible = HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0 HplAcreedorAntLiga.Visible = HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0
HplAcreedorAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) HplAcreedorAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString)
GvAcreedoresAnt.DataSource = ObjBancos.DtResultados GvAcreedoresAnt.DataSource = ObjBancos.DtResultados
LblTotalAcreedoresAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotalAcreedoresAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
VerificacionFluctuacion(6, FechaUltimoDiaMes)
Else Else
GvAcreedoresAnt.DataSource = Nothing GvAcreedoresAnt.DataSource = Nothing
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
@@ -325,6 +341,7 @@ Partial Class Bancos_FluctuacionCambiaria
GvCuentas.DataSource = DtTemp GvCuentas.DataSource = DtTemp
LblTotalBancos.Text = TotAcumulado.FormatoNumero LblTotalBancos.Text = TotAcumulado.FormatoNumero
VerificacionFluctuacion(77, FechaUltimoDiaMes)
Else Else
GvCuentas.DataSource = Nothing GvCuentas.DataSource = Nothing
Alert("Ocurrio un error al cargar las cuentas", TipoMensaje.MsgAdvertencia) Alert("Ocurrio un error al cargar las cuentas", TipoMensaje.MsgAdvertencia)
@@ -339,6 +356,7 @@ Partial Class Bancos_FluctuacionCambiaria
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 9, UsuarioActual.CveEmpresa) Then If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 9, UsuarioActual.CveEmpresa) Then
GvDeudores.DataSource = ObjBancos.DtResultados GvDeudores.DataSource = ObjBancos.DtResultados
LblTotalDeudores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotalDeudores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
VerificacionFluctuacion(9, FechaUltimoDiaMes)
Else Else
GvDeudores.DataSource = Nothing GvDeudores.DataSource = Nothing
Alert("Ocurrio un error al cargar los deudores", TipoMensaje.MsgAdvertencia) Alert("Ocurrio un error al cargar los deudores", TipoMensaje.MsgAdvertencia)
@@ -354,6 +372,7 @@ Partial Class Bancos_FluctuacionCambiaria
If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then
GvFiliales.DataSource = ObjBancos.DtResultados.FiltraParametros("Saldo > 0") GvFiliales.DataSource = ObjBancos.DtResultados.FiltraParametros("Saldo > 0")
LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero
VerificacionFluctuacion(88, FechaUltimoDiaMes)
Else Else
GvFiliales.DataSource = Nothing GvFiliales.DataSource = Nothing
Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia)
@@ -392,14 +411,12 @@ Partial Class Bancos_FluctuacionCambiaria
Dim Total As Decimal = 0 Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad Dim Conta As New ClsContabilidad
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) 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 CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaC", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoCompras.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim CveCompra, CveProv As Integer
Dim CveCuentaPerdida, CveCuentaGanancia As Integer
Dim TipoMovto As Boolean = False Dim TipoMovto As Boolean = False
Dim CveConceptoContable As Integer = 0 Dim CveConceptoContable As Integer = 0
Dim ErrorRegistrar As Boolean = False Dim ErrorRegistrar As Boolean = False
CveCuentaPerdida = 0 '55379
CveCuentaGanancia = 0 ' 55382
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
Total = LblTotal.ToDecimal Total = LblTotal.ToDecimal
@@ -425,6 +442,8 @@ Partial Class Bancos_FluctuacionCambiaria
'saco las cuentas de pérdida y ganancia 'saco las cuentas de pérdida y ganancia
For Each gvr As GridViewRow In GvProveedores.Rows For Each gvr As GridViewRow In GvProveedores.Rows
Total = gvr.DataKey("Fluctuacion").ToDecimal Total = gvr.DataKey("Fluctuacion").ToDecimal
CveCompra = gvr.DataKey("CveCompra").ToEntero
CveProv = gvr.DataKey("CveProveedor").ToEntero
'movimiento de complementaria '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 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 ErrorRegistrar = True
@@ -441,6 +460,11 @@ Partial Class Bancos_FluctuacionCambiaria
ErrorRegistrar = True ErrorRegistrar = True
End If 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 If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
ErrorRegistrar = True ErrorRegistrar = True
End If End If
@@ -569,24 +593,25 @@ Partial Class Bancos_FluctuacionCambiaria
End If End If
Dim CveConconceptoCliente As Integer = 203 Dim CveConconceptoCliente As Integer = 203
Dim CveVenta, CveCliente As Integer
'saco las cuentas de pérdida y ganancia 'saco las cuentas de pérdida y ganancia
For Each gvr As GridViewRow In GvVentas.Rows For Each gvr As GridViewRow In GvVentas.Rows
Total = -gvr.DataKey("Fluctuacion").ToDecimal Total = -gvr.DataKey("Fluctuacion").ToDecimal
CveVenta = gvr.DataKey("CveVenta").ToEntero
If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso gvr.DataKey("CveVenta").ToEntero < 0) OrElse (gvr.DataKey("CveVenta").ToEntero > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then 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 CveConconceptoCliente = 226
Else Else
CveConconceptoCliente = 203 CveConconceptoCliente = 203
End If End If
'movimiento de complementaria 'movimiento de complementaria
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, CveConconceptoCliente, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveVenta:=gvr.DataKey("CveVenta").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveCliente:=gvr.DataKey("CveCliente").ToEntero) Then 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 ErrorRegistrar = True
Exit For Exit For
End If End If
If Not Conta.UpdateTCValuacion(gvr.DataKey("CveVenta").ToEntero, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then If Not Conta.UpdateTCValuacion(CveVenta, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
ErrorRegistrar = True ErrorRegistrar = True
Exit For Exit For
End If End If
@@ -595,6 +620,12 @@ Partial Class Bancos_FluctuacionCambiaria
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
ErrorRegistrar = True ErrorRegistrar = True
End If 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 If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
ErrorRegistrar = True ErrorRegistrar = True
End If End If
@@ -611,6 +642,46 @@ Partial Class Bancos_FluctuacionCambiaria
Conta.Dispose() Conta.Dispose()
End Sub 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 UsuarioActual.CveEmpresa <> 119 Then Return True
Dim ErrorRegistrar As Boolean = False
Dim tdt As DataTable = VerificacionFluctuacion(TipoFluctuacion, FechaUltimoDiaMes)
'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
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) Protected Sub BtnClientesAnticipos_Click(sender As Object, e As EventArgs)
Dim Total As Decimal = 0 Dim Total As Decimal = 0
Dim TipoMovto As Boolean = False Dim TipoMovto As Boolean = False
@@ -648,24 +719,25 @@ Partial Class Bancos_FluctuacionCambiaria
End If End If
Dim CveConconceptoCliente As Integer = 203 Dim CveConconceptoCliente As Integer = 203
Dim CveVenta, CveCliente As Integer
'saco las cuentas de pérdida y ganancia 'saco las cuentas de pérdida y ganancia
For Each gvr As GridViewRow In GvClientesAnt.Rows For Each gvr As GridViewRow In GvClientesAnt.Rows
Total = gvr.DataKey("Fluctuacion").ToDecimal Total = gvr.DataKey("Fluctuacion").ToDecimal
CveVenta = gvr.DataKey("CveVenta").ToEntero
If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso gvr.DataKey("CveVenta").ToEntero < 0) OrElse (gvr.DataKey("CveVenta").ToEntero > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then CveCliente = -1
If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso CveVenta < 0) OrElse (CveVenta > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then
CveConconceptoCliente = 226 CveConconceptoCliente = 226
Else Else
CveConconceptoCliente = 203 CveConconceptoCliente = 203
End If End If
'movimiento de complementaria 'movimiento de complementaria
If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, CveConconceptoCliente, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveVenta:=gvr.DataKey("CveVenta").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero) Then 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 ErrorRegistrar = True
Exit For Exit For
End If End If
If Not Conta.UpdateTCValuacion(gvr.DataKey("CveVenta").ToEntero, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then If Not Conta.UpdateTCValuacion(CveVenta, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then
ErrorRegistrar = True ErrorRegistrar = True
Exit For Exit For
End If End If
@@ -674,6 +746,12 @@ Partial Class Bancos_FluctuacionCambiaria
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then
ErrorRegistrar = True ErrorRegistrar = True
End If 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 If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
ErrorRegistrar = True ErrorRegistrar = True
End If End If
@@ -708,6 +786,7 @@ Partial Class Bancos_FluctuacionCambiaria
Dim TipoMovto As Boolean = False Dim TipoMovto As Boolean = False
Dim CveConceptoContable As Integer = 0 Dim CveConceptoContable As Integer = 0
Dim ErrorRegistrar As Boolean = False 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 Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
Total = LblTotalAcreedores.Text.ToDecimal Total = LblTotalAcreedores.Text.ToDecimal
@@ -733,6 +812,8 @@ Partial Class Bancos_FluctuacionCambiaria
'saco las cuentas de pérdida y ganancia 'saco las cuentas de pérdida y ganancia
For Each gvr As GridViewRow In GvAcreedores.Rows For Each gvr As GridViewRow In GvAcreedores.Rows
Total = gvr.DataKey("Fluctuacion").ToDecimal Total = gvr.DataKey("Fluctuacion").ToDecimal
CveCompra = gvr.DataKey("CveCompra").ToEntero
CveProv = gvr.DataKey("CveProveedor").ToEntero
'movimiento de complementaria '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 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 ErrorRegistrar = True
@@ -748,6 +829,12 @@ Partial Class Bancos_FluctuacionCambiaria
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 5, CveBitacora, UsuarioActual.CveEmpresa) Then If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 5, CveBitacora, UsuarioActual.CveEmpresa) Then
ErrorRegistrar = True ErrorRegistrar = True
End If 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 If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
ErrorRegistrar = True ErrorRegistrar = True
End If End If
@@ -774,6 +861,7 @@ Partial Class Bancos_FluctuacionCambiaria
Dim TipoMovto As Boolean = False Dim TipoMovto As Boolean = False
Dim CveConceptoContable As Integer = 0 Dim CveConceptoContable As Integer = 0
Dim ErrorRegistrar As Boolean = False 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 Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
Total = LblTotalAcreedoresAnt.Text.ToDecimal Total = LblTotalAcreedoresAnt.Text.ToDecimal
@@ -799,7 +887,8 @@ Partial Class Bancos_FluctuacionCambiaria
'saco las cuentas de pérdida y ganancia 'saco las cuentas de pérdida y ganancia
For Each gvr As GridViewRow In GvAcreedoresAnt.Rows For Each gvr As GridViewRow In GvAcreedoresAnt.Rows
Total = gvr.DataKey("Fluctuacion").ToDecimal Total = gvr.DataKey("Fluctuacion").ToDecimal
CveCompra = gvr.DataKey("CveCompra").ToEntero
CveProv = gvr.DataKey("CveProveedor").ToEntero
'movimiento de complementaria '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 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 ErrorRegistrar = True
@@ -815,6 +904,10 @@ Partial Class Bancos_FluctuacionCambiaria
If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 6, CveBitacora, UsuarioActual.CveEmpresa) Then If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 6, CveBitacora, UsuarioActual.CveEmpresa) Then
ErrorRegistrar = True ErrorRegistrar = True
End If 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 If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
ErrorRegistrar = True ErrorRegistrar = True
End If End If
@@ -1296,4 +1389,20 @@ Partial Class Bancos_FluctuacionCambiaria
End If End If
Banco.Dispose() Banco.Dispose()
End Sub End Sub
#Region "VERIFICACION "
Private Function VerificacionFluctuacion(Opcion As Integer, Fecha As Date) As DataTable
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 End Class