Commit inicial Ventas Productivo

This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2019-08-14 16:40:54 -07:00
commit c35cf91883
13328 changed files with 3711549 additions and 0 deletions

View File

@@ -0,0 +1,834 @@
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
#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()
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
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
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
TxtCodigoP.Text = ""
If MsgError <> "" Then
Alert(MsgError, TipoMensaje.MsgError)
Else
Alert("La programación se guardó correctamente", TipoMensaje.MsgInformacion)
End If
Comp.Dispose()
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
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(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedores.SelectedText}")
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