Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Bancos_RepProgramarRecursos
Inherits ClsPaginas
#Region "P R O P I E D A D E S"
Private Property DtDatos As DataTable
Get
Return CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property Orden As String
Get
Return ViewState("Orden").ToString
End Get
Set(value As String)
ViewState("Orden") = value
End Set
End Property
Private Property DtCuentas As DataTable
Get
Return CType(ViewState("DtCuentas"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCuentas") = value
End Set
End Property
Private Property DtTipoTransaccion As DataTable
Get
Return CType(ViewState("DtTipoTransaccion"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtTipoTransaccion") = value
End Set
End Property
Private Property Anio As Integer
Get
Return ViewState("Anio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Anio") = value
End Set
End Property
Private Property Mes As Integer
Get
Return ViewState("Mes").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Mes") = value
End Set
End Property
Private Property Opcion As String
Get
Return ViewState("Opcion").ToString
End Get
Set(value As String)
ViewState("Opcion") = value
End Set
End Property
Private Property DtVencimiento As DataTable
Get
DtVencimiento = CType(ViewState("DtVencimiento"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtVencimiento") = value
End Set
End Property
Private Property UsuarioProgramo As String
Get
Return ViewState("UsuarioProgramo").ToString
End Get
Set(value As String)
ViewState("UsuarioProgramo") = value
End Set
End Property
Private Property CveProveedor As Integer
Get
Return ViewState("CveProveedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedor") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
DdlUsuarioProgramo.Visible = False
Anio = -1
Mes = -1
Orden = ""
Opcion = "-1"
HdnEmp.Value = UsuarioActual.CveEmpresa.ToString
If (UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1") Then
DdlProveedores.setEsWebService(True)
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
DdlProveedores.SelectedText = "Todos"
DdlProveedores.SelectedValue = "-1"
Else
DdlProveedores.setEsWebService(False)
DdlProveedores.ddl.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.ddl.DataBind()
DdlProveedores.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlUsuarioResponsable.DataSource = GlobalDTUsuarioResponsable(UsuarioActual.CveEmpresa)
DdlUsuarioResponsable.DataBind()
DdlProveedoresClasificaciones.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
DdlProveedoresClasificaciones.DataBind()
DdlProveedoresClasificaciones.Items.Insert(1, New ListItem("Sin Clasificación", "0"))
DdlEstatusCompra.DataSource = GlobalDTCompEstatusFactura.FiltraParametros("CveEstatusFactura IN (1,2)")
DdlEstatusCompra.DataBind()
If UsuarioActual.TienePermisoProceso(91) Then
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa), "Nombre") 'GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuarioRegistro.DataBind()
DdlUsuarioRegistro.Items.Insert(0, New ListItem("Todos", "-1"))
Else
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios(UsuarioActual.CveUsuario)
DdlUsuarioRegistro.DataBind()
End If
'Se valida que el Usuario NO puede Programar Recursos
If UsuarioActual.TienePermisoProceso(101) Then
TxtMontoAutorizado.ReadOnly = True
TxtRestaImporte.ReadOnly = True
TxtTC.ReadOnly = True
BtnProgramar.Enabled = False
TxtCodigoP.ReadOnly = False
End If
DdlMoneda.DataSource = GlobalDTMonedas
DdlMoneda.DataBind()
DdlProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1))
DdlProyecto.DataBind()
DtCuentas = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa)
DtTipoTransaccion = GlobalDTTipoTransacciones.FiltraParametros("Tipo = 'Egs'")
Dim CveProveedor As Integer = IfNull(Request("CveProveedor"), "-1").ToString.ToEntero
Dim CveEstatusFactura As Integer = IfNull(Request("CveEstatusFactura"), "-1").ToString.ToEntero
Dim CveProveedorClasificacion As Integer = IfNull(Request("CveProveedorClasificacion"), "-1").ToString.ToEntero
Dim CveSubProyecto As Integer = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero
Dim FechaI As String = IfNull(Request("FechaI"), "").ToString
Dim FechaF As String = IfNull(Request("FechaF"), "").ToString
Dim AnioMes As String = IfNull(Request("AnioMes"), "").ToString
Dim AnioT As Integer = IfNull(Request("Anio"), "").ToString.ToEntero
Dim CveMoneda As Integer = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero
Opcion = IfNull(Request("Op"), "-1").ToString
If True Then 'UsuarioActual.Empresa.GralSoloProyecto Then ' solo muestar el subproyecto
TdProyecto.Visible = False
TdSubProyectoTitulo.Visible = False
Dim script As String = "Sys.Application.add_load(function (s, e) { $('#tsubprocto').slideDown(200); $('#subproyecto').before($('#dropsubproyecto')); });"
RegistraScript(script, "random12345")
proyectolabel.Visible = False
DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyecto.DataBind()
' DdlEstatusCompra.SelectedValue = "2" 'las programadas
'DdlAgrupador.SelectedValue = "2"
'Gv.Columns(8).Visible = True
DdlSubProyecto.Items.Insert(1, New ListItem("Sin Proyecto", "-2"))
ListSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
ListSubProyecto.DataBind()
End If
CargaUsuariosProgramaron()
If CveProveedor > 0 Then DdlProveedores.SelectedValue = CveProveedor.ToString
If CveEstatusFactura > 0 Then DdlEstatusCompra.SelectedValue = CveEstatusFactura.ToString
If CveProveedorClasificacion >= 0 Then DdlProveedoresClasificaciones.SelectedValue = CveProveedorClasificacion.ToString
If CveSubProyecto > 0 Then
DdlSubProyecto.SelectedValue = CveSubProyecto.ToString
'confirmo la seleccion, de no tener el dato, lo recargo
If DdlSubProyecto.SelectedValue <> CveSubProyecto.ToString Then
Dim CveProy As Integer = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto).FiltroPrimeroValor("CveProyecto").ToEntero
DdlSubProyecto.SelectedValue = CveSubProyecto.ToString
DdlSubProyecto.DataSource = GlobalDTSubProyectos(CveProy, -1, UsuarioActual.CveEmpresa, 1)
DdlSubProyecto.DataBind()
End If
End If
If CveMoneda > 0 Then DdlMoneda.SelectedValue = CveMoneda.ToString
If AnioMes <> "-1" AndAlso AnioMes <> "" Then
Dim TempFecha(2) As String
TempFecha = AnioMes.Split("/"c)
If TempFecha.Length = 2 Then
Anio = TempFecha(0).ToEntero
Mes = TempFecha(1).ToEntero
End If
End If
If AnioT > 0 Then Anio = AnioT
txtFechaI.Text = FechaI
txtFechaF.Text = FechaF
If GlobalTipoCambio <= 0 Then Alert("No se tiene el Tipo de Cambio Actualizado", TipoMensaje.MsgError)
TxtTC.Text = GlobalTipoCambio.ToString
'DdlProveedoresClasificaciones.Items.Insert(0, New ListItem("Sin Clasificación", "0"))
CargaDatos()
CargaCreditosVencimiento()
'Esconde PROYECTO EMP 13,14,83
If UsuarioActual.CveEmpresa.Contiene(13,14,83) Then
Gv.Columns(3).Visible = False
Gv.Columns(4).Visible = True
ElseIf UsuarioActual.CveEmpresa <> 119 Then
Gv.Columns(4).Visible = False
End If
End If
' RegistraScript("MultiSelect();")
End Sub
'Private Sub TipoCambioAdd()
' TxtTC.Text = App.TCFechaDeterminacinFIX.ToString
' Dim ObjGral As New ClsGenerales
' If ObjGral.GetTipoCambio(-1, App.FechaDeterminacinFIX.ToString.ToDate) Then
' If Not ObjGral.DtResultados.Rows.Count > 0 Then
' If Not ObjGral.AddTipoCambio(App.TCFechaDeterminacinFIX.ToString.ToDouble, App.FechaDeterminacinFIX.ToString.ToDate) Then
' Alert("Ocurrio un error al guardar el tipo de cambio", TipoMensaje.MsgAdvertencia)
' End If
' End If
' Else
' Alert("Ocurrio un error al guardar el Tipo de Cambio", TipoMensaje.MsgAdvertencia)
' End If
' ObjGral.Dispose()
'End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
DdlSubProyecto.Items.Clear()
ListSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue.ToEntero > 0 Then
DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1))
ListSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1))
Else
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
ListSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlSubProyecto.DataBind()
ListSubProyecto.DataBind()
RegistraScript("MultiSelect();")
End Sub
Private Sub CargaUsuariosProgramaron()
''si tiene permiso para editar programaciones de otros usuarios
'If UsuarioActual.TienePermisoProceso(102) Then
' Dim Mov As New ClsMovimientos
' If Mov.GetUsuariosProgramaron(UsuarioActual.CveEmpresa) Then
' DdlUsuarioProgramo.DataSource = Mov.DtResultados
' Else
' DdlUsuarioProgramo.DataSource = Nothing
' End If
' Mov.Dispose()
' DdlUsuarioProgramo.Items.Insert(0, New ListItem("Todos", "-2"))
' DdlUsuarioProgramo.DataBind()
' If Not DdlUsuarioProgramo.Items.Contains(DdlUsuarioProgramo.Items.FindByValue(UsuarioActual.CveUsuario)) Then
' DdlUsuarioProgramo.Items.Add(New ListItem(UsuarioActual.Nombre, UsuarioActual.CveUsuario.ToString))
' End If
'Else
' DdlUsuarioProgramo.Items.Insert(0, New ListItem("Todos", "-1"))
' DdlUsuarioProgramo.Items.Add(New ListItem(UsuarioActual.Nombre, UsuarioActual.CveUsuario.ToString))
'End If
Dim Mov As New ClsMovimientos
If Mov.GetUsuariosProgramaron(UsuarioActual.CveEmpresa) Then
DdlUsuarioProgramo.DataSource = Mov.DtResultados
Else
DdlUsuarioProgramo.DataSource = Nothing
End If
Mov.Dispose()
DdlUsuarioProgramo.DataBind()
DdlUsuarioProgramo.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaDatos()
CveProveedor = DdlProveedores.SelectedValue.ToEntero
Dim CveUsuarioProgramo As Integer = DdlUsuarioProgramo.SelectedValue.ToEntero 'UsuarioActual.CveUsuario
If Not ChkProgramadas.Checked Then CveUsuarioProgramo = -1
If ChkProgramadas.Checked And DdlUsuarioProgramo.SelectedValue.ToEntero = -1 Then CveUsuarioProgramo = -2
If ChkProgramadas.Checked Then
UsuarioProgramo = DdlUsuarioProgramo.SelectedItem.Text
BtnProgramar.Text = "Desprogramar"
Else
UsuarioProgramo = ""
BtnProgramar.Text = "Programar"
End If
BtnEditarProgramacion.Visible = ChkProgramadas.Checked
Dim Mov As New ClsMovimientos
Dim FechaI, FechaF, CodigoProg As String
Dim FechaIV, FechaFV As Date
If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1"
If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1"
If TxtFechaIV.Text <> "" Then FechaIV = TxtFechaIV.Text Else FechaIV = MinFecha
If TxtFechaFV.Text <> "" Then FechaFV = TxtFechaFV.Text Else FechaFV = MaxFecha
If DdlCodigoProgramacion.SelectedValue <> "-1" Then CodigoProg = DdlCodigoProgramacion.SelectedValue Else CodigoProg = "-1"
If Mov.GetProgramarPago(DdlProveedores.SelectedValue.ToEntero, DdlProveedoresClasificaciones.SelectedValue.ToEntero, DdlUsuarioResponsable.SelectedValue.ToEntero, FechaI, FechaF, CveUsuarioProgramo, DdlUsuarioRegistro.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlEstatusCompra.SelectedValue.ToEntero, TxtTC.Text.ToDouble, DdlAgrupador.SelectedValue.ToEntero, Anio, Mes, Opcion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FechaIV:=FechaIV, FechaFV:=FechaFV, CodigoProgramacion:=CodigoProg, CveTipoProveedor:=IIf(DdlTipoProveedor.SelectedValue.ToEntero = 3, 0, DdlTipoProveedor.SelectedValue.ToEntero), ConComprobacion:=DdlComprobacion.SelectedValue.ToEntero, AplicaNC:=DdlAplicaNC.SelectedValue.ToEntero) Then
DtDatos = Mov.DtResultados
LblTotPesos.Text = String.Format("$ {0}", DtDatos.SUM("Saldo", "CveCompra > 0 AND CveMoneda = 1").ToString.FormatoNumero())
LblTotDolares.Text = String.Format("$ {0}", DtDatos.SUM("Saldo", "CveCompra > 0 AND CveMoneda = 2").ToString.FormatoNumero())
LblPesosTotal.Text = String.Format("$ {0}", DtDatos.SUM("SaldoPesos", "CveCompra > 0").ToString.FormatoNumero())
LblAcumulado.Text = String.Format("$ {0}", DtDatos.MAX("TotalProgramado", "CveCompra > 0").ToString.FormatoNumero())
End If
Gv.Columns(6).Visible = (UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 Or UsuarioActual.Empresa.Funcionalidad(134).ToEntero > 0)
Mov.Dispose()
CargaGrid(Orden)
UPDatos.Update()
End Sub
Protected Sub Gv_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Gv.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCTextBox("TxtS").Attributes.Add("readonly", "readonly")
If ChkProgramadas.Checked AndAlso e.Row.DBCampo("Saldo").ToDouble > (e.Row.DBCampo("Original").ToDouble - e.Row.DBCampo("Abonado").ToDouble) Then
e.Row.FCTextBox("TxtS").CssClass = "bg-yellow-gold"
e.Row.FCTextBox("TxtS").ToolTip = "El Importe Programado es mayor al Saldo"
End If
'Dim IDTxt As String = String.Format("TxtS{0}-{1}", e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("Serie"))
If e.Row.DBCampo("CveCompra") = "-1" Then
e.Row.CssClass = "SBT" 'caudi
e.Row.FCCheckBox("Chk").Visible = False
'e.Row.FCHyperLink("Hpl1").Visible = True
'caudi'e.Row.FCHyperLink("HplP").Width = 360
'CType(e.Row.FindControl("TbSerie"), HtmlTable).Visible = False
'e.Row.FCHyperLink("HplP").Visible = False
If DdlAgrupador.SelectedValue = "2" Then
If e.Row.DBCampo("CveMoneda").ToEntero > 0 Then
e.Row.FCHyperLink("HplP").Text = e.Row.DBCampo("Moneda")
If e.Row.DBCampo("SaldoAnt").ToDouble > 0 Then
e.Row.Cells(3).Text = $"Anticipos/Egresos por Comprobar/Notas de Crédito. : {e.Row.DBCampo("SaldoAnt").FormatoNumero}"
End If
Else
e.Row.CssClass = "SubTotales2"
End If
End If
'e.Row.Cells(0).ColumnSpan = 3
'e.Row.Cells.RemoveAt(1)
'e.Row.Cells.RemoveAt(1)
Dim GrpID As String = String.Format("GTxtS_{0}_{1}_{2}", e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProveedorSucursal").ToEntero)
e.Row.FCTextBox("TxtS").ClientIDMode = ClientIDMode.Static
e.Row.FCTextBox("TxtS").ID = GrpID
'e.Row.FindControl("RVAbonar").Visible = False
'DirectCast(e.Row.FindControl("FTBEA"), AjaxControlToolkit.FilteredTextBoxExtender).TargetControlID = GrpID
e.Row.FCHyperLink("HplP").NavigateUrl = String.Format("/Compras/Proveedores.aspx?CveProveedor={0}&Op=CxP", e.Row.DBCampo("CveProveedor"))
e.Row.FCLabel("LblPor").Visible = True
e.Row.FCLabel("LblPor").ClientIDMode = ClientIDMode.Static
e.Row.FCLabel("LblPor").ID = String.Format("LblPor_{0}_{1}_{2}", e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProveedorSucursal").ToEntero)
e.Row.FCHiddenField("HdnSaldo").ClientIDMode = ClientIDMode.Static
e.Row.FCHiddenField("HdnSaldo").ID = String.Format("HdnSaldo_{0}_{1}_{2}", e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProveedorSucursal").ToEntero)
Else
'IDTxt = String.Format("{0}-{1}", IDTxt, e.Row.RowIndex)
'e.Row.FCTextBox("TxtS").ClientIDMode = ClientIDMode.Static
'e.Row.FCTextBox("TxtS").ID = IDTxt
'e.Row.FindControl("RVAbonar").Visible = False
'DirectCast(e.Row.FindControl("FTBEA"), AjaxControlToolkit.FilteredTextBoxExtender).TargetControlID = IDTxt
'LblAplicaNotaCredito
If CBool(e.Row.DBCampo("AplicaNotaCredito")) Then
'e.Row.FCLabel("LblAplicaNotaCredito").CssClass = "label label-success"
e.Row.FCLabel("LblAplicaNotaCredito").Text = "Si"
Else
'e.Row.FCLabel("LblAplicaNotaCredito").CssClass = "label label-danger"
e.Row.FCLabel("LblAplicaNotaCredito").Text = "No"
End If
e.Row.FCHyperLink("HplP").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra"))
If Not ChkProgramadas.Checked Then
Dim x As String = String.Format("FnSuma(this,'{0}','{1}_{2}_{3}');", e.Row.FCTextBox("TxtS").ClientID, e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProveedorSucursal").ToEntero)
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,'{0}','{1}_{2}_{3}');", e.Row.FCTextBox("TxtS").ClientID, e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProveedorSucursal").ToEntero))
e.Row.FCTextBox("TxtS").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},'{2}_{3}_{4}');", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProveedorSucursal").ToEntero))
e.Row.FCTextBox("TxtS").Attributes.Add("onkeyup", String.Format("FnMonedaRango(this,{0});", e.Row.DBCampo("Saldo")))
'sino esta el cheq de programadas y tieen importe programado, se la desactivo, esto porque, aparece en el lsitado de las no programadas, lo que se no se ha programado al 100%
If e.Row.DBCampo("ImporteProgramo").ToDouble > 0 Then e.Row.FCCheckBox("Chk").Enabled = False
Else
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format(" $get('{0}').readOnly = !this.checked;", e.Row.FCTextBox("TxtS").ClientID))
'cuando estan programado, el saldo es el importe programado, para saber el total que se limite el rango, debe de ser el saldo real, saldo + importeprogramado
e.Row.FCTextBox("TxtS").Attributes.Add("onkeyup", String.Format("FnMonedaRango(this,{0});", e.Row.DBCampo("Original").ToDouble + e.Row.DBCampo("Abonado").ToDouble))
End If
'If UsuarioActual.Empresa.GralSoloProyecto Then ' solo muestar el subproyecto
' e.Row.FCDropDownList("DdlCuenta").Visible = True
' e.Row.FCDropDownList("DdlCuenta").DataSource = DtCuentas
' e.Row.FCDropDownList("DdlCuenta").DataBind()
' e.Row.FCDropDownList("DdlMov").Visible = True
' e.Row.FCDropDownList("DdlMov").DataSource = DtTipoTransaccion
' e.Row.FCDropDownList("DdlMov").DataBind()
'End If
If UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 Or UsuarioActual.Empresa.Funcionalidad(134).ToEntero > 0 Then
Dim Str As New StringBuilder
Str.AppendFormat("Importe Almacen: ${0} ({1}%)
", e.Row.DBCampo("ImporteAlmacen").FormatoNumero, e.Row.DBCampo("ImporteAlmacenPorcentaje"))
If e.Row.DBCampo("ImporteServicios").ToDouble > 0 Then Str.AppendFormat("Importe Servicios: ${0} ({1}%)
", e.Row.DBCampo("ImporteServicios").FormatoNumero, e.Row.DBCampo("ImporteServiciosPorcentaje"))
If e.Row.DBCampo("ImporteDevolucion").ToDouble > 0 Then Str.AppendFormat("Importe Devuelto: ${0} ({1}%)
", e.Row.DBCampo("ImporteDevolucion").FormatoNumero, e.Row.DBCampo("ImporteDevolucionPorcentaje"))
Str.AppendFormat(" Importes SIN IVA")
e.Row.FCLabel("LbEstatusInv").Attributes.Add("title", Str.ToString)
Select Case e.Row.DBCampo("EstatusInventario").ToEntero
Case 1
e.Row.FCLabel("LbEstatusInv").Text = ""
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.Red
Case 2
e.Row.FCLabel("LbEstatusInv").Text = ""
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.DarkOrange
Case 3
e.Row.FCLabel("LbEstatusInv").Text = ""
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.Green
End Select
End If
End If
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(1).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("CveUsuarioProgramoModifico").ToString.ToEntero > 0 Then
e.Row.ToolTip = String.Format("Usuario Modificó: {1}{0} Fecha: {2}", vbCrLf, e.Row.DBCampo("Nombre").ToString, e.Row.DBCampo("FechaProgramoModifico").ToString.ToDate.ToShortDateString)
End If
End If
End Sub
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Tipo As Integer = 1
Dim Orden As String = ""
Dim Campo As String = ""
Dim ImgButon As ImageButton = Nothing
Dim OrdenInicial As String = If(DdlAgrupador.SelectedValue = "1", "OrdenMoneda,", "RazonSocial,")
Select Case sender.GetType().Name
Case "LinkButton"
Tipo = 1
Campo = CType(sender, LinkButton).CommandArgument
ImgButon = CType(CType(sender, LinkButton).BindingContainer.FindControl("Img" & Campo.Replace(",", "_")), ImageButton)
Case "ImageButton"
Tipo = 2
Campo = CType(sender, ImageButton).CommandArgument
ImgButon = CType(sender, ImageButton)
End Select
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
RegistraScript(String.Format("$get('{0}').src='{1}'", ImgButon.ClientID, "/Imagenes/FlechasArriba.gif"))
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
RegistraScript(String.Format("$get({0}).src='{1}'", ImgButon.ClientID, "/Imagenes/FlechasAbajo.gif"))
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
CargaGrid(Orden)
End Sub
Private Sub CargaGrid(Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows)
Gv.DataSource = DV.ToTable()
DV.Dispose()
Else
Gv.DataSource = DtDatos
End If
Gv.DataBind()
' Gv.UseAccessibleHeader = True
' If DtDatos.Rows.Count > 0 Then Gv.HeaderRow.TableSection = TableRowSection.TableHeader
' RegistraScript("$(document).ready( function () { var table = $('#C_Gv').DataTable({ ""paging"": false, ""sorting"": false}); new $.fn.dataTable.FixedHeader( table ); } );")
End Sub
Protected Sub BtnProgramar_Click(sender As Object, e As EventArgs) Handles BtnProgramar.Click
Dim CveUsuario As Integer = UsuarioActual.CveUsuario
If UsuarioActual.Empresa.Funcionalidad(138) = "1" Then
'Validación del SAT - DF 21/01/17
Dim Validada As Boolean = False
Dim MsgValidadas As New StringBuilder
Dim ImporteSeleccionado As Double = 0
If Not UsuarioActual.Empresa.Funcionalidad(529) = "1" Then
Dim Valida As New ClsValidaCFDi()
'veririco ante el SAT las compras que voy a pagar
For Each gvr As GridViewRow In Gv.Rows
If gvr.FCCheckBox("Chk").Checked Then
ImporteSeleccionado += gvr.FCTextBox("TxtS").Text.ToDouble
If gvr.DataKey("UUID") <> "" Then
Valida.Verificar(gvr.DataKey("UUID"), gvr.DataKey("RFC"), UsuarioActual.Empresa.RFC, gvr.DataKey("Original").ToDecimal)
If Valida.EsValida <> 1 Then
Validada = False
gvr.FCCheckBox("Chk").Checked = False
If Valida.EsValida = 2 Then 'Cancelada
Dim HuboError As Boolean = False
Dim ObjCompra As New ClsCompras
Dim ObjEventos As New ClsOIEventos(ObjCompra.IniciaTransacSQL())
Dim ObjInv As New ClsInventarios(ObjCompra.IniciaTransacSQL())
'estatus inventario, no surtida
'verifico que no tenga movimientos en almacen
If ObjInv.GetInv_ComprasMov(gvr.DataKey("CveCompra").ToEntero, UsuarioActual.CveEmpresa) Then
If ObjInv.DtResultados.Rows.Count = 0 Then
If ObjCompra.CancelarCompra(gvr.DataKey("CveCompra").ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1}
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion"))
If Not ObjEventos.AddEventoBitacora("La compra se ha detectado como cancelada ante el SAT", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra:=gvr.DataKey("CveCompra").ToEntero) Then
HuboError = True
End If
Else
HuboError = True
End If
Else
MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} con movimientos de almacen, relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion"))
End If
If Not HuboError Then ObjCompra.Commit() Else ObjCompra.RollBack()
Else
MsgValidadas.AppendFormat("Factura No se pudo Validar: {0} - {1}
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion"))
End If
ObjCompra.Dispose()
ObjEventos.Dispose()
ObjInv.Dispose()
End If
End If
End If
End If
Next
Valida.Dispose()
Else
For Each gvr As GridViewRow In Gv.Rows
If gvr.FCCheckBox("Chk").Checked Then
ImporteSeleccionado += gvr.FCTextBox("TxtS").Text.ToDouble
End If
Next
End If
'Verificacion doble, si no la han cancelado, ya tiene una validaci[on para que llegue aqui
If MsgValidadas.Length > 0 Then
Alert(String.Format("
Las Facturas presentan la siguiente situación ante el SAT.
{0}", MsgValidadas.ToString), TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If ImporteSeleccionado <= 0 Then
Alert("Favor de seleccionar facturas", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Dim MsgError As String = ""
Dim CodigoProgramacion As String = TxtCodigoP.Text
Dim Importe As Double = 0
Dim Comp As New ClsCompras
'Dim IDTxt As String
For Each gvr As GridViewRow In Gv.Rows
If gvr.FCCheckBox("Chk").Checked Then
Importe = gvr.FCTextBox("TxtS").Text.ToDouble
If ChkProgramadas.Checked Then Importe = 0
If Not Comp.ProgramarCompra(gvr.DataKey("CveCompra").ToEntero, Importe, CveUsuario, -1, CodigoProgramacion) Then
MsgError &= "No se pudo programar la factura "
End If
End If
Next
Comp.Dispose()
TxtCodigoP.Text = ""
If MsgError <> "" Then
Alert(MsgError, TipoMensaje.MsgError)
Else
Alert("La programación se guardó correctamente", TipoMensaje.MsgInformacion)
EnviaCorreoNotificacion()
End If
CargaDatos()
'Recarga DdlUsuarioProgramo
CargaUsuariosProgramaron()
UPPFiltros.Update()
'Dim ObjUsuarios As New ClsSisUsuarios
'If ObjUsuarios.GetUsuariosEmpresas(-1, -1) Then
' Application("GlobalDTUsuarios") = ObjUsuarios.DtResultados
' Application("GlobalDTUsuarioResponsable") = ObjUsuarios.DtResultados.FiltraParametros("ProveedoresResponsables > 0")
'Else
' Application("GlobalDTUsuarios") = Nothing
'End If
'ObjUsuarios.Dispose()
End Sub
Private Sub EnviaCorreoNotificacion()
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
Dim strBody As New StringBuilder
Try
strBody.Append(" ")
strBody.Append("