Files
SIG/Bancos/RepProgramarRecursos.aspx.vb

967 lines
53 KiB
VB.net

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.FiltraParametros(String.Format("CveEmpresa = {0}", 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(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1))
DdlProyecto.DataBind()
DtCuentas = GlobalDTBancosCuentas(UsuarioActual.CveUsuario)
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 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
If UsuarioActual.CveEmpresa = 13 Or UsuarioActual.CveEmpresa = 14 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(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso 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(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso 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}%) <br/>", e.Row.DBCampo("ImporteAlmacen").FormatoNumero, e.Row.DBCampo("ImporteAlmacenPorcentaje"))
If e.Row.DBCampo("ImporteServicios").ToDouble > 0 Then Str.AppendFormat("Importe Servicios: ${0} ({1}%) <br/>", e.Row.DBCampo("ImporteServicios").FormatoNumero, e.Row.DBCampo("ImporteServiciosPorcentaje"))
If e.Row.DBCampo("ImporteDevolucion").ToDouble > 0 Then Str.AppendFormat("Importe Devuelto: ${0} ({1}%) <br/>", e.Row.DBCampo("ImporteDevolucion").FormatoNumero, e.Row.DBCampo("ImporteDevolucionPorcentaje"))
Str.AppendFormat(" <i> Importes <b> SIN</b> IVA</i>")
e.Row.FCLabel("LbEstatusInv").Attributes.Add("title", Str.ToString)
Select Case e.Row.DBCampo("EstatusInventario").ToEntero
Case 1
e.Row.FCLabel("LbEstatusInv").Text = "<i Class='fa fa-flag-o' aria-hidden='true'></i>"
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.Red
Case 2
e.Row.FCLabel("LbEstatusInv").Text = "<i Class='fa fa-flag-checkered' aria-hidden='true'></i>"
e.Row.FCLabel("LbEstatusInv").ForeColor = Drawing.Color.DarkOrange
Case 3
e.Row.FCLabel("LbEstatusInv").Text = "<i Class='fa fa-flag' aria-hidden='true'></i>"
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}<br>", 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<br>", 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}<br>", 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("<br>Las Facturas presentan la siguiente situación ante el SAT. <br>{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 </br>"
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) 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 = 13 Then
Dim strBody As New StringBuilder
Try
strBody.Append("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
strBody.Append("<head> ")
strBody.Append(" <style type=""text/css""> ")
strBody.Append(" body ")
strBody.Append(" { ")
strBody.Append(" margin:0px; ")
strBody.Append(" padding:0px 0px 0px 0px; ")
strBody.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
strBody.Append(" font-size: 10px; ")
strBody.Append(" background-color:#F0F0F0; ")
strBody.Append(" } ")
strBody.Append(" a.Texto ")
strBody.Append(" { ")
strBody.Append(" font-size:11px; ")
strBody.Append(" background-color:#F7F6F3; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" } ")
strBody.Append(" .Texto ")
strBody.Append(" { ")
strBody.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:center; vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .TextoAlterno ")
strBody.Append(" { ")
strBody.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:center; ")
strBody.Append(" vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .BarraIdentidad ")
strBody.Append(" { ")
strBody.Append(" color:#FFFFFF; ")
strBody.Append(" background:#F0F0F0; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" font-size:19px; ")
strBody.Append(" font-style:oblique; ")
strBody.Append(" } ")
strBody.Append(" .Titulos ")
strBody.Append(" { ")
strBody.Append(" background-color: Gray;")
strBody.Append(" color:White; ")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Verde {color: #00CC00;} ")
strBody.Append(" .Negro {color: #000000;} ")
strBody.Append(" .Rojo {color: #FF0000;} ")
strBody.Append(" </style> ")
strBody.Append("</head> ")
strBody.Append("<body> ")
'Cargo el detalle
strBody.Append(" <div style='width: 550px'> ")
strBody.Append(" <fieldset> ")
strBody.Append(" <legend>Compras Programadas</legend> ")
strBody.Append(" <table width=""800px""><tr style='background-color:gray;color:White;font-family:Verdana;font-size:10px;text-align:center;vertical-align:middle;font-weight:bold;height:20px;text-decoration:none;'>")
strBody.Append(" <th scope='col' style='width: 100px'>Serie-Folio</th><th scope='col' style='width: 150px'>Proveedor</th><th scope='col' style='width: 100px'>Usuario Programó</th> <th scope='col' style='width: 100px'>Fecha</th><th scope='col' style='width: 120px'>Importe</th><th scope='col' style='width: 100px'>Importe Programado</th></tr>")
For Each gvr As GridViewRow In Gv.Rows
If gvr.FCCheckBox("Chk").Checked Then
Dim SerieFolio = gvr.DataKey("SerieFolio")
Dim Importe = gvr.DataKey("Original").ToDouble.FormatoNumero()
Dim ImporteProgramo = gvr.FCTextBox("TxtS").Text.ToDouble.FormatoNumero()
Dim Fecha As String = gvr.DataKey("Fecha").ToDateTime().ToString("dd/MM/yyyy")
Dim Proveedor As String = gvr.DataKey("RazonSocial")
strBody.Append($"<tr class='Texto'><td>{SerieFolio}</td><td>{Proveedor}</td><td>{UsuarioActual.Nombre}</td><td>{Fecha}</td><td style='text-align: right;'><span >{Importe}</span></td><td style='text-align: right;'>{ImporteProgramo}</td></tr>")
End If
Next
strBody.Append(" </table> ")
strBody.Append(" </fieldset> ")
strBody.Append(" </div> ")
strBody.Append("</body></html>")
Try
Dim Correo As String = "" '"rpenunuriv@hotmail.com"
'Rafael Peñuñuri
Dim ObjUsuarios As New ClsSisUsuarios
If ObjUsuarios.GetUsuarios(293) Then
If ObjUsuarios.DtResultados.Rows.Count > 0 Then
Correo = ObjUsuarios.DtResultados.Rows(0)("Correo").ToString()
End If
End If
ObjUsuarios.Dispose()
Dim Asunto As String = "SIG - Se programaron las siguientes facturas"
Dim Mail As New ClsSisMail()
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo, Asunto, strBody.ToString())
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL por cambio de Estatus", ex)
End Try
Catch ex As Exception
OnError("Ocurrio un error al general el correo.", ex)
End Try
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Protected Sub ChkProgramadas_CheckedChanged(sender As Object, e As EventArgs) Handles ChkProgramadas.CheckedChanged
If ChkProgramadas.Checked Then
DdlUsuarioProgramo.Visible = True
DdlCodigoProgramacion.Visible = True
Else
DdlUsuarioProgramo.Visible = False
DdlCodigoProgramacion.Visible = False
End If
UpProgramadas.Update()
End Sub
Protected Sub LnkImprimir_Click(sender As Object, e As EventArgs) Handles LnkImprimir.Click
Imprimir()
'Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedores.SelectedText}")
'Dim Registro = If(DdlUsuarioRegistro.SelectedValue = "-1", "", $"&emsp;<b>Registró:</b>&nbsp;{DdlUsuarioRegistro.SelectedItem.Text}")
'Dim Responsable = If(DdlUsuarioResponsable.SelectedValue = "-1", "", $"&emsp;<b>Responsable:</b>&nbsp;{DdlUsuarioResponsable.SelectedItem.Text}")
'Dim Clasificacion = If(DdlProveedoresClasificaciones.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DdlProveedoresClasificaciones.SelectedItem.Text}")
'Dim Moneda = If(DdlMoneda.SelectedValue = "-1", "", $"&emsp;<b>Moneda:</b>&nbsp;{DdlMoneda.SelectedItem.Text}")
'Dim Estatus = If(DdlEstatusCompra.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b>&nbsp;{DdlEstatusCompra.SelectedItem.Text}")
'Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b>&nbsp;{DdlSubProyecto.SelectedItem.Text}")
'Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b>&nbsp;{DdlProyecto.SelectedItem.Text}")
'Dim FechaIn As String = $"&emsp;<b>Fecha&nbsp;Inicio:</b>&nbsp;{txtFechaI.Text}"
'Dim FechaFn As String = $"&emsp;<b>Fecha&nbsp;Fin:</b>&nbsp;{txtFechaF.Text}"
'If txtFechaI.Text = "" Then FechaIn = ""
'If txtFechaF.Text = "" Then FechaFn = ""
'Dim Programo As String = ""
'If ChkProgramadas.Checked Then
' Programo = If(DdlUsuarioProgramo.SelectedValue = "-1", "", $"&emsp;<b>Autorizado&nbsp;Por:</b>&nbsp;{Ddlusuarioprogramo.SelectedItem.Text}")
'End If
'Dim params As New List(Of ReportParameter)
'params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
'params.Add(New ReportParameter("Programadas", If(ChkProgramadas.Checked, 1, 0)))
'params.Add(New ReportParameter("usuarioProgramo", usuarioProgramo))
'params.Add(New ReportParameter("Agrupador", DdlAgrupador.SelectedValue))
'params.Add(New ReportParameter("LogoUrl", String.Format("{0}/Empresas/{1}/Logo.png", Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, ""), UsuarioActual.CveEmpresa)))
'params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
'params.Add(New ReportParameter("FechaImpresion", Now.ToShortDateString))
'params.Add(New ReportParameter("AgrupadoPor", $"{Programo} {Proveedor} {Registro} {Responsable} {Clasificacion} {Moneda} {Estatus} {SubProyecto} {FechaIn} {FechaFn}"))
'ImprimirPDF("Empresas/Grales/Formatos/ProgramarRecursos.rdlc", DtDatos, params, "Programación de Recursos")
End Sub
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
Imprimir("Excel")
'Dim missing As Object = System.Reflection.Missing.Value
'Dim Mov As New ClsMovimientos
'Dim FechaI, FechaF, CodigoProg As String
'Dim CveUsuarioProgramo As Integer = DdlUsuarioProgramo.SelectedValue.ToEntero 'UsuarioActual.CveUsuario
'If Not ChkProgramadas.Checked Then CveUsuarioProgramo = -1
'If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1"
'If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1"
'If DdlCodigoProgramacion.SelectedValue > 0 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, CodigoProgramacion:=CodigoProg, ConComprobacion:=DdlComprobacion.SelectedValue.ToEntero, AplicaNC:=DdlAplicaNC.SelectedValue.ToEntero) Then
' DtDatos = Mov.DtResultados
' Dim params As New List(Of ReportParameter)
' params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
' params.Add(New ReportParameter("Programadas", If(ChkProgramadas.Checked, 1, 0)))
' params.Add(New ReportParameter("usuarioProgramo", UsuarioProgramo))
' params.Add(New ReportParameter("Agrupador", DdlAgrupador.SelectedValue))
' params.Add(New ReportParameter("LogoUrl", String.Format("{0}/Empresas/{1}/Logo.png", Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, ""), UsuarioActual.CveEmpresa)))
' ' Dim ImagenEmpresa As New System.IO.FileInfo(String.Format("{0}\Logo.png", UsuarioActual.Empresa.Ruta))
' ' params.Add(New ReportParameter("FirmaSolicito", If(ImagenEmpresa.Exists, New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri, "")))
' Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos\ProgramarRecursos.rdlc", UsuarioActual.Empresa.Ruta))
' If Archivo.Exists Then
' ImprimirPDF(String.Format("{0}Formatos\ProgramarRecursos.rdlc", UsuarioActual.Empresa.Ruta), DtDatos, params, "Programación de Recursos", "Excel")
' Else
' params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
' ImprimirPDF("Empresas/Grales/Formatos/ProgramarRecursos.rdlc", DtDatos, params, "Programación de Recursos", "Excel")
' End If
'End If
'Mov.Dispose()
End Sub
Private Sub Imprimir(Optional Formato As String = "PDF")
Dim Proveedor = If(CveProveedor = -1, "", $"&emsp;<b>Proveedor:</b>&nbsp;{GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros($"CveProveedor = {CveProveedor}").Rows(0)("RazonSocial").ToString}")
Dim Clasificacion = If(DdlProveedoresClasificaciones.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DdlProveedoresClasificaciones.SelectedItem.Text}")
Dim AplicaNC = If(DdlAplicaNC.SelectedValue = "-1", "", $"&emsp;<b>Aplica NC:</b>&nbsp;{DdlAplicaNC.SelectedItem.Text}")
Dim TipoProv = If(DdlTipoProveedor.SelectedValue = "0", "", $"&emsp;<b>Tipo Prov.:</b>&nbsp;{DdlTipoProveedor.SelectedItem.Text}")
Dim FechaIn As String = If(txtFechaI.Text = "", "", $"&emsp;<b>Fecha&nbsp;Inicio:</b>&nbsp;{txtFechaI.Text}")
Dim FechaFn As String = If(txtFechaF.Text = "", "", $"&emsp;<b>Fecha&nbsp;Fin:</b>&nbsp;{txtFechaF.Text}")
Dim Moneda = If(DdlMoneda.SelectedValue = "-1", "", $"&emsp;<b>Moneda:</b>&nbsp;{DdlMoneda.SelectedItem.Text}")
Dim FechaInV As String = If(TxtFechaIV.Text = "", "", $"&emsp;<b>Fecha&nbsp;Inicio Venc.:</b>&nbsp;{TxtFechaIV.Text}")
Dim FechaFnV As String = If(TxtFechaFV.Text = "", "", $"&emsp;<b>Fecha&nbsp;Fin Venc.:</b>&nbsp;{TxtFechaFV.Text}")
Dim Registro = If(DdlUsuarioRegistro.SelectedValue = "-1", "", $"&emsp;<b>Registró:</b>&nbsp;{DdlUsuarioRegistro.SelectedItem.Text}")
Dim Responsable = If(DdlUsuarioResponsable.SelectedValue = "-1", "", $"&emsp;<b>Responsable:</b>&nbsp;{DdlUsuarioResponsable.SelectedItem.Text}")
Dim Estatus = If(DdlEstatusCompra.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b>&nbsp;{DdlEstatusCompra.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b>&nbsp;{DdlSubProyecto.SelectedItem.Text}")
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b>&nbsp;{DdlProyecto.SelectedItem.Text}")
Dim Comprobacion = If(DdlComprobacion.SelectedValue = "-1", "", $"&emsp;<b>Comprobación:</b>&nbsp;{DdlComprobacion.SelectedItem.Text}")
Dim Programo As String = ""
If ChkProgramadas.Checked Then
Programo = If(DdlUsuarioProgramo.SelectedValue = "-1", "", $"&emsp;<b>Autorizado&nbsp;Por:</b>&nbsp;{DdlUsuarioProgramo.SelectedItem.Text}")
End If
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("Programadas", If(ChkProgramadas.Checked, 1, 0)))
params.Add(New ReportParameter("usuarioProgramo", UsuarioProgramo))
params.Add(New ReportParameter("Agrupador", DdlAgrupador.SelectedValue))
params.Add(New ReportParameter("LogoUrl", String.Format("{0}/Empresas/{1}/Logo.png", Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, ""), UsuarioActual.CveEmpresa)))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToShortDateString))
params.Add(New ReportParameter("AgrupadoPor", $"{Programo}{Proveedor}{Clasificacion}{AplicaNC}{TipoProv}{FechaIn}{FechaFn}{FechaInV}{FechaFnV}{Moneda}{Registro}{Responsable}{Estatus}{Proyecto}{SubProyecto}{Comprobacion}"))
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos\ProgramarRecursos.rdlc", UsuarioActual.Empresa.Ruta))
If Archivo.Exists Then
ImprimirPDF(String.Format("{0}Formatos\ProgramarRecursos.rdlc", UsuarioActual.Empresa.Ruta), DtDatos, params, "Programación de Recursos", Formato)
Else
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
ImprimirPDF("Empresas/Grales/Formatos/ProgramarRecursos.rdlc", DtDatos, params, "Programación de Recursos", Formato)
End If
End Sub
Protected Sub Calar_Click(sender As Object, e As EventArgs)
Dim message As String = ""
For Each item As ListItem In ListSubProyecto.Items
If item.Selected Then
If message <> "" Then
message += ";"
End If
message += item.Text + item.Value
End If
Next
Alert(message)
UPPFiltro2.Update()
End Sub
Private Function GetMacro() As String
Dim SB As New StringBuilder
SB.Append(" Sub AddRow(Row As String) " & vbLf)
SB.Append(" Rows(Row & "":"" & Row).Select " & vbLf)
SB.Append(" Selection.Copy " & vbLf)
SB.Append(" Selection.Insert Shift:=xlDown " & vbLf)
SB.Append(" End Sub ")
Return SB.ToString
End Function
Protected Sub BtnEditarProgramacion_Click(sender As Object, e As EventArgs) Handles BtnEditarProgramacion.Click
Dim CveUsuario As Integer = UsuarioActual.CveUsuario
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
Comp.UpdateProgramarCompra(gvr.DataKey("CveCompra").ToEntero, Importe, CveUsuario, UsuarioActual.CveEmpresa)
End If
Next
Alert("La Edición de la programación se guardó correctamente", TipoMensaje.MsgInformacion)
UPDatos.Update()
Comp.Dispose()
CargaDatos()
End Sub
Private Sub DdlUsuarioProgramo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlUsuarioProgramo.SelectedIndexChanged
If DdlUsuarioProgramo.SelectedValue > 0 Then
Dim ObjMovimientos As New ClsMovimientos
If ObjMovimientos.GetCodigosProgramacionPersonal(UsuarioActual.CveEmpresa, DdlUsuarioProgramo.SelectedValue.ToEntero) Then
DdlCodigoProgramacion.DataSource = ObjMovimientos.DtResultados
DdlCodigoProgramacion.DataBind()
DdlCodigoProgramacion.Items.Insert(0, New ListItem("Todos", "-1"))
End If
ObjMovimientos.Dispose()
End If
End Sub
#Region "C R E D I T O S - V E N C I M I E N T O"
Private Sub CargaCreditosVencimiento()
Dim ObjCreditos As New ClsBancos
If ObjCreditos.GetCreditosVencimiento(UsuarioActual.CveEmpresa) Then
DtVencimiento = ObjCreditos.DtResultados
Else
DtVencimiento = Nothing
End If
If DtVencimiento.Rows.Count > 0 Then
TabV.Visible = True
CargaGridVencimiento("")
Else
TabV.Visible = False
End If
ObjCreditos.Dispose()
End Sub
Private Sub CargaGridVencimiento(Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(DtVencimiento, "", Orden, DataViewRowState.CurrentRows)
GvV.DataSource = DV.ToTable()
DV.Dispose()
Else
GvV.DataSource = DtVencimiento
End If
GvV.DataBind()
UPDatos.Update()
End Sub
#End Region
End Class