Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports System.Xml 'Imports msExcel = Microsoft.Office.Interop.Excel Imports Microsoft.Reporting.WebForms Imports System.IO Imports System.Globalization 'Imports VBIDE Partial Class Compras_Proveedores Inherits ClsPaginas 'Configuración #Region "P R O P I E D A D E S" Private ReadOnly Property CveProveedor As Integer Get Return ViewState("CveProveedor").ToString.ToEntero End Get End Property Private Property CveProveedorSucursal As Integer Get Return ViewState("CveProveedorSucursal").ToString.ToEntero End Get Set(value As Integer) ViewState("CveProveedorSucursal") = value End Set End Property Private Property CveCuentaBancaria As Integer Get Return ViewState("CveCuentaBancaria").ToString.ToEntero End Get Set(value As Integer) ViewState("CveCuentaBancaria") = value End Set End Property Private Property Serie As String Get Return ViewState("Serie").ToString End Get Set(value As String) ViewState("Serie") = value End Set End Property Private Property Modalidad As String Get Return ViewState("Modalidad").ToString End Get Set(value As String) ViewState("Modalidad") = value End Set End Property Private Property SerieSucursal As String Get Return ViewState("SerieSucursal").ToString End Get Set(value As String) ViewState("SerieSucursal") = value End Set End Property Private Property CveMoneda As Integer Get Return ViewState("CveMoneda").ToString.ToEntero End Get Set(value As Integer) ViewState("CveMoneda") = value End Set End Property Private Property DtCuentasContables As Data.DataTable Get Return CType(ViewState("DtCuentasContables"), DataTable) End Get Set(value As Data.DataTable) ViewState("DtCuentasContables") = value End Set End Property Private Property DTCuentasBancos As DataTable Get Return CType(ViewState("DTCuentasBancos"), DataTable) End Get Set(value As DataTable) ViewState("DTCuentasBancos") = value End Set End Property Private Property TempDTCuentasBancos As DataTable Get Return CType(ViewState("TempDTCuentasBancos"), DataTable) End Get Set(value As DataTable) ViewState("TempDTCuentasBancos") = value End Set End Property Private Property DTCxP As DataTable Get Return CType(ViewState("DTCxP"), DataTable) End Get Set(value As DataTable) ViewState("DTCxP") = value End Set End Property Public Property CountCuentasxPagar As Integer Get Return ViewState("CountCuentasxPagar").ToString.ToEntero End Get Set(value As Integer) ViewState("CountCuentasxPagar") = value End Set End Property Public Property CountAnticipos As Integer Get Return ViewState("CountAnticipos").ToString.ToEntero End Get Set(value As Integer) ViewState("CountAnticipos") = value End Set End Property Private Property CveMonedaFiltro As Integer Get Return ViewState("CveMonedaFiltro").ToString.ToEntero End Get Set(value As Integer) ViewState("CveMonedaFiltro") = value End Set End Property Private Property TempDTProveedoresContactos As DataTable Get Return CType(ViewState("TempDTProveedoresContactos"), DataTable) End Get Set(value As DataTable) ViewState("TempDTProveedoresContactos") = value End Set End Property Private Property TempDTProveedoresContactosOrigin As DataTable Get Return CType(ViewState("TempDTProveedoresContactosOrigin"), DataTable) End Get Set(value As DataTable) ViewState("TempDTProveedoresContactosOrigin") = value End Set End Property Private Property CveProveedorContacto As Integer Get Return ViewState("CveProveedorContacto").ToString.ToEntero End Get Set(value As Integer) ViewState("CveProveedorContacto") = value End Set End Property Private Property IndexDTContacto As Integer Get Return ViewState("IndexDTContacto").ToString.ToEntero End Get Set(value As Integer) ViewState("IndexDTContacto") = value End Set End Property Private Property TempDTProveedoresContactosSucursal As DataTable Get Return CType(ViewState("TempDTProveedoresContactosSucursal"), DataTable) End Get Set(value As DataTable) ViewState("TempDTProveedoresContactosSucursal") = value End Set End Property Private Property TempDTProveedoresContactosSucursalOrigin As DataTable Get Return CType(ViewState("TempDTProveedoresContactosSucursalOrigin"), DataTable) End Get Set(value As DataTable) ViewState("TempDTProveedoresContactosSucursalOrigin") = value End Set End Property Private Property EsContactoSucursal As Integer Get Return ViewState("EsContactoSucursal").ToString.ToEntero End Get Set(value As Integer) ViewState("EsContactoSucursal") = value End Set End Property Private Property TempDTSucursales As DataTable Get Return CType(ViewState("TempDTSucursales"), DataTable) End Get Set(value As DataTable) ViewState("TempDTSucursales") = value End Set End Property Private Property TempDTSucursalesOrigin As DataTable Get Return CType(ViewState("TempDTSucursalesOrigin"), DataTable) End Get Set(value As DataTable) ViewState("TempDTSucursalesOrigin") = value End Set End Property Private Property IndexDTSucursal As Integer Get Return ViewState("IndexDTSucursal").ToString.ToEntero End Get Set(value As Integer) ViewState("IndexDTSucursal") = value End Set End Property Private Property CveTempSucursal As Integer Get Return ViewState("CveTempSucursal").ToString.ToEntero End Get Set(value As Integer) ViewState("CveTempSucursal") = value End Set End Property Private Property EsEditar As Integer Get Return ViewState("EsEditar").ToString.ToEntero End Get Set(value As Integer) ViewState("EsEditar") = value End Set End Property Private Property EsEditarSucursal As Integer Get Return ViewState("EsEditarSucursal").ToString.ToEntero End Get Set(value As Integer) ViewState("EsEditarSucursal") = value End Set End Property Private Property DtVencido As DataTable Get DtVencido = CType(ViewState("DtVencido"), DataTable) End Get Set(value As DataTable) ViewState("DtVencido") = value End Set End Property Private Property DtRotacion As DataTable Get DtRotacion = CType(ViewState("DtRotacion"), DataTable) End Get Set(value As DataTable) ViewState("DtRotacion") = value End Set End Property Private Property DtSaldoMensual As DataTable Get DtSaldoMensual = CType(ViewState("DtSaldoMensual"), DataTable) End Get Set(value As DataTable) ViewState("DtSaldoMensual") = value End Set End Property Private Property DtComportamientoCompras As DataTable Get DtComportamientoCompras = CType(ViewState("DtComportamientoCompras"), DataTable) End Get Set(value As DataTable) ViewState("DtComportamientoCompras") = value End Set End Property Private Property DtPreguntasEvaluacion() As DataTable Get Return If(IsNothing(ViewState("DtPreguntasEvaluacion")), New DataTable(), DirectCast(ViewState("DtPreguntasEvaluacion"), DataTable)) End Get Set ViewState("DtPreguntasEvaluacion") = Value End Set End Property Private Property DtRespuestasEvaluacion() As DataTable Get Return If(IsNothing(ViewState("DtRespuestasEvaluacion")), New DataTable(), DirectCast(ViewState("DtRespuestasEvaluacion"), DataTable)) End Get Set ViewState("DtRespuestasEvaluacion") = Value End Set End Property Private Property DTCobrosRealizados As DataTable Get DTCobrosRealizados = CType(ViewState("DTCobrosRealizados"), DataTable) End Get Set(value As DataTable) ViewState("DTCobrosRealizados") = value End Set End Property Private Property DtProveedoresHistorial As DataTable Get DtProveedoresHistorial = CType(ViewState("DtProveedoresHistorial"), DataTable) End Get Set(value As DataTable) ViewState("DtProveedoresHistorial") = value End Set End Property Private Property DtCxPHistorial As DataTable Get DtCxPHistorial = CType(ViewState("DtCxPHistorial"), DataTable) End Get Set(value As DataTable) ViewState("DtCxPHistorial") = value End Set End Property Private Property DtAntNC As DataTable Get DtAntNC = CType(ViewState("DtAntNC"), DataTable) End Get Set(value As DataTable) ViewState("DtAntNC") = value End Set End Property Private Property DtAntNCH As DataTable Get DtAntNCH = CType(ViewState("DtAntNCH"), DataTable) End Get Set(value As DataTable) ViewState("DtAntNCH") = value End Set End Property #End Region #Region " D O C U M E N T A C I O N" Property CveDocumentacionElectronica As Integer Get If ViewState("CvePersonalClienteDocumentacion") Is Nothing Then Return -1 Else Return DirectCast(ViewState("CvePersonalClienteDocumentacion"), Integer) End If End Get Set(value As Integer) ViewState("CvePersonalClienteDocumentacion") = value End Set End Property Property CveDocumentacion As Integer Get If ViewState("CveDocumentacion") Is Nothing Then Return -1 Else Return DirectCast(ViewState("CveDocumentacion"), Integer) End If End Get Set(value As Integer) ViewState("CveDocumentacion") = value End Set End Property Property Documentacion As String Get If ViewState("Documentacion") Is Nothing Then Return "-1" Else Return ViewState("Documentacion").ToString End If End Get Set(value As String) ViewState("Documentacion") = value End Set End Property Property AdjuntoDocumentacion As String Get If ViewState("AdjuntoDocumentacion") Is Nothing Then Return "" Else Return ViewState("AdjuntoDocumentacion").ToString End If End Get Set(value As String) ViewState("AdjuntoDocumentacion") = value End Set End Property Property DiasVigencia As Integer Get If ViewState("DiasVigencia") Is Nothing Then Return 0 Else Return DirectCast(ViewState("DiasVigencia"), Integer) End If End Get Set(value As Integer) ViewState("DiasVigencia") = value End Set End Property Property AplicaFechaVencimiento As Boolean Get If ViewState("AplicaFechaVencimiento") Is Nothing Then Return True Else Return DirectCast(ViewState("AplicaFechaVencimiento"), Boolean) End If End Get Set(value As Boolean) ViewState("AplicaFechaVencimiento") = value End Set End Property Private Property FechaVigencia As Date Get If ViewState("FechaVigencia") Is Nothing Then Return Nothing Else Return ViewState("FechaVigencia").ToString.ToDate End If End Get Set(value As Date) ViewState("FechaVigencia") = value End Set End Property Property Estatus As Integer Get If ViewState("Estatus") Is Nothing Then Return 0 Else Return DirectCast(ViewState("Estatus"), Integer) End If End Get Set(value As Integer) ViewState("Estatus") = value End Set End Property Property ObservacionDocumentacion As String Get If ViewState("ObservacionDocumentacion") Is Nothing Then Return "" Else Return ViewState("ObservacionDocumentacion").ToString End If End Get Set(value As String) ViewState("ObservacionDocumentacion") = value End Set End Property Private Property FechaLimite As Date Get If ViewState("FechaLimite") Is Nothing Then Return Date.Now.AddDays(15) Else Return ViewState("FechaLimite").ToString.ToDate End If End Get Set(value As Date) ViewState("FechaLimite") = value End Set End Property Property DTDocumentacion As DataTable Get If ViewState("DTDocumentacion") Is Nothing Then Return New DataTable Else Return DirectCast(ViewState("DTDocumentacion"), DataTable) End If End Get Set(value As DataTable) End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then CountCuentasxPagar = 0 CountAnticipos = 0 DtCuentasContables = Nothing ViewState("Orden") = "" SerieSucursal = "" TrFolioDuplicado.Visible = False CargaMonedas() CargaRegimenFiscal() 'HlAgregarExcel.Visible = UsuarioActual.CveRol = 1 If Request("CveProveedor") IsNot Nothing AndAlso IsNumeric(Request("CveProveedor")) AndAlso Request("CveProveedor").ToEntero > 0 Then ViewState("CveProveedor") = Request("CveProveedor") Serie = IfNull(Request("Serie"), "").ToString CveProveedorSucursal = IfNull(Request("CveProveedorSucursal"), "-1").ToString.ToEntero CveMoneda = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero If CveMoneda > 0 Then RBMoneda.SelectedValue = CveMoneda.ToString If CargaDatos() Then CveMonedaFiltro = -1 CargaHistorial(CveProveedorSucursal) CargaCxP(CveProveedorSucursal) CargaAnticipos(CveProveedorSucursal) CargaBancos(CveProveedorSucursal) CargaProveedorSucursales() CargaCuentasBancarias() CargaOC() CargaDocs() 'CargaColectivas() 'CargaSaldosBeneficiarios() CargaUsuariosPortal() CargarPagosNoBancarios() CargaFiltroMonedas() MostrarFiltro() 'Configuración de Modalidad Update ActivarRegistroAutomatico() BtnGuardar.Text = "Guardar Cambios" LtlTitulo.Text = "Proveedor:" 'ImgAddVenta HlAddCompra.NavigateUrl = $"/Compras/Compras.aspx?CveProveedor={CveProveedor}" 'ImgAddCompra.Attributes.Add("OnClick", "window.location = '/Compras/Compras.aspx?CveProveedor=" & CveProveedor & "'") 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250, -250); $('#DivEventoBitacora').show(1000); ") If Request("Opt") IsNot Nothing AndAlso IsNumeric(Request("Opt")) Then Tab.ActiveTabIndex = Request("Opt").ToEntero 'CARGA LOS FILTROS DEL TAB COMPORTAMIENTO VENTA TabComportamientoCompras.Visible = True CargaFiltros() End If HlEvento.Visible = True HlEvento.NavigateUrl = "/OI/PopUpAgenda.aspx?CveTipoEvento=2&CveProveedor=" & CveProveedor & "&TB_iframe=true&height=370&width=600;" CargaRepresentantes() Else 'Configuración de Modalidad Insert ImgAddObs.Visible = False ChkEstado.Checked = True : ChkEstado.Enabled = False LblFechaCaptura.Text = Now.ToShortDateString() LblUsuarioCapturo.Text = UsuarioActual.Usuario ViewState("CveProveedor") = -1 DivSucursales.Visible = False CargaCombos() CargaDIOTPais() 'DDlDIOTTipoTercero.SelectedValueExist(1) 'DdlDIOTTipoOperacion.SelectedValueExist(3) CreaTempDTProveedoresContactos() CreaTempDTProveedoresContactosSucursales() CreaTempDTSucursales() If UsuarioActual.Empresa.Funcionalidad(544).ToString = "1" Then Dim ObjSub As New ClsSubProyectos Dim CveSubProyectoMatriz As Integer If ObjSub.GetSubProyectos() Then CveSubProyectoMatriz = ObjSub.DtResultados.FiltroPrimeroValor("CveSubProyecto", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND TipoSucursal = 1").ToEntero End If Dim ObjFolios As New ClsGralFolios() If ObjFolios.GetFolios("Pro", UsuarioActual.CveEmpresa) Then Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoMatriz} And Estado = 'Activo'") If DT.Rows.Count > 0 Then TxtCodigo.Text = DT.Rows(0)("FActual").ToString TxtCodigo.Enabled = False Else Alert("No tiene registrados Folios Automáticos.", TipoMensaje.MsgAdvertencia) End If End If End If TxtRazonSocial.Attributes.Add("onKeyUp", "SetText(" & TxtRazonSocial.ClientID & ", " & TxtNombreComercial.ClientID & ")") If Request("CveFactura") IsNot Nothing Then CargadeFactura(Request("CveFactura").ToString.ToEntero) End If If UsuarioActual.TienePermisoProceso(256) Then LnkParametros.Visible = True 'Actualizar Límite de Crédito ActivarRegistroAutomatico() End If 'Crea y carga CuentasBancarias - tab:Bancos CargaCuentasBancarias() If UsuarioActual.TienePermisoProceso(84) Then 'abonar pago HplAbonarMasivo.Visible = True GvCxP.Columns(11).Visible = True End If If UsuarioActual.TienePermisoProceso(88) Then BtnGuardar.Visible = True 'agregar/Nuevo proveedor ScriptManager.RegisterStartupScript(Me, Me.GetType, "Ll", "pageLoad();", True) If UsuarioActual.Empresa.CvePlataforma = 2 Then DivFiscal.Visible = False TrFondoGarantia.Visible = False divportalusuarios.Visible = False End If CveProveedorContacto = -1 ' CargaDdlProveedorSucursalesContactos() 'USUARIOS '02/07/2018 - PRUEBAS USUARIOS PLATAFORMA PROVEEDOR If UsuarioActual.Empresa.CvePlataforma = 1 AndAlso CveProveedor > 0 Then 'SI ES USUARIO SIG TabUsuarios.Visible = True CargaUsuariosPortalProveedor() LnkAddUsuario.Visible = True LnkAddUsuario.Attributes.Add("onclick", $"javascript:AbrirVentana('/Sistemas/PopUpAddUsuario.aspx?CveProveedor={CveProveedor}', 801, 700);") End If TxtFechaICredito.Text = Now.AddYears(-2).ToShortDateString TxtFechaFCredito.Text = Now.ToShortDateString If UsuarioActual.Empresa.Funcionalidad(560) = "1" Then TabEvaluacion.Visible = True CargaEvaluacionProveedor() UpEvaluaciones.Update() End If If UsuarioActual.Empresa.Funcionalidad(565) = "1" Then TrConfianzaProveedor.Visible = True End If If UsuarioActual.TienePermisoProceso(273) Then GvA.Columns(5).Visible = True End If End If Dim script As String = String.Format("$({0}).removeClass({1});$({0}).removeClass({2}); $({0}).addClass({3});$({0}).text(""{4}"");", """#CXPContador""", """badge-success""", """badge-danger""", If(CountCuentasxPagar > 0, """badge-danger""", """badge-success"""), CountCuentasxPagar.ToString) RegistraScript(script, "contadorcuentaspopagar") Dim script2 As String = String.Format("$({0}).removeClass({1});$({0}).removeClass({2}); $({0}).addClass({3});$({0}).text(""{4}"");", """#AnticiposContador""", """badge-success""", """badge-danger""", If(CountAnticipos > 0, """badge-danger""", """badge-success"""), CountAnticipos.ToString) RegistraScript(script2, "contadoranticipos") RegisterPostBackControl() End Sub Private Sub CargaRegimenFiscal() DdlRegimenFiscal.DataSource = GlobalDTRegimenesFiscales DdlRegimenFiscal.DataBind() DdlRegimenFiscal.Items.Insert(0, New ListItem("Seleccione Uno", "-1")) End Sub Private Sub SetValues() ViewState("Orden") = "" ViewState("OrdenUsuarios") = "" 'ViewState("OEstado") = "Estado DESC" 'ViewState("OFecha") = "Fecha DESC" 'ViewState("OUsuario") = "Usuario DESC" End Sub Private Sub CargaRepresentantes() If CveProveedor > 0 Then Dim ObjProveedores As New ClsCompProveedores If ObjProveedores.GetRePresentanteLegal(-1, UsuarioActual.CveEmpresa, CveProveedor) Then GvRepresentante.DataSource = ObjProveedores.DtResultados Else GvRepresentante.DataSource = Nothing End If ObjProveedores.Dispose() GvRepresentante.DataBind() End If End Sub Private Sub CargaCuentasContables(Optional IdCuentaPadre As Integer = -1) If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaContabilidad Then Dim ObjContabilidad As New ClsContPAQi(UsuarioActual.Empresa) If ObjContabilidad.GetCuentasRecursiva(IdCuentaPadre, 1) Then DtCuentasContables = ObjContabilidad.DtResultados Else DtCuentasContables = Nothing End If ObjContabilidad.Dispose() ElseIf UsuarioActual.Empresa.TipoContabilidad = 1 Then Dim ObjContabilidad As New ClsContabilidad If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then DtCuentasContables = ObjContabilidad.DtResultados Else DtCuentasContables = Nothing End If ObjContabilidad.Dispose() End If End Sub Private Function CargadeFactura(CveFactura As Integer) As Integer Dim ObjeFacturas As New ClsCompras If ObjeFacturas.GetFacturas(CveFactura, "-1", Now.AddYears(-2), Now, "-1", "-1", -1, -1, -1, -1, "-1", UsuarioActual.CveEmpresa) Then Dim XMLDoc As New XmlDocument Try Dim dr As DataRow = ObjeFacturas.DtResultados.Rows(0) Dim SXML As String = File.ReadAllText(UsuarioActual.Empresa.Ruta & "Compras\" & dr("RFCDe").ToString & "\" & dr("XML").ToString) 'SXML = SXML.TrimStart(vbCr, vbLf, vbNullChar) 'SXML = SXML.TrimEnd(vbCr, vbLf, vbNullChar) SXML = SXML.Trim(New Char() {""c}) SXML = SXML.Replace("o;?", "") XMLDoc.LoadXml(SXML) Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix) Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3" Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) Dim nodo As XmlNode = XMLDoc.DocumentElement Dim Version As String = ValorXml(nodo, "Version") If Version = "3.2" Then Prefijo = "cfd" cfdVer = "http://www.sat.gob.mx/cfd/2" ElseIf Version = "3.3" Then cfdVer = "http://www.sat.gob.mx/cfd/3" Else ' se considera que es la version 4.0 cfdVer = "http://www.sat.gob.mx/cfd/4" End If 'If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2" namespaces.AddNamespace(Prefijo, cfdVer) Dim node As XmlNode node = XMLDoc.SelectSingleNode(String.Format("//{0}:Emisor", Prefijo), namespaces) If node IsNot Nothing Then TxtRFC.Text = ValorXml(node, "rfc") If Version = "3.3" Or Version = "4.0" Then TxtRazonSocial.Text = HttpUtility.HtmlDecode(ValorXml(node, "Nombre")) TxtNombreComercial.Text = HttpUtility.HtmlDecode(ValorXml(node, "Nombre")) ChkEstado.Checked = True Dim CodigoRegimenFiscal As String = ValorXml(node, "RegimenFiscal") If Version = "4.0" Or CodigoRegimenFiscal.Trim.Length > 0 Then Dim CveRegimenFiscal As Integer = GlobalDTRegimenesFiscales(-1).FiltroPrimeroValor("CveRegimenFiscal", $" CodigoRegimenFiscal = '{ CodigoRegimenFiscal }'").ToEntero DdlRegimenFiscal.SelectedValueExist(CveRegimenFiscal) End If Else TxtRazonSocial.Text = HttpUtility.HtmlDecode(ValorXml(node, "nombre")) TxtNombreComercial.Text = HttpUtility.HtmlDecode(ValorXml(node, "nombre")) Dim nodeDomicilio As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:DomicilioFiscal", Prefijo), namespaces) TxtDireccion.Text = ValorXml(nodeDomicilio, "calle") & " " & ValorXml(nodeDomicilio, "noExterior") ChkEstado.Checked = True node = XMLDoc.SelectSingleNode(String.Format("//{0}:Impuestos", Prefijo), namespaces) If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then 'Dim nodeRetenciones As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Retencion", Prefijo), namespaces) 'Dim nodeRet As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Retenciones", Prefijo), namespaces) Dim nodeTraslados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Traslado", Prefijo), namespaces) For Each traslado As XmlNode In nodeTraslados If traslado.Attributes("impuesto").Value = "IVA" Then TxtIVA.Text = traslado.Attributes("tasa").Value.ToDouble.ToString("N2") 'Retenciones End If Next End If End If End If DdlCtaContProveedores.Attributes.Add("onclick", "CargaCuentas(1);") Catch ex As Exception Alert(String.Format("No se pudo cargar la información ({0})", ex.Message), TipoMensaje.MsgAdvertencia) Return 0 End Try End If Return 1 End Function Private Function ValorXml(n As XmlNode, Campo As String, Optional Retorno As String = "") As String If n Is Nothing Then Return Retorno Dim o As XmlNode = n.Attributes.Cast(Of XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0) If o Is Nothing Then Return Retorno Else Return o.Value End If End Function Private Sub CargaCombos() CargaResponsable() CargaClasificacionProveedor() CargaUsuarioEvaluacionProveedor() CargaBancosSAT() End Sub Private Sub CargaBancosSAT() Dim ObjBancos As New ClsBancos If ObjBancos.GetBancosSAT Then DdlSatBanco.DataSource = ObjBancos.DtResultados End If ObjBancos.Dispose() DdlSatBanco.DataBind() DdlSatBanco.Items.Insert(0, New ListItem("Seleccione uno", "-1")) End Sub Private Function CargaDatos() As Boolean Dim Retorno As Boolean = False Dim ObjProveedor As New ClsCompProveedores() If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, CveProveedor, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then If ObjProveedor.DtResultados.Rows.Count > 0 Then 'Campos para Modificación 'Generales TxtCodigo.Text = ObjProveedor.Codigo TxtRazonSocial.Text = ObjProveedor.RazonSocial LtlProveedor.Text = ObjProveedor.RazonSocial TxtNombreComercial.Text = ObjProveedor.NombreComercial TxtNombreCorto.Text = ObjProveedor.NombreCorto TxtDireccion.Text = ObjProveedor.Direccion TxtRFC.Text = ObjProveedor.RFC TxtTelefono.Text = ObjProveedor.Telefono TxtContactoNombre.Text = ObjProveedor.ContactoNombre TxtContactoEmail.Text = ObjProveedor.ContactoMail TxtContactoTelefono.Text = ObjProveedor.ContactoCelular TxtNotificarA.Text = ObjProveedor.NotificarA TxtCP.Text = ObjProveedor.CP.ToString LblSituacionSAT.Text = ObjProveedor.Situacion HplAbonarMasivo.NavigateUrl = String.Format("/Bancos/ProveedoresAbonar.aspx?CveProveedor={0}&Serie={1}&CveMoneda={2}", CveProveedor, Serie, CveMoneda) HplAbonarMasivoNotas.NavigateUrl = String.Format("/Bancos/IE.aspx?OPCION=DevDinC&CveProveedor={0}&Masivo={1}", CveProveedor, 1) TxtCorreoCobranza.Text = ObjProveedor.CorreoCobranza LblUsuarioPortalCliente.Text = ObjProveedor.CorreoCobranza LblUsuarioPortalCliente.Attributes("style") = "font-weight: bold;" ChkFolioDuplicado.Checked = ObjProveedor.EditarFolioDuplicado DdlMonedaPrefente.SelectedValueExist(ObjProveedor.CveMonedaPreferente.ToString) ChkUsaLimiteCredito.Checked = ObjProveedor.UsaLimiteCredito 'Fiscal TxtIVA.Text = (ObjProveedor.IVA * 100).FormatoNumero TxtRetIVA.Text = ObjProveedor.RetIVA.ToString TxtRetISR.Text = ObjProveedor.RetISR.ToString 'DIOT CargaDIOTPais() DDlDIOTTipoTercero.SelectedValueExist(ObjProveedor.DIOTCveTipoTercero) DdlDIOTTipoOperacion.SelectedValueExist(ObjProveedor.DIOTCveTipoOperacion) TxtDIOTNumIDFiscal.Text = ObjProveedor.DIOTNumeroIDFiscal DdlDIOTPais.SelectedValueExist(ObjProveedor.DIOTCvePais) TxtDIOTNacionalidad.Text = ObjProveedor.DIOTNacionalidad DdlRegimenFiscal.SelectedValueExist(ObjProveedor.CveRegimenFiscal ) If UsuarioActual.Empresa.TipoContabilidad = 1 Then CargaCuentasConceptos() divCuentas.Visible = True divCuentasContp.Visible = False ElseIf UsuarioActual.Empresa.TipoContabilidad = 2 Then divCuentas.Visible = False divCuentasContp.Visible = True End If 'Contable If UsuarioActual.Empresa.UsaContabilidad Then DdlCtaContAcreedores.AutoPostBack = True DdlCtaContProveedores.AutoPostBack = True DdlCtaContAnticipos.AutoPostBack = True DdlCtaContFondoGarantia.AutoPostBack = True DdlCtaContRetIVA.AutoPostBack = True DdlCtaContRetIVAAcreditable.AutoPostBack = True DdlCtaContRetISR.AutoPostBack = True DdlCtaContComplementaria.AutoPostBack = True DdlCtaContExtranjera.AutoPostBack = True DdlCtaContDeudor.AutoPostBack = True DdlCtaContDeudorExtranjera.AutoPostBack = True DdlCtaContDeudorComplementaria.AutoPostBack = True DdlCtaContDocsXPagar.AutoPostBack = True DdlCtaContDocsXPagarExtranjera.AutoPostBack = True DdlCtaContDocsXPagarComplementaria.AutoPostBack = True DdlCtaContRetISRAcreditable.AutoPostBack = True DdlCtaContProveedores.Attributes.Add("onclick", "CargaCuentas(1);") DdlCtaContAcreedores.Attributes.Add("onclick", "CargaCuentas(6);") DdlCtaContAnticipos.Attributes.Add("onclick", "CargaCuentas(2);") DdlCtaContFondoGarantia.Attributes.Add("onclick", "CargaCuentas(3);") DdlCtaContRetIVA.Attributes.Add("onclick", "CargaCuentas(4);") DdlCtaContRetISR.Attributes.Add("onclick", "CargaCuentas(5);") DdlCtaContComplementaria.Attributes.Add("onclick", "CargaCuentas(7);") DdlCtaContExtranjera.Attributes.Add("onclick", "CargaCuentas(8);") DdlCtaContAcreedoresExtranjera.Attributes.Add("onclick", "CargaCuentas(9);") DdlCtaContAcreedoresComplementaria.Attributes.Add("onclick", "CargaCuentas(10);") DdlCtaContAnticiposExtranjera.Attributes.Add("onclick", "CargaCuentas(11);") DdlCtaContAnticiposComplementaria.Attributes.Add("onclick", "CargaCuentas(12);") DdlCtaContDeudor.Attributes.Add("onclick", "CargaCuentas(13);") DdlCtaContDeudorExtranjera.Attributes.Add("onclick", "CargaCuentas(14);") DdlCtaContDeudorComplementaria.Attributes.Add("onclick", "CargaCuentas(15);") DdlCtaContDocsXPagar.Attributes.Add("onclick", "CargaCuentas(16);") DdlCtaContDocsXPagarExtranjera.Attributes.Add("onclick", "CargaCuentas(17);") DdlCtaContDocsXPagarComplementaria.Attributes.Add("onclick", "CargaCuentas(18);") DdlCtaContRetISRAcreditable.Attributes.Add("onclick", "CargaCuentas(19);") DdlCtaContRetIVAAcreditable.Attributes.Add("onclick", "CargaCuentas(20);") 'Proveedores If ObjProveedor.IdCtaContProveedores > 0 Then DdlCtaContProveedores.Items.Add(New ListItem(ObjProveedor.CtaContProveedores, ObjProveedor.IdCtaContProveedores.ToString)) : DdlCtaContProveedores.SelectedValueExist(ObjProveedor.IdCtaContProveedores.ToString) If ObjProveedor.IdCtaContProveedoresExtranjera > 0 Then DdlCtaContExtranjera.Items.Add(New ListItem(ObjProveedor.CtaContProveedoresExtranjera, ObjProveedor.IdCtaContProveedoresExtranjera.ToString)) : DdlCtaContExtranjera.SelectedValue = ObjProveedor.IdCtaContProveedoresExtranjera.ToString If ObjProveedor.IdCtaContProveedoresComplementaria > 0 Then DdlCtaContComplementaria.Items.Add(New ListItem(ObjProveedor.CtaContProveedoresComplementaria, ObjProveedor.IdCtaContProveedoresComplementaria.ToString)) : DdlCtaContComplementaria.SelectedValue = ObjProveedor.IdCtaContProveedoresComplementaria.ToString 'Acreedores If ObjProveedor.IdCtaContAcreedor > 0 Then DdlCtaContAcreedores.Items.Add(New ListItem(ObjProveedor.CtaContAcreedor, ObjProveedor.IdCtaContAcreedor.ToString)) : DdlCtaContAcreedores.SelectedValue = ObjProveedor.IdCtaContAcreedor.ToString If ObjProveedor.IdCtaContAcreedorExtranjera > 0 Then DdlCtaContAcreedoresExtranjera.Items.Add(New ListItem(ObjProveedor.CtaContAcreedorExtranjera, ObjProveedor.IdCtaContAcreedorExtranjera.ToString)) : DdlCtaContAcreedoresExtranjera.SelectedValue = ObjProveedor.IdCtaContAcreedorExtranjera.ToString If ObjProveedor.IdCtaContAcreedorComplementaria > 0 Then DdlCtaContAcreedoresComplementaria.Items.Add(New ListItem(ObjProveedor.CtaContAcreedorComplementaria, ObjProveedor.IdCtaContAcreedorComplementaria.ToString)) : DdlCtaContAcreedoresComplementaria.SelectedValue = ObjProveedor.IdCtaContAcreedorComplementaria.ToString 'Anticipos If ObjProveedor.IdCtaContAnticipos > 0 Then DdlCtaContAnticipos.Items.Add(New ListItem(ObjProveedor.CtaContAnticipos, ObjProveedor.IdCtaContAnticipos.ToString)) : DdlCtaContAnticipos.SelectedValue = ObjProveedor.IdCtaContAnticipos.ToString If ObjProveedor.IdCtaContAnticiposExtranjera > 0 Then DdlCtaContAnticiposExtranjera.Items.Add(New ListItem(ObjProveedor.CtaContAnticiposExtranjera, ObjProveedor.IdCtaContAnticiposExtranjera.ToString)) : DdlCtaContAnticiposExtranjera.SelectedValue = ObjProveedor.IdCtaContAnticiposExtranjera.ToString If ObjProveedor.IdCtaContAnticiposComplementaria > 0 Then DdlCtaContAnticiposComplementaria.Items.Add(New ListItem(ObjProveedor.CtaContAnticiposComplementaria, ObjProveedor.IdCtaContAnticiposComplementaria.ToString)) : DdlCtaContAnticiposComplementaria.SelectedValue = ObjProveedor.IdCtaContAnticiposComplementaria.ToString 'Deudores If ObjProveedor.IdCtaContDeudor > 0 Then DdlCtaContDeudor.Items.Add(New ListItem(ObjProveedor.CtaContDeudor, ObjProveedor.IdCtaContDeudor.ToString)) : DdlCtaContDeudor.SelectedValue = ObjProveedor.IdCtaContDeudor.ToString If ObjProveedor.IdCtaContDeudorExtranjera > 0 Then DdlCtaContDeudorExtranjera.Items.Add(New ListItem(ObjProveedor.CtaContDeudorExtranjera, ObjProveedor.IdCtaContDeudorExtranjera.ToString)) : DdlCtaContDeudorExtranjera.SelectedValue = ObjProveedor.IdCtaContDeudorExtranjera.ToString If ObjProveedor.IdCtaContDeudorComplementaria > 0 Then DdlCtaContDeudorComplementaria.Items.Add(New ListItem(ObjProveedor.CtaContDeudorComplementaria, ObjProveedor.IdCtaContDeudorComplementaria.ToString)) : DdlCtaContDeudorComplementaria.SelectedValue = ObjProveedor.IdCtaContDeudorComplementaria.ToString 'DocsXPagar If ObjProveedor.IdCtaContDocsXPagar > 0 Then DdlCtaContDocsXPagar.Items.Add(New ListItem(ObjProveedor.CtaContDocsXPagar, ObjProveedor.IdCtaContDocsXPagar.ToString)) : DdlCtaContDocsXPagar.SelectedValue = ObjProveedor.IdCtaContDocsXPagar.ToString If ObjProveedor.IdCtaContDocsXPagarExtranjera > 0 Then DdlCtaContDocsXPagarExtranjera.Items.Add(New ListItem(ObjProveedor.CtaContDocsXPagarExtranjera, ObjProveedor.IdCtaContDocsXPagarExtranjera.ToString)) : DdlCtaContDocsXPagarExtranjera.SelectedValue = ObjProveedor.IdCtaContDocsXPagarExtranjera.ToString If ObjProveedor.IdCtaContDocsXPagarComplementaria > 0 Then DdlCtaContDocsXPagarComplementaria.Items.Add(New ListItem(ObjProveedor.CtaContDocsXPagarComplementaria, ObjProveedor.IdCtaContDocsXPagarComplementaria.ToString)) : DdlCtaContDocsXPagarComplementaria.SelectedValue = ObjProveedor.IdCtaContDocsXPagarComplementaria.ToString 'Otros If ObjProveedor.IdCtaContFondoGarantia > 0 Then DdlCtaContFondoGarantia.Items.Add(New ListItem(ObjProveedor.CtaContFondoGarantia, ObjProveedor.IdCtaContFondoGarantia.ToString)) : DdlCtaContFondoGarantia.SelectedValue = ObjProveedor.IdCtaContFondoGarantia.ToString If ObjProveedor.IdCtaContRetIVA > 0 Then DdlCtaContRetIVA.Items.Add(New ListItem(ObjProveedor.CtaContRetIVA, ObjProveedor.IdCtaContRetIVA.ToString)) : DdlCtaContRetIVA.SelectedValue = ObjProveedor.IdCtaContRetIVA.ToString If ObjProveedor.IdCtaContRetISR > 0 Then DdlCtaContRetISR.Items.Add(New ListItem(ObjProveedor.CtaContRetISR, ObjProveedor.IdCtaContRetISR.ToString)) : DdlCtaContRetISR.SelectedValue = ObjProveedor.IdCtaContRetISR.ToString If ObjProveedor.IdCtaContRetISRAcreditable > 0 Then DdlCtaContRetISRAcreditable.Items.Add(New ListItem(ObjProveedor.CtaContRetISRAcreditable, ObjProveedor.IdCtaContRetISRAcreditable.ToString)) : DdlCtaContRetISRAcreditable.SelectedValue = ObjProveedor.IdCtaContRetISRAcreditable.ToString If ObjProveedor.IdCtaContRetIVAAcreditable > 0 Then DdlCtaContRetIVAAcreditable.Items.Add(New ListItem(ObjProveedor.CtaContRetIVAAcreditable, ObjProveedor.IdCtaContRetIVAAcreditable.ToString)) : DdlCtaContRetIVAAcreditable.SelectedValue = ObjProveedor.IdCtaContRetIVAAcreditable.ToString End If 'CxP TxtLimiteCredito.Text = ObjProveedor.LimiteCredito.ToString.FormatoNumero TxtPlazoCobranza.Text = ObjProveedor.PlazoPago.ToString LblLimiteCredito.Text = ObjProveedor.LimiteCredito.ToString.FormatoNumero LblPlazoCobranza.Text = ObjProveedor.PlazoPago.ToString 'Sistema ChkEstado.Checked = ObjProveedor.Estatus = "Activo" LblFechaCaptura.Text = ObjProveedor.FechaIng.ToShortDateString LblUsuarioCapturo.Text = ObjProveedor.Usuario TxtObservaciones.Text = ObjProveedor.Observaciones CargaCombos() ChkAplicarEvaluacion.Checked = If(ObjProveedor.DtResultados.Rows(0)("AplicarEvaluacion").ToString = "True", True, False) TxtFechaEva.Text = If(IsDate(ObjProveedor.DtResultados.Rows(0)("FechaEvaluacion").ToString()), ObjProveedor.DtResultados.Rows(0)("FechaEvaluacion").ToString().ToDate().ToString("dd/MM/yyyy"), "") LblFechaUltimaEvaluacion.Text = If(IsDate(ObjProveedor.DtResultados.Rows(0)("FechaUltimaEvaluacion").ToString()), ObjProveedor.DtResultados.Rows(0)("FechaUltimaEvaluacion").ToString().ToDate().ToString("dd/MM/yyyy"), "") DdlCicloEvaluacion.SelectedValueExist(ObjProveedor.DtResultados.Rows(0)("CicloEvaluacion").ToString()) DdlUsuarioEvaluador.SelectedValueExist(ObjProveedor.DtResultados.Rows(0)("CveUsuarioEvaluador").ToString()) DdlConfianzaProveedor.SelectedValueExist(ObjProveedor.DtResultados.Rows(0)("CveConfianzaProveedor")) DdlCveClasificacionProveedor.SelectedValue = ObjProveedor.CveProveedorClasificacion.ToString() DdlCveUsuarioResponsable.SelectedValue = ObjProveedor.CveUsuarioResponsable.ToString DdlCveTipoProveedor.SelectedValue = ObjProveedor.CveTipoProveedor.ToString 'EMD: Si no es prisila desablita este campo If UsuarioActual.CveEmpresa = 13 AndAlso Not UsuarioActual.CveUsuario.Contiene(58, 100) Then DdlCveTipoProveedor.Enabled = False DdlCveTipoProveedor.Attributes.Add("disabled", "disabled") End If If TxtRazonSocial.Text.Trim = TxtNombreComercial.Text.Trim Then TxtRazonSocial.Attributes.Add("onKeyUp", "SetText(" & TxtRazonSocial.ClientID & ", " & TxtNombreComercial.ClientID & ")") If UsuarioActual.TienePermisoProceso(87) Then BtnGuardar.Visible = True 'Actualizar Proveedor If UsuarioActual.TienePermisoProceso(86) Then BtnEliminar.Visible = True ' Eliminar Proveedor If UsuarioActual.TienePermisoProceso(256) Then LnkParametros.Visible = True 'Actualizar Límite de Crédito Retorno = True enviaractivacion() CargaEventoBitacora() Else Alert("El Proveedor Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) BtnGuardar.Enabled = False ' LbAgregarSucursal.Enabled = False End If End If CargaProveedorSucursales() CargaContactos(ObjProveedor) ObjProveedor.Dispose() Return Retorno End Function Private Sub CargaUsuarioEvaluacionProveedor() DdlUsuarioEvaluador.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlUsuarioEvaluador.DataBind() End Sub Private Sub CargaCuentasConceptos() Dim ObjConta As New ClsContabilidad If ObjConta.GetCuentasConceptos(1, UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor) Then GvCta.DataSource = ObjConta.DtResultados End If ObjConta.Dispose() GvCta.DataBind() End Sub Private Sub CargaContactos(ByRef ObjProveedor As ClsCompProveedores) 'TRAE CONTACTOS GENERALES Y POR SUCURSAL If ObjProveedor.GetProveedoresContactos(-1, CveProveedor, -1) Then TempDTProveedoresContactos = ObjProveedor.DtResultados TempDTProveedoresContactosOrigin = TempDTProveedoresContactos.Copy() GvContactoProveedor.DataSource = TempDTProveedoresContactos GvContactoProveedor.DataBind() UpContactosProveedor.Update() End If 'TRAE CONTACTOS CON SUCURSAL If ObjProveedor.GetProveedoresContactos(-1, CveProveedor, -1) Then TempDTProveedoresContactosSucursal = ObjProveedor.DtResultados.FiltraParametros("CveProveedorSucursal > 0") 'If CveProveedor = -1 Then TempDTProveedoresContactosSucursal.Columns.Add("CveSucursalTemp", GetType(String)) 'Para controlar las sucursales no insertadas en BD 'End If TempDTProveedoresContactosSucursalOrigin = TempDTProveedoresContactosSucursal.Copy() End If End Sub Private Sub OrdenaDatos() If (GVSucursales.Rows.Count > 0) Then GVSucursales.UseAccessibleHeader = True GVSucursales.HeaderRow.TableSection = TableRowSection.TableHeader RegistraScript("OrdenarGV();") End If End Sub Private Sub CargaHistorial(CveProveedorSucursal As Integer, Optional SelectTop As Integer = 51) Dim ObjProveedores As New ClsCompProveedores() If ObjProveedores.GetHistorialCompras(CveProveedor, If(CveProveedorSucursal = 0, -1, CveProveedorSucursal), SelectTop, CveMonedaFiltro) Then If ObjProveedores.DtResultados.Rows.Count > 0 Then 'Carga Generales LtlCantidad.Text = ObjProveedores.DtResultados.Rows(0)("CountTotal").ToString.FormatoNumero(0) LtlTotalVendido.Text = ObjProveedores.DtResultados.Rows(0)("Total").ToString.FormatoNumero(2) LtlMinima.Text = ObjProveedores.DtResultados.Rows(0)("MIN_Total").ToString.FormatoNumero(2) LtlPromedio.Text = ObjProveedores.DtResultados.Rows(0)("AVG_Total").ToString.FormatoNumero(2) LtlMaxima.Text = ObjProveedores.DtResultados.Rows(0)("MAX_Total").ToString.FormatoNumero(2) 'Carga Grid DtProveedoresHistorial = ObjProveedores.DtResultados GVHistorial.DataSource = DtProveedoresHistorial Else LtlCantidad.Text = "0.00" LtlTotalVendido.Text = "0.00" LtlMinima.Text = "0.00" LtlPromedio.Text = "0.00" LtlMaxima.Text = "0.00" DtProveedoresHistorial = Nothing GVHistorial.DataSource = Nothing End If Else DtProveedoresHistorial = Nothing GVHistorial.DataSource = Nothing End If ObjProveedores.Dispose() GVHistorial.DataBind() UpnHistorial.Update() If IsPostBack AndAlso Not DivFiltraMoneda.Visible Then CargaFiltroMonedas() End If End Sub Private Sub CargaAnticipos(CveProveedorSucursal As Integer, Optional SelectTop As Integer = -1) Dim ObjMovtos As New ClsMovimientos() If ObjMovtos.GetAnticiposProveedor(CveProveedor, If(CveProveedorSucursal = 0, -1, CveProveedorSucursal), CveMonedaFiltro, -1) AndAlso ObjMovtos.DtResultados.Rows.Count > 0 Then CountAnticipos = ObjMovtos.DtResultados.FiltraParametros(" Tipo = 'Act' AND TipoDocto <> '' AND (CveCompra > 0 OR CveIE > 0) ").Rows.Count LblVencidoPesosAnt.Text = String.Format("{0}", ObjMovtos.DtResultados.SUM("Saldo", "CveMoneda = 1 And DiasVencidos > 0")).FormatoNumero LblTotalPesosAnt.Text = String.Format("{0}", ObjMovtos.DtResultados.SUM("Saldo", "CveMoneda = 1 ")).FormatoNumero LblPorVencerPesosAnt.Text = CType(LblTotalPesosAnt.Text.ToDouble - LblVencidoPesosAnt.Text.ToDouble, String).FormatoNumero LblVencidoDolaresAnt.Text = String.Format("{0}", ObjMovtos.DtResultados.SUM("Saldo", "CveMoneda = 2 And DiasVencidos > 0")).FormatoNumero LblTotalDolaresAnt.Text = String.Format("{0}", ObjMovtos.DtResultados.SUM("Saldo", "CveMoneda = 2 ")).FormatoNumero LblPorVencerDolaresAnt.Text = CType(LblTotalDolaresAnt.Text.ToDouble - LblVencidoDolaresAnt.Text.ToDouble, String).FormatoNumero LblTipoCambioAnt.Text = GlobalTipoCambio.ToString.FormatoNumero LblTotalAnt.Text = (LblTotalPesosAnt.Text.ToDouble + (LblTotalDolaresAnt.Text.ToDouble * LblTipoCambioAnt.Text.ToDouble)).ToString.FormatoNumero If SelectTop > 0 Then If ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'").Rows.Count > 0 Then DtAntNC = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'") GvA.DataSource = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'").AsEnumerable.Take(SelectTop).CopyToDataTable Else DtAntNC = Nothing GvA.DataSource = Nothing End If If ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Hist'").Rows.Count > 0 Then DtAntNCH = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Hist'") GvAH.DataSource = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Hist'").AsEnumerable.Take(SelectTop).CopyToDataTable Else DtAntNCH = Nothing GvAH.DataSource = Nothing End If Else DtAntNC = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'") GvA.DataSource = DtAntNC DtAntNCH = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Hist'") GvAH.DataSource = DtAntNCH End If ' e.Row.DBCampo("TipoDocto") = "NC" If ObjMovtos.DtResultados.FiltraParametros("TipoDocto = 'NC'").Rows.Count > 0 And UsuarioActual.TienePermisoProceso(273) Then HplAbonarMasivoNotas.Visible = True UpAnticipos.Update() End If Else GvA.DataSource = Nothing GvAH.DataSource = Nothing DtAntNC = Nothing DtAntNCH = Nothing End If ObjMovtos.Dispose() GvA.DataBind() GvAH.DataBind() UpAnticipos.Update() If IsPostBack AndAlso Not DivFiltraMoneda.Visible Then CargaFiltroMonedas() End If End Sub Private Sub CargaBancos(CveProveedorSucursal As Integer, Optional SelectTop As Integer = 21) Dim ObjMovtos As New ClsMovimientos() 'CxC Activas If ObjMovtos.GetProveedorBancos(CveProveedor, CveMoneda:=CveMonedaFiltro, CveProveedorSucursal:=If(CveProveedorSucursal = 0, -1, CveProveedorSucursal), SelectTop:=SelectTop) Then DTCobrosRealizados = ObjMovtos.DtResultados GvBancos.DataSource = DTCobrosRealizados End If ObjMovtos.Dispose() GvBancos.DataBind() UpBancos.Update() If IsPostBack AndAlso Not DivFiltraMoneda.Visible Then CargaFiltroMonedas() End If End Sub #Region "V E R M Á S" Protected Sub BtnVerMasCompras_Click(sender As Object, e As EventArgs) If BtnVerMasCompras.Text = "Ver Más " Then CargaHistorial(RBSucursal.SelectedValue.ToString.ToEntero, -1) BtnVerMasCompras.Text = "Ver Menos" Else CargaHistorial(RBSucursal.SelectedValue.ToString.ToEntero, 21) BtnVerMasCompras.Text = "Ver Más " End If End Sub Protected Sub BtnVerMasBancos_Click(sender As Object, e As EventArgs) If BtnVerMasBancos.Text = "Ver Más " Then CargaBancos(RBSucursal.SelectedValue.ToString.ToEntero, -1) BtnVerMasBancos.Text = "Ver Menos" Else CargaBancos(RBSucursal.SelectedValue.ToString.ToEntero, 11) BtnVerMasBancos.Text = "Ver Más " End If End Sub Protected Sub BtnVerMasAnticipos_Click(sender As Object, e As EventArgs) If BtnVerMasAnticipos.Text = "Ver Más " Then CargaAnticipos(RBSucursal.SelectedValue.ToString.ToEntero, -1) BtnVerMasAnticipos.Text = "Ver Menos" Else CargaAnticipos(RBSucursal.SelectedValue.ToString.ToEntero, 21) BtnVerMasAnticipos.Text = "Ver Más " End If End Sub Protected Sub BtnVerMasComprasPagadas_Click(sender As Object, e As EventArgs) If BtnVerMasComprasPagadas.Text = "Ver Más " Then CargaCxP(RBSucursal.SelectedValue.ToString.ToEntero, 1) BtnVerMasComprasPagadas.Text = "Ver Menos" Else CargaCxP(RBSucursal.SelectedValue.ToString.ToEntero, -1) BtnVerMasComprasPagadas.Text = "Ver Más " End If End Sub #End Region Private Sub CargaUsuariosPortal() Dim ObjUsrs As New ClsSisUsuarios() GvUsuariosPortalSis.Visible = False If ObjUsrs.GetUsuariosPortal(-1, -1, CveProveedor) Then Dim dtUsr As DataTable = ObjUsrs.DtResultados 'GvUsuariosPortalSis.DataSource = dtUsr.FiltraParametros("Estatus = 1") 'busco la clave del admin, si es que existe Dim dr As DataRow = dtUsr.FiltroPrimero("Nombre = 'Admin'") If dr IsNot Nothing Then HdnCveUsuarioPortalAdmin.Value = dr("CveUsuario").ToString If Convert.ToBoolean(dr("Estatus")) Then LblUsuarioActivo.Text = "Si" 'divUsuariosPortal.Visible = True HdnCveUsuarioPortalActivado.Value = "1" trDesactivarUsuario.Visible = True End If End If If HdnCveUsuarioPortalActivado.Value.ToEntero > 0 Then trEnviarActivacion.Visible = False End If Else ' GvUsuariosPortalSis.DataSource = Nothing End If ObjUsrs.Dispose() 'GvUsuariosPortalSis.DataBind() UPUsuarios.Update() End Sub Protected Sub GVHistorial_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GVHistorial.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.BackColor = Drawing.Color.LightGray End If 'Dim Liga As String = String.Format("", e.Row.DBCampo("CveCompra")) If e.Row.DBCampo("CveCompra").ToEntero > 0 Then e.Row.FCLabel("LtlFactura").Text = String.Format("{1}", e.Row.DBCampo("CveCompra"), e.Row.DBCampo("SerieFolio") & "") e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Right e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Right 'e.Row.Cells(0).Width = 50 'e.Row.Cells(1).Width = 150 'e.Row.Cells(2).Width = 250 'e.Row.Cells(3).Width = 70 'e.Row.Cells(4).Width = 100 'e.Row.Cells(5).Width = 80 'e.Row.Cells(6).Width = 100 'e.Row.Cells(7).Width = 100 'e.Row.Cells(8).Width = 50 End If End Sub Protected Sub GvAH_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvA.RowDataBound, GvAH.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then 'e.Row.BackColor = Drawing.Color.LightGray e.Row.Cells(0).Width = Unit.Pixel(120) e.Row.Cells(1).Width = Unit.Pixel(100) e.Row.Cells(2).Width = Unit.Pixel(100) e.Row.Cells(3).Width = Unit.Pixel(100) End If If e.Row.DBCampo("TipoDocto") = "Egsc" AndAlso e.Row.DBCampo("SerieFolio") = "" Then e.Row.CssClass = "Totales TextCenter" e.Row.Cells(0).Text = "Egreso Por Comprobar" End If If e.Row.DBCampo("TipoDocto") = "Ant" AndAlso e.Row.DBCampo("SerieFolio") = "" Then e.Row.CssClass = "Totales TextCenter" e.Row.Cells(0).Text = "Anticipos" End If If e.Row.DBCampo("TipoDocto") = "NC" AndAlso e.Row.DBCampo("SerieFolio") = "" Then e.Row.CssClass = "Totales TextCenter" e.Row.Cells(0).Text = "Notas de crédito" End If If e.Row.DBCampo("TipoDocto") = "DEV" AndAlso e.Row.DBCampo("SerieFolio") = "" Then e.Row.CssClass = "Totales TextCenter" e.Row.Cells(0).Text = "Devolución" End If If e.Row.DBCampo("CveProveedor") = "" Then e.Row.BackColor = Drawing.Color.LightGray End If If UsuarioActual.TienePermisoProceso(273) Then If CType(sender, GridView).ID = "GvA" And e.Row.DBCampo("CveCompra").ToEntero > 0 And e.Row.DBCampo("TipoDocto") = "NC" Then Dim Parametros = Encripta($"CveCompra={e.Row.DBCampo("CveCompra").ToEntero}&SerieFolio={e.Row.DBCampo("SerieFolio")}&CveMoneda={e.Row.DBCampo("CveMoneda")}&CveProveedor={CveProveedor}&Saldo={e.Row.DBCampo("Saldo")}&Original={e.Row.DBCampo("Original")}&CvePrePoliza={e.Row.DBCampo("CvePrePoliza")}&FechaCompra={e.Row.DBCampo("Fecha")}") e.Row.FCHyperLink("HLDevolverDinero").Visible = True e.Row.FCHyperLink("HLDevolverDinero").NavigateUrl = $"/Bancos/IE.aspx?Opcion=DevDinC&P={Parametros}" End If End If End If End Sub Protected Sub GvBancos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvBancos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim HLSendMail As HtmlAnchor = DirectCast(e.Row.FindControl("HLSendMail"), HtmlAnchor) If e.Row.RowIndex = 0 Then e.Row.Cells(0).Width = Unit.Pixel(120) e.Row.Cells(1).Width = Unit.Pixel(70) e.Row.Cells(2).Width = Unit.Pixel(80) e.Row.Cells(3).Width = Unit.Pixel(80) e.Row.Cells(4).Width = Unit.Pixel(90) e.Row.Cells(5).Width = Unit.Pixel(90) e.Row.Cells(6).Width = Unit.Pixel(105) e.Row.Cells(7).Width = Unit.Pixel(90) End If If e.Row.DBCampo("CveCompra") = "" Then If e.Row.DBCampo("CveIE") <> "" Then Dim ObjCompra As New ClsCompras e.Row.Cells(0).Text = String.Format("{0} - {1} - {2}", e.Row.DBCampo("Banco"), e.Row.DBCampo("NumCuenta"), e.Row.DBCampo("Moneda")) e.Row.FCLiteral("LtlFechaVenci").Text = e.Row.DBCampo("FechaDocumento").ToDate.ToShortDateString e.Row.FCHyperLink("HplCheque").Visible = True HLSendMail.Visible = True HLSendMail.HRef = String.Format("javascript:$get('HdnCveIE').value='{0}';$get('HdnSerieFolio').value='{1}';$get('HdnFolioPago').value='{2}';$get('TxtParaMail').value='{3}';$('#ModalDivMail').modal();", e.Row.DBCampo("CveIE"), e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("FolioPago"), TxtCorreoCobranza.Text) If ObjCompra.GetCompraComplementoPago(-1, UsuarioActual.CveEmpresa, e.Row.DBCampo("CveIE").ToString.ToEntero) Then If ObjCompra.DtResultados.Rows.Count > 0 Then e.Row.FCHyperLink("HplXML").Visible = True : e.Row.FCHyperLink("HplXML").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?RFC={0}&File={1}", ObjCompra.DtResultados(0)("RFCDe"), ObjCompra.DtResultados(0)("XML")) e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?RFC={0}&File={1}", ObjCompra.DtResultados(0)("RFCDe"), ObjCompra.DtResultados(0)("PDF")) HLSendMail.Visible = False End If End If ObjCompra.Dispose() End If e.Row.BackColor = Drawing.Color.LightGray End If End If End Sub Protected Sub BtnCargarCuentas_Click(sender As Object, e As EventArgs) Handles BtnCargarCuentas.Click If UsuarioActual.Empresa.TipoContabilidad = 2 Then If DtCuentasContables Is Nothing Then End If Dim ObjContabilidad As New ClsContPAQi(UsuarioActual.Empresa) Select Case HdnCuenta.Value Case "1" CargaCuentasDDL(DdlCtaContProveedores, If(DdlCveTipoProveedor.SelectedValue = "2", 202, 201)) Case "2" CargaCuentasDDL(DdlCtaContAnticipos, 204) Case "3" CargaCuentasDDL(DdlCtaContFondoGarantia, 231) Case "4" CargaCuentasDDL(DdlCtaContRetIVA, 206) Case "5" CargaCuentasDDL(DdlCtaContRetISR, 206) Case "6" CargaCuentasDDL(DdlCtaContAcreedores, 202) Case "7" CargaCuentasDDL(DdlCtaContComplementaria, 201) Case "8" CargaCuentasDDL(DdlCtaContExtranjera, 201) Case "9" CargaCuentasDDL(DdlCtaContAcreedoresExtranjera, 202) Case "10" CargaCuentasDDL(DdlCtaContAcreedoresComplementaria, 202) Case "11" CargaCuentasDDL(DdlCtaContAnticiposExtranjera, 204) Case "12" CargaCuentasDDL(DdlCtaContAnticiposComplementaria, 204) Case "13" CargaCuentasDDL(DdlCtaContDeudor, 205) Case "14" CargaCuentasDDL(DdlCtaContDeudorExtranjera, 205) Case "15" CargaCuentasDDL(DdlCtaContDeudorComplementaria, 205) Case "16" CargaCuentasDDL(DdlCtaContDocsXPagar, 203) Case "17" CargaCuentasDDL(DdlCtaContDocsXPagarExtranjera, 203) Case "18" CargaCuentasDDL(DdlCtaContDocsXPagarComplementaria, 203) Case "19" CargaCuentasDDL(DdlCtaContRetISRAcreditable, 206) Case "20" CargaCuentasDDL(DdlCtaContRetIVAAcreditable, 206) End Select End If End Sub Private Sub CargaCuentasDDL(Ddl As DropDownList, CveFuncionalidad As Integer) 'CARGA LO YA SELECCIONADO Dim CveSeleccionado = -1 Dim Seleccionado = "" Seleccionado = Ddl.SelectedItem.Text CveSeleccionado = Ddl.SelectedValue.ToEntero 'VA POR EL CATALOGO DE CUENTAS If Ddl.Attributes("onclick") <> "" Then CargaCuentasContables(If(UsuarioActual.Empresa.Funcionalidad(CveFuncionalidad).ToEntero > 0, UsuarioActual.Empresa.Funcionalidad(CveFuncionalidad).ToEntero, 1)) End If 'RECARGA EL DDL Ddl.Items.Clear() Ddl.DataSource = DtCuentasContables Ddl.Items.Insert(0, New ListItem("Seleccione", "0")) Ddl.DataBind() 'SELECCIONA EL YA SELECCIONADO - SI NO EXISTE EN EL DATASOURCE LO INSERTA If DtCuentasContables.FiltraParametros($"Id = {CveSeleccionado}").Rows.Count > 0 Then Ddl.SelectedValue = CveSeleccionado.ToString ElseIf CveSeleccionado > 0 Then Ddl.Items.Insert(1, New ListItem(Seleccionado, CveSeleccionado.ToString)) Ddl.SelectedValue = CveSeleccionado.ToString End If 'LIMPIA EVENTOS Y PONE CLASE Ddl.AutoPostBack = False Ddl.Attributes.Remove("onclick") Ddl.CssClass &= " select2me" End Sub #Region "LL E N A R - C O M B O S" Private Sub CargaResponsable() 'DdlCveUsuarioResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa, DistinctColumns:={"CveUsuario", "Nombre"}) Dim DtUsuarios As DataTable = Nothing Dim ObjUsuarios As New ClsSisUsuarios Try If ObjUsuarios.GetUsuarios(-1) Then DtUsuarios = ObjUsuarios.DtResultados.FiltraParametros($"CveEmpresaPredeterminada = {UsuarioActual.CveEmpresa}", DistinctColumns:={"CveUsuario", "Nombre", "Estatus"}) If CveProveedor <= 0 AndAlso DtUsuarios IsNot Nothing Then DtUsuarios = DtUsuarios.FiltraParametros("Estatus = True", DistinctColumns:={"CveUsuario", "Nombre"}) End If End If Catch ex As Exception OnError("Ocurrio un error al obtener los responsables", ex) End Try ObjUsuarios.Dispose() DdlCveUsuarioResponsable.DataSource = DtUsuarios 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveUsuario", "Nombre"}) DdlCveUsuarioResponsable.DataBind() End Sub Private Sub CargaClasificacionProveedor() DdlCveClasificacionProveedor.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa) DdlCveClasificacionProveedor.DataBind() DdlCveClasificacionProveedor.Items.Insert(0, New ListItem("Sin Clasificación", "0")) End Sub Private Sub CargaDIOTPais() DdlDIOTPais.DataSource = GlobalDTGralPaises() DdlDIOTPais.DataBind() DdlDIOTPais.Items.Insert(0, New ListItem("-", "0")) End Sub #End Region #Region "P R O V E E D O R" Protected Sub BtnEliminar_Click(sender As Object, e As System.EventArgs) Handles BtnEliminar.Click Dim ObjProveedores As New ClsCompProveedores() If ObjProveedores.RemoveProveedor(CveProveedor) Then Alert("El Proveedor se Eliminó correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Compras/CatProveedores.aspx"";") End If ObjProveedores.Dispose() End Sub Protected Sub enviaractivacion() If TxtCorreoCobranza.Text <> "" Then LbEnviarActivacionPortal.Enabled = True Else LbEnviarActivacionPortal.Enabled = False LbEnviarActivacionPortal.ToolTip = "Debe de agregar una dirección de Email en la pestaña Información del Proveedor, campo 'Cobranza/Portal'." End If End Sub Private Function AsignaCuentasAutomaticas(ObjProveedor As ClsCompProveedores, CveProveedor As Integer) As Boolean Dim IdCtaContProveedores As Integer = If(DdlCveTipoProveedor.SelectedValue.ToEntero = 1, UsuarioActual.Empresa.Funcionalidad(321).ToEntero, UsuarioActual.Empresa.Funcionalidad(322).ToEntero) Dim IdCtaContAcreedor As Integer = If(DdlCveTipoProveedor.SelectedValue.ToEntero = 1, UsuarioActual.Empresa.Funcionalidad(323).ToEntero, UsuarioActual.Empresa.Funcionalidad(324).ToEntero) Dim IdCtaContComplementaria As Integer = If(DdlCveTipoProveedor.SelectedValue.ToEntero = 1, UsuarioActual.Empresa.Funcionalidad(325).ToEntero, UsuarioActual.Empresa.Funcionalidad(326).ToEntero) Dim IdCtaContAnticipos As Integer = If(DdlCveTipoProveedor.SelectedValue.ToEntero = 1, UsuarioActual.Empresa.Funcionalidad(327).ToEntero, UsuarioActual.Empresa.Funcionalidad(328).ToEntero) Dim IdCtaContExtranjera As Integer = If(DdlCveTipoProveedor.SelectedValue.ToEntero = 1, UsuarioActual.Empresa.Funcionalidad(329).ToEntero, UsuarioActual.Empresa.Funcionalidad(330).ToEntero) If Not ObjProveedor.VincularCuentasContables(IdCtaContProveedores, IdCtaContAcreedor, IdCtaContComplementaria, IdCtaContAnticipos, IdCtaContExtranjera, CveProveedor) Then Return False End If Return True End Function Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click enviaractivacion() Dim tIdContaProveedor As Integer Dim CuentaAbono As Integer Dim ErrorBancos = False Dim ErrorConta As Boolean = False Dim ErrorContactos As Boolean = False Dim ErrorSucursales As Boolean = False Dim ErrorCuentasContables As Boolean = False Dim codigo As String = "-1" Dim MsgCuentaContable As String = "" Dim IdCuentaContable As Integer = -1 Dim IdProveedor As Integer = -1 Dim errorContPaq As Boolean = False Dim AplicarEvaluacion As Boolean = ChkAplicarEvaluacion.Checked Dim FechaEvaluacion As String = If(IsDate(TxtFechaEva.Text.Trim()), TxtFechaEva.Text, "-1") Dim CicloEvaluacion As Integer = If(AplicarEvaluacion, DdlCicloEvaluacion.SelectedValue.ToEntero(), -1) 'Dim IdContPaqi As Integer 'Dim CodigoPersona As Integer 'If UsuarioActual.Empresa.Funcionalidad(522).ToString = "1" Then ' Dim ObjContPaqi As New ClsContPAQi(UsuarioActual.Empresa) ' If UsuarioActual.Empresa.UsaContabilidad Then ' If ObjContPaqi.GetPersona(TxtRFC.Text) Then ' If ObjContPaqi.DtResultados.Rows.Count > 0 Then ' IdContPaqi = ObjContPaqi.DtResultados.Rows(0)("Id").ToString.ToEntero ' CodigoPersona = ObjContPaqi.DtResultados.Rows(0)("Codigo").ToString.ToEntero ' Dim Cont_EsProveedor As Integer = If(Boolean.Parse(ObjContPaqi.DtResultados.Rows(0)("EsProveedor").ToString), 1, 0) ' Dim Cont_Nombre As String = ObjContPaqi.DtResultados(0)("Nombre").ToString ' Dim Cont_RFC As String = ObjContPaqi.DtResultados(0)("RFC").ToString ' If ObjContPaqi.UpdatePersona(IdContPaqi, Cont_Nombre, Cont_RFC, 1, Cont_EsProveedor) Then ' errorContPaq = False ' Else ' errorContPaq = True ' End If ' Else ' If ObjContPaqi.AddPersona(TxtNombreComercial.Text.Trim, TxtRFC.Text.Trim, 0, 1) Then ' IdContPaqi = ObjContPaqi.DtResultados.Rows(0)("IdContPaqiPersona").ToString.ToEntero ' CodigoPersona = ObjContPaqi.DtResultados.Rows(0)("Codigo").ToString.ToEntero ' errorContPaq = False ' Else ' errorContPaq = True ' End If ' End If ' End If ' End If ' If Not errorContPaq Then ' ObjContPaqi.Commit() ' ObjContPaqi.Dispose() ' Else ' ObjContPaqi.RollBack() ' ObjContPaqi.Dispose() ' Exit Sub ' End If 'End If If CveProveedor = -1 Then Dim ObjContaAC As ClsContPAQi = Nothing If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ((UsuarioActual.Empresa.Funcionalidad(200).ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(201).ToEntero > 0)) Then 'FUNCIONALIDAD 112=AGREGAR CTA CONTABLE PROVEEDOR ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa) ObjContaAC.IniciaTransacSQL() Dim ClaveFuncionalidad As Integer = UsuarioActual.Empresa.Funcionalidad(201).ToEntero If DdlCveTipoProveedor.SelectedValue = "2" Then 'cuando es acreedor ClaveFuncionalidad = UsuarioActual.Empresa.Funcionalidad(202).ToEntero End If If UsuarioActual.Empresa.Funcionalidad(322).ToString.Trim.ToEntero > 0 Then IdCuentaContable = UsuarioActual.Empresa.Funcionalidad(322).ToString.Trim.ToEntero Else IdCuentaContable = ObjContaAC.AddSiguienteCuentaHijo(ClaveFuncionalidad, TxtRazonSocial.Text.Trim, "D", 2) End If If IdCuentaContable > 0 Then ObjContaAC.GetCuentas(IdCuentaContable, "-1", -1) Dim dt = ObjContaAC.DtResultados Dim CtaCodigo As String If dt.Rows.Count = 1 Then Dim row As DataRow = dt.Rows(0) CtaCodigo = CStr(row("CtaCodigo")) DdlCtaContProveedores.Items.Add(New ListItem(CtaCodigo, IdCuentaContable.ToString)) : DdlCtaContProveedores.SelectedValueExist(IdCuentaContable.ToString) End If 'If UsuarioActual.Empresa.Funcionalidad(522).ToString = "1" Then ' If UsuarioActual.Empresa.UsaContabilidad Then ' Dim ObjContPaqi As New ClsContPAQi(UsuarioActual.Empresa) ' If Not errorContPaq Then ' If ObjContPaqi.GetProveedor(TxtRFC.Text.Trim) Then ' If ObjContPaqi.DtResultados.Rows.Count > 0 Then ' IdProveedor = ObjContPaqi.DtResultados.Rows(0)("Id").ToString.ToEntero ' errorContPaq = False ' Else ' IdProveedor = ObjContPaqi.AddProveedor(IdCuentaContable, TxtRFC.Text.Trim, TxtNombreComercial.Text.Trim, "", CodigoPersona) ' If IdProveedor > 0 Then ' errorContPaq = False ' Else ' errorContPaq = True ' End If ' End If ' Else ' errorContPaq = True ' End If ' End If ' If Not errorContPaq Then ' ObjContPaqi.Commit() ' ObjContPaqi.Dispose() ' Else ' ObjContPaqi.RollBack() ' ObjContPaqi.Dispose() ' Exit Sub ' End If ' End If 'Else ' IdProveedor = ObjContaAC.AddProveedor(IdCuentaContable, TxtRFC.Text.Trim, TxtRazonSocial.Text.Trim, "") 'End If IdProveedor = ObjContaAC.AddProveedor(IdCuentaContable, TxtRFC.Text.Trim, TxtRazonSocial.Text.Trim, "") If IdProveedor > 0 Then Else ObjContaAC.RollBack() Alert("Ocurrio un error al guardar en el padron de proveedores") ErrorConta = True End If Else ObjContaAC.RollBack() ErrorConta = True Alert("Ocurrio un error al guardar la cuenta contable") End If End If Dim ObjProveedores As New ClsCompProveedores() Dim ObjCuentasDeposito As New ClsGenerales(ObjProveedores.IniciaTransacSQL()) If ErrorConta = False AndAlso ObjProveedores.AddProveedor(TxtCodigo.Text.Trim, TxtRazonSocial.Text.Trim, TxtNombreComercial.Text.Trim, TxtNombreCorto.Text.Trim, TxtRFC.Text.Trim, TxtDireccion.Text.Trim, TxtTelefono.Text.Trim.Replace("("c, "").Replace(")"c, "").Replace("-"c, "").Replace(" ", ""), TxtContactoNombre.Text.Trim, TxtContactoEmail.Text.Trim, TxtContactoTelefono.Text.Trim.Replace("("c, "").Replace(")"c, "").Replace("-"c, "").Replace(" ", ""), TxtLimiteCredito.Text.Trim.ToDouble, TxtPlazoCobranza.Text.Trim.ToEntero, TxtObservaciones.Text.Trim, TxtIVA.Text.Trim.ToDouble, TxtRetIVA.Text.Trim.ToDouble, TxtRetISR.Text.Trim.ToDouble, DdlCtaContProveedores.SelectedValue.ToEntero, DdlCtaContProveedores.SelectedItem.Text, DdlCtaContExtranjera.SelectedValue.ToEntero, DdlCtaContExtranjera.SelectedItem.Text, DdlCtaContComplementaria.SelectedValue.ToEntero, DdlCtaContComplementaria.SelectedItem.Text, DdlCtaContAcreedores.SelectedValue.ToEntero, DdlCtaContAcreedores.SelectedItem.Text, DdlCtaContAcreedoresExtranjera.SelectedValue.ToEntero, DdlCtaContAcreedoresExtranjera.SelectedItem.Text, DdlCtaContAcreedoresComplementaria.SelectedValue.ToEntero, DdlCtaContAcreedoresComplementaria.SelectedItem.Text, DdlCtaContAnticipos.SelectedValue.ToEntero, DdlCtaContAnticipos.SelectedItem.Text, DdlCtaContAnticiposExtranjera.SelectedValue.ToEntero, DdlCtaContAnticiposExtranjera.SelectedItem.Text, DdlCtaContAnticiposComplementaria.SelectedValue.ToEntero, DdlCtaContAnticiposComplementaria.SelectedItem.Text, DdlCtaContDeudor.SelectedValue.ToEntero, DdlCtaContDeudor.SelectedItem.Text, DdlCtaContDeudorExtranjera.SelectedValue.ToEntero, DdlCtaContDeudorExtranjera.SelectedItem.Text, DdlCtaContDeudorComplementaria.SelectedValue.ToEntero, DdlCtaContDeudorComplementaria.SelectedItem.Text, DdlCtaContDocsXPagar.SelectedValue.ToEntero, DdlCtaContDocsXPagar.SelectedItem.Text, DdlCtaContDocsXPagarExtranjera.SelectedValue.ToEntero, DdlCtaContDocsXPagarExtranjera.SelectedItem.Text, DdlCtaContDocsXPagarComplementaria.SelectedValue.ToEntero, DdlCtaContDocsXPagarComplementaria.SelectedItem.Text, DdlCtaContFondoGarantia.SelectedValue.ToEntero, DdlCtaContFondoGarantia.SelectedItem.Text, DdlCtaContRetIVA.SelectedValue.ToEntero, DdlCtaContRetIVA.SelectedItem.Text, DdlCtaContRetISR.SelectedValue.ToEntero, DdlCtaContRetISR.SelectedItem.Text, DdlCtaContRetISRAcreditable.SelectedValue.ToEntero, DdlCtaContRetISRAcreditable.SelectedItem.Text, DdlCtaContRetIVAAcreditable.SelectedValue.ToEntero, DdlCtaContRetIVAAcreditable.SelectedItem.Text, DdlCveClasificacionProveedor.SelectedValue.ToEntero, DdlCveUsuarioResponsable.SelectedValue.ToEntero, TxtNotificarA.Text.Trim, TxtCorreoCobranza.Text.Trim, ChkFolioDuplicado.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlCveTipoProveedor.SelectedValue.ToEntero, DdlMonedaPrefente.SelectedValue.ToEntero, UsaLimiteCredito:=ChkUsaLimiteCredito.Checked, DIOTCveTipoTercero:=DDlDIOTTipoTercero.SelectedValue.ToEntero, DIOTCveTipoOperacion:=DdlDIOTTipoOperacion.SelectedValue.ToEntero, DIOTNumeroIDFiscal:=TxtDIOTNumIDFiscal.Text, AplicarEvaluacion:=AplicarEvaluacion, FechaEvaluacion:=FechaEvaluacion, CicloEvaluacion:=CicloEvaluacion, DIOTCvePais:=DdlDIOTPais.SelectedValue.ToEntero, CveUsuarioEvaluador:=DdlUsuarioEvaluador.SelectedValue.ToEntero(), CP:=TxtCP.Text.ToEntero, DIOTNacionalidad:=TxtDIOTNacionalidad.Text, CveConfianzaProveedor:=DdlConfianzaProveedor.SelectedValue.ToEntero(), CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero) Then Dim NuevoCveProveedor = ObjProveedores.CveProveedor ''Agregar Cuentas Bancarias If TempDTCuentasBancos.Rows.Count > 0 Then For Each row As DataRow In TempDTCuentasBancos.Rows If Not ObjCuentasDeposito.AddCuentasDepositos(row("BancoNombre").ToString, row("Plaza").ToString, row("Sucursal").ToString, row("Cuenta").ToString, row("CLABE").ToString, row("CIE").ToString, row("SWIFT").ToString, row("Referencia").ToString, row("RefCrediProveedor").ToString, UsuarioActual.CveUsuario, row("CveMoneda").ToString.ToEntero, UsuarioActual.CveEmpresa, CveProveedor:=NuevoCveProveedor, Correo:=row("Correo").ToString, BBVAAlias:=row("BBVAAlias").ToString, EstatusPagoElectronico:=Boolean.Parse(row("EstatusPagoElectronico").ToString), EstatusPagoElectronicoGrupos:=Boolean.Parse(row("EstatusPagoElectronicoGrupos").ToString), CveSATBanco:=row("CveSATBanco").ToString.ToEntero) Then ErrorBancos = True End If Next End If If UsuarioActual.CveEmpresa = 119 Then If Not AsignaCuentasAutomaticas(ObjProveedores, NuevoCveProveedor) Then ErrorCuentasContables = True End If End If ''Agrega Sucursales If TempDTSucursales.Rows.Count > 0 Then For Each row As DataRow In TempDTSucursales.Rows If Not ObjProveedores.AddSucursal(NuevoCveProveedor, row("ProveedorSucursal").ToString, row("Direccion").ToString, row("Telefono").ToString, row("Serie").ToString, row("Contacto").ToString, row("Correo").ToString, row("CveUsuario").ToString().ToEntero(), row("LimiteCredito").ToString.ToDouble, row("PlazoCobranza").ToString.ToEntero) Then ErrorSucursales = True Else Dim CveTempSucursal As Integer = row("CveSucursalTemp").ToString().ToEntero() ''Obtengo Cve de la sucursal Dim CveNuevaSucursal As Integer = ObjProveedores.CveProveedorSucursal If TempDTProveedoresContactosSucursal.Rows.Count > 0 Then ''Agrego CONTACTOS por SUCURSAL For Each rowContacto As DataRow In TempDTProveedoresContactosSucursal.Rows ''Si la CveTemp de la sucursal es igual a la CveTemp del contacto, lo agrega con CveNuevaSucursal If CveTempSucursal = rowContacto("CveSucursalTemp").ToString().ToEntero() Then If Not ObjProveedores.AddProveedorContacto(NuevoCveProveedor, CveNuevaSucursal, rowContacto("Nombre").ToString, rowContacto("Puesto").ToString, rowContacto("Telefono").ToString, rowContacto("Extension").ToString, rowContacto("Celular").ToString, rowContacto("Correo").ToString) Then ErrorContactos = True End If End If Next End If GlobalDTProveedorSucursales(-1, UsuarioActual.CveEmpresa) = Nothing End If Next End If ''Agregar Contactos Proveedor If TempDTProveedoresContactos.Rows.Count > 0 Then For Each row As DataRow In TempDTProveedoresContactos.Rows If Not ObjProveedores.AddProveedorContacto(NuevoCveProveedor, row("CveProveedorSucursal").ToString.ToEntero, row("Nombre").ToString, row("Puesto").ToString, row("Telefono").ToString, row("Extension").ToString, row("Celular").ToString, row("Correo").ToString) Then ErrorContactos = True End If Next End If If ErrorBancos Or ErrorContactos Or ErrorSucursales Or ErrorCuentasContables Then ''se deben validar las 3 juntas???????? ObjProveedores.RollBack() If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack() If ErrorBancos Then Alert("Ocurrió un error al registrar las Cuentas Bancarias", TipoMensaje.MsgError) Else If ErrorContactos Then Alert("Ocurrió un error al registrar los Contactos", TipoMensaje.MsgError) End If If ErrorSucursales Then Alert("Ocurrió un error al registrar las Sucursales", TipoMensaje.MsgError) End If If ErrorCuentasContables Then Alert("Ocurrió un error al asignar las cuentas contables", TipoMensaje.MsgError) End If End If Else ObjProveedores.Commit() If ObjContaAC IsNot Nothing Then ObjContaAC.Commit() 'ACTUALIZAR GLOBAL 'If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then GlobalDTCompProveedores(UsuarioActual.CveEmpresa) = Nothing 'Else ' ErrorBancos = True 'End If Alert("El Proveedor se guardó correctamente. " & "
" & MsgCuentaContable, TipoMensaje.MsgInformacion, If(Request("CveFactura") Is Nothing, "document.location.href=""/Compras/CatProveedores.aspx""", "window.opener.location.href = window.opener.location.href; window.close();")) RecargaGlobalCuentasBancarias() End If End If ObjProveedores.Dispose() ObjCuentasDeposito.Dispose() If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose() Else 'If UsuarioActual.Empresa.Funcionalidad(522).ToString = "1" Then ' If UsuarioActual.Empresa.UsaContabilidad Then ' Dim ObjContPaqi As New ClsContPAQi(UsuarioActual.Empresa) ' If Not errorContPaq Then ' If ObjContPaqi.GetProveedor(TxtRFC.Text.Trim) Then ' If ObjContPaqi.DtResultados.Rows.Count > 0 Then ' IdProveedor = ObjContPaqi.DtResultados.Rows(0)("Id").ToString.ToEntero ' errorContPaq = False ' Else ' IdProveedor = ObjContPaqi.AddProveedor(DdlCtaContProveedores.SelectedValue.ToEntero, TxtRFC.Text.Trim, TxtNombreComercial.Text.Trim, "", CodigoPersona) ' If IdProveedor > 0 Then ' errorContPaq = False ' Else ' errorContPaq = True ' End If ' End If ' Else ' errorContPaq = True ' End If ' End If ' If Not errorContPaq Then ' ObjContPaqi.Commit() ' ObjContPaqi.Dispose() ' Else ' ObjContPaqi.RollBack() ' ObjContPaqi.Dispose() ' Alert("Se Presento un Error al Guardar el Proveedor en ContPAQi.", TipoMensaje.MsgError) ' Exit Sub ' End If ' End If 'End If Dim CreoCuenta As Boolean = False If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso (UsuarioActual.Empresa.UsaAC Or (UsuarioActual.Empresa.UsaContabilidad And UsuarioActual.Empresa.Funcionalidad(322).ToString.Trim.ToEntero = 0)) Then Dim ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa) Dim drCuenta As DataRow = ObjContaAC.DtResultados.FiltroPrimero("") If drCuenta IsNot Nothing Then CuentaAbono = drCuenta("Id").ToString.ToEntero tIdContaProveedor = ObjContaAC.AddCuenta(TxtCodigo.Text.Trim, TxtRazonSocial.Text.Trim, "D", 2, 0, 1, 0, "", 1, CuentaAbono) CreoCuenta = True End If ObjContaAC.Dispose() End If Dim ObjProveedores As New ClsCompProveedores() ObjProveedores.IniciaTransacSQL() If ObjProveedores.UpdateProveedor(TxtCodigo.Text.Trim, TxtRazonSocial.Text.Trim, TxtNombreComercial.Text.Trim, TxtNombreCorto.Text.Trim, TxtRFC.Text.Trim, TxtDireccion.Text.Trim, TxtTelefono.Text.Trim.Replace("("c, "").Replace(")"c, "").Replace("-"c, "").Replace(" ", ""), TxtContactoNombre.Text.Trim, TxtContactoEmail.Text.Trim, TxtContactoTelefono.Text.Trim.Replace("("c, "").Replace(")"c, "").Replace("-"c, "").Replace(" ", ""), TxtLimiteCredito.Text.Trim.ToDouble, TxtPlazoCobranza.Text.Trim.ToEntero, TxtObservaciones.Text.Trim, TxtIVA.Text.Trim.ToDouble, TxtRetIVA.Text.Trim.ToDouble, TxtRetISR.Text.Trim.ToDouble, DdlCtaContProveedores.SelectedValue.ToEntero, DdlCtaContProveedores.SelectedItem.Text, DdlCtaContExtranjera.SelectedValue.ToEntero, DdlCtaContExtranjera.SelectedItem.Text, DdlCtaContComplementaria.SelectedValue.ToEntero, DdlCtaContComplementaria.SelectedItem.Text, DdlCtaContAcreedores.SelectedValue.ToEntero, DdlCtaContAcreedores.SelectedItem.Text, DdlCtaContAcreedoresExtranjera.SelectedValue.ToEntero, DdlCtaContAcreedoresExtranjera.SelectedItem.Text, DdlCtaContAcreedoresComplementaria.SelectedValue.ToEntero, DdlCtaContAcreedoresComplementaria.SelectedItem.Text, DdlCtaContAnticipos.SelectedValue.ToEntero, DdlCtaContAnticipos.SelectedItem.Text, DdlCtaContAnticiposExtranjera.SelectedValue.ToEntero, DdlCtaContAnticiposExtranjera.SelectedItem.Text, DdlCtaContAnticiposComplementaria.SelectedValue.ToEntero, DdlCtaContAnticiposComplementaria.SelectedItem.Text, DdlCtaContDeudor.SelectedValue.ToEntero, DdlCtaContDeudor.SelectedItem.Text, DdlCtaContDeudorExtranjera.SelectedValue.ToEntero, DdlCtaContDeudorExtranjera.SelectedItem.Text, DdlCtaContDeudorComplementaria.SelectedValue.ToEntero, DdlCtaContDeudorComplementaria.SelectedItem.Text, DdlCtaContDocsXPagar.SelectedValue.ToEntero, DdlCtaContDocsXPagar.SelectedItem.Text, DdlCtaContDocsXPagarExtranjera.SelectedValue.ToEntero, DdlCtaContDocsXPagarExtranjera.SelectedItem.Text, DdlCtaContDocsXPagarComplementaria.SelectedValue.ToEntero, DdlCtaContDocsXPagarComplementaria.SelectedItem.Text, DdlCtaContFondoGarantia.SelectedValue.ToEntero, DdlCtaContFondoGarantia.SelectedItem.Text, DdlCtaContRetIVA.SelectedValue.ToEntero, DdlCtaContRetIVA.SelectedItem.Text, DdlCtaContRetISR.SelectedValue.ToEntero, DdlCtaContRetISR.SelectedItem.Text, DdlCtaContRetISRAcreditable.SelectedValue.ToEntero, DdlCtaContRetISRAcreditable.SelectedItem.Text, DdlCtaContRetIVAAcreditable.SelectedValue.ToEntero, DdlCtaContRetIVAAcreditable.SelectedItem.Text, DdlCveClasificacionProveedor.SelectedValue.ToEntero, DdlCveUsuarioResponsable.SelectedValue.ToEntero, ChkEstado.Checked, TxtNotificarA.Text.Trim, TxtCorreoCobranza.Text.Trim, ChkFolioDuplicado.Checked, CveProveedor, DdlCveTipoProveedor.SelectedValue.ToEntero, DdlMonedaPrefente.SelectedValue.ToEntero, UsaLimiteCredito:=ChkUsaLimiteCredito.Checked, DIOTCveTipoTercero:=DDlDIOTTipoTercero.SelectedValue.ToEntero, DIOTCveTipoOperacion:=DdlDIOTTipoOperacion.SelectedValue.ToEntero, DIOTNumeroIDFiscal:=TxtDIOTNumIDFiscal.Text, CveUsuarioModifico:=UsuarioActual.CveUsuario, DIOTCvePais:=DdlDIOTPais.SelectedValue.ToEntero, AplicarEvaluacion:=ChkAplicarEvaluacion.Checked, FechaEvaluacion:=FechaEvaluacion, CicloEvaluacion:=CicloEvaluacion, CveUsuarioEvaluador:=DdlUsuarioEvaluador.SelectedValue.ToEntero(), CP:=TxtCP.Text.ToEntero, DIOTNacionalidad:=TxtDIOTNacionalidad.Text, CveConfianzaProveedor:=DdlConfianzaProveedor.SelectedValue.ToEntero(), CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero) Then 'CargaDatos() If tIdContaProveedor > 0 AndAlso CreoCuenta Then ObjProveedores.UpdateProveedorIdCuentaAC(CveProveedor, tIdContaProveedor) 'If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then GlobalDTCompProveedores(UsuarioActual.CveEmpresa) = Nothing 'End If Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) 'HABILITA ENVIAR ACTIVACION AL PORTAL PROVEEDOR SI SE AGREGO CORREO If TxtCorreoCobranza.Text <> "" Then LbEnviarActivacionPortal.Enabled = True LbEnviarActivacionPortal.ToolTip = "" End If '''''' 'ACTUALIZA SUCURSALES '''''' 'For Each row As DataRow In TempDTSucursales.Rows ' ' SUCURSAL NUEVA: Si tiene Cve = -1 es nuevo y agrega ' If row("CveProveedorSucursal").ToString = "-1" Then ' If Not ObjProveedores.AddSucursal(CveProveedor, row("ProveedorSucursal").ToString, row("Direccion").ToString, row("Telefono").ToString, row("Serie").ToString, row("Contacto").ToString, row("Correo").ToString, row("CveUsuario").ToString().ToEntero()) Then ' ErrorSucursales = True ' Else ' ''Obtengo Cve Generada y Temp de la sucursal NUEVA ' Dim CveTempSucursal As Integer = row("CveSucursalTemp").ToString().ToEntero() ' Dim CveNuevaSucursal As Integer = ObjProveedores.CveProveedorSucursal ' If TempDTProveedoresContactosSucursal.Rows.Count > 0 Then ' ''Agrego CONTACTOS por SUCURSAL NUEVA ' For Each rowContacto As DataRow In TempDTProveedoresContactosSucursal.Rows ' ''Si la CveTemp de la sucursal es igual a la CveTemp del contacto, lo agrega con CveNuevaSucursal ' If CveTempSucursal = rowContacto("CveSucursalTemp").ToString().ToEntero() Then ' If Not ObjProveedores.AddProveedorContacto(CveProveedor, CveNuevaSucursal, rowContacto("Nombre").ToString, rowContacto("Puesto").ToString, rowContacto("Telefono").ToString, rowContacto("Extension").ToString, rowContacto("Celular").ToString, rowContacto("Correo").ToString) Then ' ErrorContactos = True ' End If ' End If ' Next ' End If ' If ObjProveedores.GetSucursales(-1) Then Application("GlobalDTProveedorSucursales") = ObjProveedores.DtResultados ' End If ' Else ' 'SUCURSAL ACTUALIZADA: Si tiene una Cve, ya existia y actualiza ' Dim Estatus As Boolean ' If row("Estatus").ToString() = "Activo" Then ' Estatus = True ' Else ' Estatus = False ' End If ' If Not ObjProveedores.UpdateSucursal(row("ProveedorSucursal").ToString, row("Direccion").ToString, row("Telefono").ToString, row("Serie").ToString, Estatus, row("Correo").ToString, row("Contacto").ToString, row("CveProveedorSucursal").ToString.ToEntero, CveProveedor) Then ' ErrorSucursales = True ' Else ' If ObjProveedores.GetSucursales(-1) Then Application("GlobalDTProveedorSucursales") = ObjProveedores.DtResultados ' End If ' End If 'Next 'ACTUALIZO EL RESTO DE LOS CONTACTOS QUE YA TIENE CVEPROVEEDORSUCURSAL ASIGNADA 'For Each rowCS As DataRow In TempDTProveedoresContactosSucursal.Rows ' ' Si tiene CveContacto = -1 y CveSucursal es nuevo en esa sucursal y agrega ' If rowCS("CveProveedorContacto").ToString() = "-1" And rowCS("CveProveedorSucursal").ToString().ToEntero() > 0 Then ' If Not ObjProveedores.AddProveedorContacto(CveProveedor, rowCS("CveProveedorSucursal").ToString.ToEntero, rowCS("Nombre").ToString, rowCS("Puesto").ToString, rowCS("Telefono").ToString, rowCS("Extension").ToString, rowCS("Celular").ToString, rowCS("Correo").ToString) Then ' ErrorContactos = True ' End If ' Else ' If rowCS("CveProveedorContacto").ToString().ToEntero() > 0 Then ' '' CONTACTO ACTUALIZADO: Si tiene una CveContacto ya existia y actualiza ****** ' If Not ObjProveedores.UpdateProveedorContacto(rowCS("CveProveedorContacto").ToString.ToEntero, CveProveedor, rowCS("CveProveedorSucursal").ToString.ToEntero, rowCS("Nombre").ToString, rowCS("Puesto").ToString, rowCS("Telefono").ToString, rowCS("Extension").ToString, rowCS("Celular").ToString, rowCS("Correo").ToString) Then ' ErrorContactos = True ' End If ' End If ' End If 'Next ''SUCURSAL ELIMINADA: recorre el DT de la BD 'For Each row As DataRow In TempDTSucursalesOrigin.Rows ' Dim CveProveedorSucursal As Integer = row("CveProveedorSucursal").ToString.ToEntero() ' Dim filtroSucursales As String = String.Format("CveProveedorSucursal ={0}", CveProveedorSucursal) ' ' Busca si no existe la Cve Original, si no exite la elimina ' If (TempDTSucursales.FiltraParametros(filtroSucursales).Rows.Count = 0) Then ' ''Primero eliminamos Contactos de esta Sucursal ' ''Elimino contactos que ya no estan en DT ' For Each rowCS As DataRow In TempDTProveedoresContactosSucursalOrigin.Rows ' If CveProveedorSucursal = rowCS("CveProveedorSucursal").ToString.ToEntero() And rowCS("CveProveedorContacto").ToString.ToEntero() > 0 Then ' Dim CveContacto As Integer = rowCS("CveProveedorContacto").ToString.ToEntero() ' If Not ObjProveedores.RemoveProveedorContacto(CveContacto) Then ' ErrorContactos = True ' End If ' End If ' Next ' If Not ObjProveedores.RemoveSucursal(CveProveedor, CveProveedorSucursal) Then ' ErrorSucursales = True ' Else ' If ObjProveedores.GetSucursales(-1) Then Application("GlobalDTProveedorSucursales") = ObjProveedores.DtResultados ' End If ' End If 'Next '''Elimino contactos que ya no estan en DT 'For Each row As DataRow In TempDTProveedoresContactosSucursalOrigin.Rows ' Dim CveContacto As Integer = row("CveProveedorContacto").ToString.ToEntero() ' Dim filtroContactos As String = String.Format("CveProveedorContacto ={0}", CveContacto) ' ' Busca si no existe la Cve Original, si no exite la elimina ' If (TempDTProveedoresContactosSucursal.FiltraParametros(filtroContactos).Rows.Count = 0) Then ' If Not ObjProveedores.RemoveProveedorContacto(CveContacto) Then ' ErrorContactos = True ' End If ' End If 'Next '''''''''''''''''''''''''''''''''''' '''ACTUALIZA CONTACTOS DEL PROVEEDOR '''''''''''''''''''''''''''''''''''' '''CONTACTO NUEVO '''''''''''''''''''''''''''''''''''' '' If TempDTProveedoresContactos.Rows.Count > 0 Then 'For Each row As DataRow In TempDTProveedoresContactos.Rows ' ' Si tiene Cve = -1 es nuevo y agrega ' If row("CveProveedorContacto").ToString = "-1" Then ' If Not ObjProveedores.AddProveedorContacto(CveProveedor, row("CveProveedorSucursal").ToString.ToEntero, row("Nombre").ToString, row("Puesto").ToString, row("Telefono").ToString, row("Extension").ToString, row("Celular").ToString, row("Correo").ToString) Then ' ErrorContactos = True ' End If ' Else ' '' CONTACTO ACTUALIZADO: Si tiene una Cve ya existia y actualiza ' If Not ObjProveedores.UpdateProveedorContacto(row("CveProveedorContacto").ToString.ToEntero, CveProveedor, row("CveProveedorSucursal").ToString.ToEntero, row("Nombre").ToString, row("Puesto").ToString, row("Telefono").ToString, row("Extension").ToString, row("Celular").ToString, row("Correo").ToString) Then ' ErrorContactos = True ' End If ' End If 'Next ''CONTACTO ELIMINADO: Recorre el DT de la BD 'For Each row As DataRow In TempDTProveedoresContactosOrigin.Rows ' Dim CveContato As Integer = row("CveProveedorContacto").ToString.ToEntero() ' Dim filtroContactos As String = String.Format("CveProveedorContacto ={0}", CveContato) ' ' Busca si no existe la Cve Original, si no exite la elimina ' If (TempDTProveedoresContactos.FiltraParametros(filtroContactos).Rows.Count = 0) Then ' If Not ObjProveedores.RemoveProveedorContacto(CveContato) Then ' ErrorContactos = True ' End If ' End If 'Next ' End If If ErrorSucursales Or ErrorContactos Then '' ObjProveedores.RollBack() If ErrorContactos Then Alert("Ocurrió un error al registrar los Contactos", TipoMensaje.MsgError) End If If ErrorSucursales Then Alert("Ocurrió un error al registrar las Sucursales", TipoMensaje.MsgError) End If Else 'Recargamos los contactos CargaContactos(ObjProveedores) ObjProveedores.Commit() CargaProveedorSucursales() End If UpDatos.Update() End If ObjProveedores.Dispose() End If CargaEventoBitacora() End Sub #End Region #Region "U S U A R I O S" Protected Sub LbSolicitudPortal_Click(sender As Object, e As EventArgs) Handles LbEnviarActivacionPortal.Click 'guarda el nuevo usuario Dim ObjUsuario As New ClsSisUsuarios Dim CveUsr As Integer = HdnCveUsuarioPortalAdmin.Value.ToEntero Dim CvePlataforma As Integer = 7 Dim ErrorUsuario As Boolean = False 'DECLARAMOS PERMISOS DEFAULT DE ADMIN Dim Permisos() As Integer = {236, 237, 238, 239, 240} If TxtCorreoCobranza.Text.Trim = "" Then Alert("No se ha registrado ningún correo en la pestaña Información del Proveedor.", TipoMensaje.MsgAdvertencia) Return End If ObjUsuario.IniciaTransacSQL() 'AGREGAMOS USUARIO ADMIN NUEVO If CveUsr = 0 Then 'CREA USUARIO CveUsr = ObjUsuario.AddUsuarioPortal(TxtCorreoCobranza.Text.Trim, ContraseñaPredeterminadaEncriptada, "Admin", TxtCorreoCobranza.Text.Trim, -1, CveProveedor, CvePlataforma, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveUsr > 0 Then ' AGREGA PERMISO A MODULO PORTALPROVEEDOR If Not ObjUsuario.UpdateUsuariosModulos(CveUsr, 1201, True, UsuarioActual.CveUsuario) Then ErrorUsuario = True End If Else ErrorUsuario = True End If Else 'ACTUALIZAMOS ESTADO DE USARIO ADMIN INACTIVO If Not ObjUsuario.UpdateUsuarioPortal(TxtCorreoCobranza.Text.Trim, "Admin", TxtCorreoCobranza.Text.Trim, True, ContraseñaPredeterminadaEncriptada, -1, CveProveedor, CveUsr, UsuarioActual.CveUsuario) Then ErrorUsuario = True End If End If If Not ErrorUsuario Then 'AGREGAMOS PERMISOS A ADMIN For Each permiso In Permisos If Not ObjUsuario.UpdateUsuariosProcesos(CveUsr, permiso, True, UsuarioActual.CveUsuario) Then ErrorUsuario = True Exit For End If Next End If 'VERIFICAMOS SI HUBO ERRORES If ErrorUsuario Then ObjUsuario.RollBack() Else 'ACTUALIZAMOS SECCION USUARIO PORTAL HdnCveUsuarioPortalAdmin.Value = CveUsr.ToString trDesactivarUsuario.Visible = True trEnviarActivacion.Visible = False LblUsuarioActivo.Text = "Si" GvUsuariosPortalSis.Visible = False ErrorUsuario = False ObjUsuario.Commit() End If ObjUsuario.Dispose() UPUsuarios.Update() 'ENVIA CORREO DE ACTIVACION y CARGA USUARIOS If CveUsr > 0 And Not ErrorUsuario Then CargaUsuariosPortalProveedor() UpGvUsuarios.Update() Dim MensajeCorreo As String = EnviaCorreoActivacionPortal(CveUsr) Dim Mensaje As String = IIf(MensajeCorreo = "", $"No se pudo Notificar a : {TxtCorreoCobranza.Text.Trim}", MensajeCorreo).ToString() Alert($"La Activación del Portal del Proveedor se ha realizado correctamente.

{Mensaje}", TipoMensaje.MsgInformacion) End If End Sub Protected Sub LbDesactivaUsuario_Click(sender As Object, e As EventArgs) Handles LbDesactivaPortal.Click Dim ObjUsuario As New ClsSisUsuarios Dim ErrorDesactivando As Boolean = False If ObjUsuario.GetUsuariosPortal(-1, -1, CveProveedor) Then ViewState("DTUsuariosProveedor") = ObjUsuario.DtResultados Else ErrorDesactivando = True End If If Not ErrorDesactivando Then For Each Dr As DataRow In DirectCast(ViewState("DTUsuariosProveedor"), DataTable).Rows 'se desactiva el usuario y se restablece la contraseña If ObjUsuario.UpdateUsuarioPortal(Dr("Usuario").ToString, Dr("Nombre").ToString, Dr("Correo").ToString, False, ContraseñaPredeterminadaEncriptada, Dr("CveCliente").ToString.ToEntero, Dr("CveProveedor").ToString.ToEntero, Dr("CveUsuario").ToString.ToEntero, UsuarioActual.CveUsuario) Then ErrorDesactivando = False Else ErrorDesactivando = True Alert("Ocurrió un Error al desactivar a los Usuarios.", TipoMensaje.MsgError) End If Next Else Alert("No se Encontraron Usuarios.", TipoMensaje.MsgInformacion) End If If Not ErrorDesactivando Then LblUsuarioActivo.Text = "No" 'HdnCveUsuarioPortalAdmin.Value = "" HdnCveUsuarioPortalActivado.Value = "0" trEnviarActivacion.Visible = True trDesactivarUsuario.Visible = False ViewState("DTUsuariosProveedor") = "" GvUsuariosPortalSis.Visible = False Alert("Los Usuarios del Portal de Proveedores han sido Desactivados.", TipoMensaje.MsgInformacion) End If ObjUsuario.Dispose() 'ACTUALIZA USUARIOS EN TABUSUARIOS If Not ErrorDesactivando Then CargaUsuariosPortalProveedor() UpGvUsuarios.Update() End If End Sub Protected Function EnviaCorreoActivacionPortal(CveUsuario As Integer) As String Dim Mensaje As String = "" Try Dim ObjParametro As SisParametro = GlobalDTParametros(SisParametros.URL) Dim ErrorCorreo As Boolean = False Dim Asunto As String = "ACTIVACIÓN DEL PORTAL DE PROVEEDOR" Dim Para As String = TxtCorreoCobranza.Text.Trim Dim Liga As String = ObjParametro.Cadena1 & "LogIn.aspx" Dim LigaActivar As String = Liga & "?p=" & Encripta("CveU=" & CveUsuario & "&Clave=" & "-acceso-" & "&Opcion=Activar&Hora=" & DateTime.Now.Ticks & "&CveE=" & UsuarioActual.CveEmpresa) Dim ObjMail As New ClsSisMail() Dim SBBody As New StringBuilder 'Linia de estilos SBBody.Append("") 'incio Cuerpo del correo SBBody.Append("
") SBBody.Append("
") SBBody.Append("
") SBBody.Append("ALTA DE CUENTA") SBBody.Append("
") SBBody.Append("
") SBBody.AppendFormat(" Estimado {0}:
", TxtRazonSocial.Text.ToUpper) SBBody.AppendFormat("El presente correo es para informarle que se le han asignado los siguientes datos para el acceso a la Plataforma de: {0}

", UsuarioActual.Empresa.Empresa) SBBody.Append("
") SBBody.Append("
Datos de usuario
") SBBody.Append("
") SBBody.Append("
") SBBody.Append("
") SBBody.Append("
Usuario
") SBBody.AppendFormat("
{0}
", Para) SBBody.Append("
") SBBody.Append("
") SBBody.Append("
Accesé al sistema dando click a la liga y estableciendo su contraseña
") SBBody.AppendFormat("", LigaActivar) SBBody.Append("
") SBBody.Append("
") SBBody.Append("
") SBBody.Append("
") SBBody.Append("Para Activar su cuenta debera cambiar su contraseña.

") SBBody.Append("
Dirección de Acceso
") SBBody.AppendFormat("", Liga) SBBody.Append("
") SBBody.Append("
") SBBody.Append("
") SBBody.Append("Nota Favor de NO responder este correo. ") SBBody.Append("


") SBBody.AppendFormat("", UrlSitio) SBBody.Append("
") SBBody.Append("
") 'Termino Cuerpo del correo 'If TxtCorreoCobranza.Text.Trim <> "" Then ' Dim Correos As String() = TxtCorreoCobranza.Text.ToString.Split(New Char() {";"c}) ' Dim Correo As String 'For Each Correo In Correos ' If Not ObjMail.SendMail(EmpresaNotificaciones, Correo, "Activación de Portal de Proveedor", TxtBody.Text.Trim) Then ' Mensaje.AppendFormat("- {0}
", Correo) ' Else ' ErrorCorreo = True ' End If 'Next Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(Asunto, TxtCorreoCobranza.Text.Trim, SBBody.ToString)) Hilo.Start() 'End If Mensaje = $"Se notificó a: {Para}." Catch ex As Exception OnError("Ocurrió error al mandar MAIL", ex) End Try Return Mensaje End Function Private Sub MandaCorreo(Asunto As String, Para As String, Body As String) Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para) a.GuardaLog() Dim Mail As New ClsSisMail() Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body) End Sub #End Region #Region " U S U A R I O S - P O R T A L " 'Private Sub CargaUsuariosPortalSis() ' Dim ObjUsuarios As New ClsSisUsuarios() ' If ObjUsuarios.GetUsuariosPortal(-1, -1, CveProveedor) Then ' GvUsuariosPortalSis.DataSource = ObjUsuarios.DtResultados ' Else ' GvUsuariosPortalSis.DataSource = Nothing ' End If ' ObjUsuarios.Dispose() ' GvUsuariosPortalSis.DataBind() ' UPUsuarios.Update() 'End Sub #End Region #Region "S U C U R S A L E S" Public Sub CargaProveedorSucursales() CveTempSucursal = -1 TempDTSucursales = GlobalDTProveedorSucursales(CveProveedor, UsuarioActual.CveEmpresa) TempDTSucursales.Columns.Add("CveSucursalTemp", GetType(String)) TempDTSucursalesOrigin = TempDTSucursales.Copy() GVSucursales.DataSource = TempDTSucursales GVSucursales.DataBind() UPPSucursales.Update() 'OrdenaDatos() End Sub Protected Sub BtnAgregarSucursal_Click(sender As Object, e As System.EventArgs) Handles BtnAgregarSucursal.Click If CveProveedor = -1 Then 'SI EL PROVEEDOR NO ESTA EN BD AGREGA SUCURSAL A TABLA TEMPORAL Dim SucursalRepetida As Boolean = False For Each row As DataRow In TempDTSucursales.Rows If row("ProveedorSucursal").ToString = TxtProveedorSucursal2.Text Then SucursalRepetida = True End If Next If SucursalRepetida And CveProveedorSucursal = -1 And CveTempSucursal = -1 Then Dim Msg As New StringBuilder Msg.AppendFormat("
Ya existe una Sucursal con el nombre: {0} para este proveedor. Por favor ingrese otro nombre a la nueva Sucursal.", TxtProveedorSucursal2.Text) Alert(Msg.ToString(), TipoMensaje.MsgAdvertencia) Else Dim dr As DataRow = TempDTSucursales.NewRow() ' CveProveedorSucursal, ProveedorSucursal, Serie, Correo, Contacto, Direccion, Telefono, FechaIng, Usuario dr("CveProveedorSucursal") = CveProveedorSucursal dr("ProveedorSucursal") = TxtProveedorSucursal2.Text dr("Serie") = TxtSucursalSerie.Text dr("Correo") = TxtCorreoSucursal.Text dr("Contacto") = TxtContactoSucursal.Text dr("Direccion") = TextSucursalDireccion.Text dr("Telefono") = TextSucursalTelefono.Text dr("LimiteCredito") = TxtLimiteCreditoSuc.Text.ToDouble dr("PlazoCobranza") = TxtPlazoCobranzaSuc.Text.ToEntero dr("FechaIng") = DateTime.Today.ToString() dr("Usuario") = UsuarioActual.Usuario dr("CveUsuario") = UsuarioActual.CveUsuario If CveProveedorSucursal = -1 And CveTempSucursal = -1 Then CveTempSucursal = TempDTSucursales.Compute("MAX(CveSucursalTemp)", "").ToString().ToEntero() + 1 End If dr("CveSucursalTemp") = CveTempSucursal If IndexDTSucursal <> -1 Then TempDTSucursales.Rows.RemoveAt(IndexDTSucursal) End If TempDTSucursales.Rows.Add(dr) GVSucursales.DataSource = TempDTSucursales GVSucursales.DataBind() End If Else ' SI EL PROVEEDOR TIENE CVE AGREGA o ACTUALIZA SUCURSAL EN BD Dim ObjProveedor As New ClsCompProveedores If EsEditarSucursal = 0 Then If ObjProveedor.AddSucursal(CveProveedor, TxtProveedorSucursal2.Text.Trim, TextSucursalDireccion.Text.Trim, TextSucursalTelefono.Text.Trim, TxtSucursalSerie.Text.Trim, TxtContactoSucursal.Text, TxtCorreoSucursal.Text, UsuarioActual.CveUsuario, TxtLimiteCreditoSuc.Text.ToDouble, TxtPlazoCobranzaSuc.Text.ToEntero) Then 'recargo el globaldt GlobalDTProveedorSucursales(-1, UsuarioActual.CveEmpresa) = Nothing Alert("La nueva Sucursal del Proveedor se guardó correctamente.", TipoMensaje.MsgInformacion) CargaProveedorSucursales() End If Else If CveProveedorSucursal > 0 And ObjProveedor.UpdateSucursal(TxtProveedorSucursal2.Text, TextSucursalDireccion.Text.Trim, TextSucursalTelefono.Text.Trim, TxtSucursalSerie.Text, False, TxtCorreoSucursal.Text, TxtContactoSucursal.Text, CveProveedorSucursal, CveProveedor, TxtLimiteCreditoSuc.Text.ToDouble, TxtPlazoCobranzaSuc.Text.ToEntero) Then 'recargo el globaldt GlobalDTProveedorSucursales(-1, UsuarioActual.CveEmpresa) = Nothing CargaProveedorSucursales() Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) End If End If ObjProveedor.Dispose() End If UPPSucursales.Update() RegistraScript("$('#divAgregarSucursal').modal('hide');") LimpiaModalAgregarSucursal() End Sub Private Sub OcultaDiv() ScriptManager.RegisterStartupScript(Me, Me.GetType, "Llave", "HideDivRegistro();", True) End Sub Protected Sub GVSucursales_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GVSucursales.RowDataBound 'If e.Row.RowType = DataControlRowType.DataRow Then ' If e.Row.RowIndex = 0 Then ' e.Row.Cells(0).Width = Unit.Pixel(80) ' e.Row.Cells(1).Width = Unit.Pixel(60) ' e.Row.Cells(2).Width = Unit.Pixel(70) ' 'e.Row.Cells(3).Width = Unit.Pixel(70) ' 'e.Row.Cells(4).Width = Unit.Pixel(50) ' End If ' e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left ' Dim URL As String = String.Format("javascript:CleanObjects();SetValue('HdnModalidad', 'U');SetValue('HdnID', '{0}'); SetObjects('{1}', '{2}', '{3}','{4}','{5}','{6}','{7}','{8}');ShowDivRegistro();", e.Row.DBCampo("CveProveedorSucursal").ToEntero, e.Row.DBCampo("ProveedorSucursal"), e.Row.DBCampo("Serie"), e.Row.DBCampo("Correo"), e.Row.DBCampo("Contacto"), e.Row.DBCampo("Direccion"), e.Row.DBCampo("Telefono"), String.Format("Fecha de Registro: {0}", e.Row.DBCampo("FechaIng").ToDate.ToShortDateString), String.Format("Usuario Registró: {0}", e.Row.DBCampo("Usuario"))) ' 'GeneroLigas ' Dim Liga As String = String.Format("", URL) ' e.Row.VerticalAlign = VerticalAlign.Middle ' 'e.Row.FCLiteral("LtlSucursal").Text = String.Format("{0}{1}", Liga, e.Row.FCLiteral("LtlSucursal").Text) ' e.Row.FCLiteral("LtlSerie").Text = String.Format("{0}{1}", Liga, e.Row.FCLiteral("LtlSerie").Text) ' e.Row.CssClass = "GVRowBorder" ' e.Row.Height = Unit.Pixel(33) 'End If End Sub Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVSucursales.RowDeleting Dim CveProveedorSucursal As Integer = GVSucursales.DataKeys(e.RowIndex).Value.ToString.ToEntero If CveProveedor = -1 Then TempDTSucursales.Rows.RemoveAt(e.RowIndex) GVSucursales.DataSource = TempDTSucursales GVSucursales.DataBind() UPPSucursales.Update() Else Dim ObjProveedor As New ClsCompProveedores ''Primero eliminamos Contactos de esta Sucursal ObjProveedor.IniciaTransacSQL() If ObjProveedor.RemoveProveedorContacto(-1, CveProveedorSucursal) Then If ObjProveedor.RemoveSucursal(CveProveedor, CveProveedorSucursal) Then 'GVSucursales.EditIndex = -1 GlobalDTProveedorSucursales(-1, UsuarioActual.CveEmpresa) = Nothing CargaProveedorSucursales() CargaContactos(ObjProveedor) Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) ObjProveedor.Commit() Else ObjProveedor.RollBack() End If Else ObjProveedor.RollBack() End If ObjProveedor.Dispose() End If End Sub Protected Sub GvDatos_RowCancelingEdit(sender As Object, e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GVSucursales.RowCancelingEdit GVSucursales.EditIndex = -1 End Sub Protected Sub GvDatos_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GVSucursales.RowEditing GVSucursales.EditIndex = e.NewEditIndex End Sub Protected Sub CreaTempDTSucursales() TempDTSucursales = New DataTable() 'TempDTSucursales.Columns.Add("CveProveedor", GetType(String)) TempDTSucursales.Columns.Add("CveProveedorSucursal", GetType(String)) TempDTSucursales.Columns.Add("ProveedorSucursal", GetType(String)) TempDTSucursales.Columns.Add("Serie", GetType(String)) TempDTSucursales.Columns.Add("Correo", GetType(String)) TempDTSucursales.Columns.Add("Contacto", GetType(String)) TempDTSucursales.Columns.Add("Direccion", GetType(String)) TempDTSucursales.Columns.Add("Telefono", GetType(String)) TempDTSucursales.Columns.Add("LimiteCredito", GetType(Double)) TempDTSucursales.Columns.Add("PlazoCobranza", GetType(Integer)) TempDTSucursales.Columns.Add("FechaIng", GetType(String)) TempDTSucursales.Columns.Add("Usuario", GetType(String)) TempDTSucursales.Columns.Add("CveUsuario", GetType(String)) TempDTSucursales.Columns.Add("CveSucursalTemp", GetType(String)) GVSucursales.DataSource = TempDTSucursales GVSucursales.DataBind() DivSucursales.Visible = True UPPSucursales.Update() End Sub Protected Sub LnkSucursal_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) IndexDTSucursal = GvRow.RowIndex CveProveedorSucursal = GvRow.DataKey("CveProveedorSucursal").ToEntero() CveTempSucursal = IIf(GvRow.DataKey("CveSucursalTemp") <> "" Or GvRow.DataKey("CveSucursalTemp") IsNot Nothing, GvRow.DataKey("CveSucursalTemp"), 0).ToString().ToEntero() CveProveedorContacto = -1 TxtProveedorSucursal2.Text = GvRow.DataKey("ProveedorSucursal") TextSucursalDireccion.Text = GvRow.DataKey("Direccion") TextSucursalTelefono.Text = GvRow.DataKey("Telefono") TxtSucursalSerie.Text = GvRow.DataKey("Serie") TxtCorreoSucursal.Text = GvRow.DataKey("Correo") TxtContactoSucursal.Text = GvRow.DataKey("Contacto") TxtPlazoCobranzaSuc.Text = GvRow.DataKey("PlazoCobranza") TxtLimiteCreditoSuc.Text = GvRow.DataKey("LimiteCredito") LblUsuarioSucursal.Text = $"Usuario Registró:
{GvRow.DataKey("Usuario")}" LblFechaSucursal.Text = $"Fecha de Registro:
{GvRow.DataKey("FechaIng")}" If CveProveedor = -1 Then 'Si tiene CveProvedoorSucursal filtra por esta cve, SI NO Busca por la CveProvedorSucursal Temporal If GvRow.DataKey("CveProveedorSucursal").ToEntero() > 0 Then CargaGVContactosSucursal() Else CargaGVContactosSucursal() End If Else EsEditarSucursal = 1 CargaGVContactosSucursal() End If DivPContactosSucursal.Visible = True UpAgregarSucursal.Update() RegistraScript("$('#divAgregarSucursal').modal('show');") End Sub Protected Sub LnkAgregarSucursal_Click(sender As Object, e As EventArgs) If CveProveedor = -1 Then CveTempSucursal = -1 IndexDTSucursal = -1 Else EsEditarSucursal = 0 End If DivPContactosSucursal.Visible = False LimpiaModalAgregarSucursal() RegistraScript("$('#divAgregarSucursal').modal('show');") End Sub Protected Sub LimpiaModalAgregarSucursal() CveProveedorSucursal = -1 TxtProveedorSucursal2.Text = "" TextSucursalDireccion.Text = "" TextSucursalTelefono.Text = "" TxtSucursalSerie.Text = "" TxtCorreoSucursal.Text = "" TxtContactoSucursal.Text = "" LblUsuarioSucursal.Text = "" LblFechaSucursal.Text = "" GVContactosProveedorSucursal.DataSource = Nothing GVContactosProveedorSucursal.DataBind() UpAgregarSucursal.Update() End Sub #End Region #Region "CxP" Private Sub CargaCxP(CveProveedorSucursal As Integer, Optional Top As Integer = -1) Dim ObjMovtos As New ClsMovimientos() 'CxC Activas 'If ObjMovtos.GetCxPProveedor(CveProveedor, SerieSucursal, CveMoneda:=CveMoneda) Then If ObjMovtos.GetCxPProveedor(CveProveedor, "-1", "-1", -1, -1, -1, -1, CveMonedaFiltro, -1, If(CveProveedorSucursal = 0, -1, CveProveedorSucursal), -1, "-1", "-1") Then Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "Moneda,OrdenVencimiento, FechaVencimiento") GvCxP.DataSource = dtt DTCxP = dtt dtt = dtt.FiltraParametros("CveCompra > 0") CountCuentasxPagar = dtt.Rows.Count 'RESUMEN CUENTAS POR PAGAR LBRCPVencidoP.Text = String.Format("{0}", dtt.SUM("Saldo", "CveMoneda = 1 and DiasVencidos > 0")).FormatoNumero LBRCPPorVencerP.Text = String.Format("{0}", dtt.SUM("Saldo", "CveMoneda = 1 and DiasVencidos <= 0")).FormatoNumero LBRCPSumaP.Text = String.Format("{0}", dtt.SUM("Saldo", "CveMoneda = 1 ")).FormatoNumero LBRCPVencidoD.Text = String.Format("{0}", dtt.SUM("Saldo", "CveMoneda = 2 and DiasVencidos > 0")).FormatoNumero LBRCPPorVencerD.Text = String.Format("{0}", dtt.SUM("Saldo", "CveMoneda = 2 and DiasVencidos <= 0")).FormatoNumero LBRCPSumaD.Text = String.Format("{0}", dtt.SUM("Saldo", "CveMoneda = 2 ")).FormatoNumero LBRCPTipoCambio.Text = GlobalTipoCambio.ToString.FormatoNumero LBRCPTotal.Text = (LBRCPSumaP.Text.ToDouble + (LBRCPSumaD.Text.ToDouble * LBRCPTipoCambio.Text.ToDouble)).ToString.FormatoNumero If LblLimiteCredito.Text.ToDouble > 0 Then TdSaldo.Visible = True TdSaldo2.Visible = True LblSaldo.Text = CType(LblLimiteCredito.Text.ToDouble - LBRCPTotal.Text.ToDouble, String).FormatoNumero End If 'solo tomo los 10 ultimos mas el totalizador general dtt = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Hist'") DtCxPHistorial = dtt If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 And Top = -1 Then GvCxPHistorial.DataSource = dtt.AsEnumerable().Take(10).CopyToDataTable() ElseIf dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 And Top > -1 Then GvCxPHistorial.DataSource = dtt.AsEnumerable().CopyToDataTable() End If Else CountCuentasxPagar = 0 GvCxP.DataSource = Nothing GvCxPHistorial.DataSource = Nothing End If ObjMovtos.Dispose() GvCxP.DataBind() GvCxPHistorial.DataBind() UPPCxP.Update() If IsPostBack AndAlso Not DivFiltraMoneda.Visible Then CargaFiltroMonedas() End If End Sub Protected Sub BtnRecargaCxP_Click(sender As Object, e As EventArgs) Handles BtnRecargaCxP.Click CargaCxP(-1) End Sub Protected Sub GvCxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP.RowDataBound, GvCxPHistorial.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then ''e.Row.Cells(0).ColumnSpan = 4 'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Right 'e.Row.FCLiteral("LtlFactura").Text = "Total" & " " 'e.Row.Cells(1).Visible = False 'e.Row.Cells(2).Visible = False 'e.Row.Cells(3).Visible = False ''e.Row.Cells(9).ColumnSpan = 2 'e.Row.Cells(10).Visible = False End If If e.Row.RowIndex = 1 Then e.Row.Cells(0).Width = Unit.Pixel(2) e.Row.Cells(1).Width = Unit.Pixel(100) e.Row.Cells(2).Width = Unit.Pixel(70) e.Row.Cells(3).Width = Unit.Pixel(80) e.Row.Cells(4).Width = Unit.Pixel(80) e.Row.Cells(5).Width = Unit.Pixel(90) e.Row.Cells(6).Width = Unit.Pixel(90) e.Row.Cells(7).Width = Unit.Pixel(105) e.Row.Cells(8).Width = Unit.Pixel(90) If CType(sender, GridView).ID <> "GvCxPHistorial" Then e.Row.Cells(9).Width = Unit.Pixel(85) e.Row.Cells(10).Width = Unit.Pixel(70) e.Row.Cells(11).Width = Unit.Pixel(70) End If End If If e.Row.DBCampo("CveCompra") = "" Then e.Row.BackColor = Drawing.Color.LightGray If e.Row.FCHyperLink("ImgAbonar") IsNot Nothing Then e.Row.FCHyperLink("ImgAbonar").Visible = False Else End If If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(6).ForeColor = Drawing.Color.Red If e.Row.DBCampo("DiasVencidos").ToDouble > 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then e.Row.Cells(4).ForeColor = Drawing.Color.Red If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = "" If e.Row.DBCampo("Abonado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = "" If e.Row.DBCampo("PorPagado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlPorRecuperado"), Literal).Text = "" If CType(sender, GridView).ID = "GvCxP" AndAlso e.Row.DBCampo("Saldo").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = "" If e.Row.DBCampo("PorXPagar").ToDouble = 0 AndAlso e.Row.FCLiteral("LtlPorXRecuperar") IsNot Nothing Then e.Row.FCLiteral("LtlPorXRecuperar").Text = "" If e.Row.DBCampo("Folio") = "N/D" Then e.Row.FCLabel("LtlFactura").Text = e.Row.DBCampo("SerieFolio") Else 'Dim Liga As String = String.Format("", e.Row.DBCampo("CveCompra")) If e.Row.DBCampo("CveCompra").ToEntero > 0 Then e.Row.FCLabel("LtlFactura").Text = String.Format("{1}", e.Row.DBCampo("CveCompra"), e.Row.DBCampo("SerieFolio")) Else e.Row.FCLabel("LtlFactura").Text = e.Row.DBCampo("SerieFolio") End If End If If e.Row.RowIndex > 0 Then e.Row.FCLiteral("LtlAux").Text = String.Format("Ir", CveProveedor, e.Row.DBCampo("CveCompra")) 'DirectCast(e.Row.FindControl("ImgAbonar"), Image).Attributes.Add("onclick", String.Format("$get('HdnCveVenta').value='{0}';$get('HdnCveVentaAbono').value='{0}';$('#DivAddPago').show(1000);PosicionaObjeto('{1}', 'DivAddPago');", e.Row.DBCampo("CveCompra"), DirectCast(e.Row.FindControl("ImgAbonar"), Image).ClientID)) If e.Row.FCHyperLink("ImgAbonar") IsNot Nothing Then e.Row.FCHyperLink("ImgAbonar").NavigateUrl = String.Format("/Bancos/PopIECompras.aspx?CveCompra={0}&TB_iframe=true&height=450&width=790", e.Row.DBCampo("CveCompra")) If CType(sender, GridView).ID = "GvCxPHistorial" Then DirectCast(e.Row.FindControl("LtlDiasVencido"), Literal).Text = "" If e.Row.DBCampo("CveCompra") = "" Then e.Row.BackColor = Drawing.Color.LightGray e.Row.FCLabel("LtlFactura").Text = e.Row.DBCampo("Descripcion") End If Else e.Row.Cells(8).Font.Bold = True e.Row.Cells(9).Font.Bold = True If e.Row.DBCampo("CveUsuarioProgramo").ToEntero > 0 Then e.Row.FCLinkButton("LblB").Text = "P" 'e.Row.FCLabel("LblB").CssClass = "GreenStripe" e.Row.Cells(0).ToolTip = "La compra ha sido programada." End If End If End If End Sub #End Region #Region "E V E N T O - B I T A C O R A" Protected Sub GvEB_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEB.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.Cells(0).Width = Unit.Pixel(200) e.Row.Cells(1).Width = Unit.Pixel(200) e.Row.Cells(2).Width = Unit.Pixel(100) e.Row.Cells(3).Width = Unit.Pixel(500) End If If e.Row.DBCampo("Archivo").ToString <> "" Then e.Row.FCLinkButton("LinkArchivo").Visible = True e.Row.FCLinkButton("LinkArchivo").CommandArgument = String.Format("OI\{0}", e.Row.DBCampo("Archivo").ToString) ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LinkArchivo")) 'Registro un evento Postbacktrigger, que recargue toda la pagina para que funcione End If e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left End If End Sub Protected Sub BtnGuardarEventoBitacora_Click(sender As Object, e As EventArgs) Handles BtnGuardarEventoBitacora.Click Dim ObjEventoBitacora As New ClsOIEventos Dim FileExtension As String = "-1" Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos Dim filemove As String = "" For Each fileItem As Archivo In filesgral FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") filemove = fileItem.filename Next If ObjEventoBitacora.AddEventoBitacora(TxtEventoDescripcion.Text.Trim, String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor) Then If filemove <> "" Then filemove.FilesMove(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("{0}OI", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False) End If GvEB.DataSource = ObjEventoBitacora.DtResultados TxtEventoDescripcion.Text = "" Anexo.Text = "[]" Alert("La bitácora/observación se guardó correctamente", TipoMensaje.MsgInformacion) RegistraScript("$('#ModalBitacora').modal('hide')", "hidemodal") End If ObjEventoBitacora.Dispose() GvEB.DataBind() UPEventoBitacora.Update() CargaEventoBitacora() UPAddEventoBitacora.Update() End Sub Private Sub CargaEventoBitacora() Dim ObjEventoBitacora As New ClsOIEventos() If ObjEventoBitacora.GetAgendaBitacora(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor) Then GvEB.DataSource = ObjEventoBitacora.DtResultados.FiltraParametros("CveTipoEvento = 6 OR CveTipoEvento = 2") Else GvEB.DataSource = Nothing End If ObjEventoBitacora.Dispose() GvEB.DataBind() End Sub Protected Sub DownloadFile(ByVal sender As Object, ByVal e As EventArgs) Dim filePath As String = String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, CType(sender, LinkButton).CommandArgument) Dim Archivo As New System.IO.FileInfo(filePath) HttpContext.Current.Response.Clear() HttpContext.Current.Response.ClearContent() HttpContext.Current.Response.ContentType = "application/octet-stream" HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment; filename=" + IO.Path.GetFileName(filePath)) HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString()) HttpContext.Current.Response.TransmitFile(filePath) HttpContext.Current.Response.Flush() HttpContext.Current.Response.End() Archivo = Nothing End Sub #End Region #Region "OC" Private Sub CargaOC() Dim OC As New ClsOC If OC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, -1, CveProveedor, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Then GvOC.DataSource = OC.DtResultados RegistraScript("if($('#DivOC').style){$get('DivOC').style.display='';PosicionaObjeto('ImgBtnBuscarOC','DivOC');}") End If OC.Dispose() GvOC.DataBind() If (GvOC.Rows.Count > 0) Then GvOC.UseAccessibleHeader = True GvOC.HeaderRow.TableSection = TableRowSection.TableHeader End If End Sub #End Region #Region "D O C U M E N T A C I O N" Private Sub CargaDocs() Dim Edoc As New ClsEdocumentacion If Edoc.DocumentacionElectronicaGet(-1, -1, CveProveedor, UsuarioActual.CveEmpresa, -1, -1, 4) Then GvDocs.DataSource = Edoc.DtResultados Edoc.DocumentacionGet(-1, -1, 1, UsuarioActual.CveEmpresa) ' GVEDoc.DataSource = Edoc.DtResultados If Edoc.DtResultados.Rows.Count > 0 Then TabDocs.Visible = True End If End If Edoc.Dispose() GvDocs.DataBind() ' GVEDoc.DataBind() If (GvDocs.Rows.Count > 0) Then GvDocs.UseAccessibleHeader = True GvDocs.HeaderRow.TableSection = TableRowSection.TableHeader 'RegistraScript("OrdenarGV();") End If UpDocumentos.Update() End Sub Public Sub UploadModal_ClickDocumentacion(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) ' Dim chkEstatus As CheckBox CveDocumentacionElectronica = GvRow.DataKey("CveDocumentacionElectronica").ToString.ToEntero CveDocumentacion = GvRow.DataKey("CveDocumentacion").ToString.ToEntero Documentacion = GvRow.DataKey("Documentacion") AdjuntoDocumentacion = GvRow.DataKey("Adjunto") 'DiasVigencia = GvRow.DataKey("DiasVigencia").ToString.ToEntero Dim x As String = GvRow.DataKey("AplicaFechaVencimiento") If GvRow.DataKey("AplicaFechaVencimiento") = "1" Then AplicaFechaVencimiento = True Else AplicaFechaVencimiento = False If GvRow.DataKey("Adjunto").ToString.Length > 0 Then FechaVigencia = GvRow.DataKey("Adjunto").ToString.ToDate Else FechaVigencia = Nothing End If Estatus = GvRow.DataKey("Estatus").ToEntero 'If chkEstatus.Checked Then ' Estatus = 1 'Else ' Estatus = 0 'End If ObservacionDocumentacion = GvRow.FCTextBox("TxtObservaciones").Text.Trim.ToUpper FechaLimite = GvRow.FCTextBox("TxtFechaLimite").Text.ToDate AdjuntoDocumentacion = GvRow.DataKey("Adjunto") LtlModalUploadTitulo.Text = "Subir " & Documentacion UpModalTitleUploadDocumento.Update() RegistraScript("$('#ModalUploadDoc').modal({ backdrop: 'static', keyboard: false});") End Sub Protected Sub GvDocs_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDocs.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim Adjunto As String = e.Row.DBCampo("Adjunto").ToString Dim ImgDownLoad As Literal = e.Row.FCLiteral("ImgDownLoad") Dim ImgUpload As LinkButton = e.Row.FCLinkButton("ImgUpload") Dim ImgRequired As Literal = e.Row.FCLiteral("ImgRequired") Dim txtFechaLimite As TextBox = e.Row.FCTextBox("TxtFechaLimite") Dim ChkEstatus As CheckBox = e.Row.FCCheckBox("chkEstatus") ' Dim txtFechaVigencia As TextBox = e.Row.FCTextBox("TxtFechaVigencia") Dim CveDocumentacionElectronica As String = e.Row.DataKey("CveDocumentacionElectronica") Dim requerido As Boolean = Boolean.Parse(e.Row.DBCampo("Requerido")) 'Dim chkEstatus As CheckBox = e.Row.FCCheckBox("chkEstatus") Dim separado As Char() = ".".ToCharArray Dim array() As String = Adjunto.Split(separado) Dim extencion As String = "" Dim DiasLimite As Integer = e.Row.DataKey("DiasLimite").ToString.ToEntero Dim AplicaDiasLimite As Boolean = If(e.Row.DataKey("AplicaDiasLimite").ToString = "1", True, False) Dim AplicaFechaVencimiento As Boolean = If(e.Row.DataKey("AplicaFechaVencimiento").ToString = "1", True, False) txtFechaLimite.Visible = If(AplicaDiasLimite, True, False) ' txtFechaVigencia.Visible = If(AplicaFechaVencimiento, True, False) If e.Row.DataKey("Estatus").ToEntero = 1 Then ChkEstatus.Checked = True Else ChkEstatus.Checked = False End If 'If e.Row.DBCampo("FechaVigencia").ToString.Length > 0 Then ' txtFechaVigencia.Text = e.Row.DBCampo("FechaVigencia").ToString.ToDate.ToString("dd/MM/yyyy") ' If DateTime.Today > e.Row.DBCampo("FechaVigencia").ToString.ToDateTime Then ' txtFechaVigencia.ForeColor = Drawing.Color.Red ' End If 'End If If array.Length > 0 Then extencion = array(array.Length - 1) End If If e.Row.DBCampo("Estatus").ToString.ToEntero.Contiene(3) Then ' chkEstatus.Checked = True ImgUpload.Visible = False Else 'chkEstatus.Checked = False End If txtFechaLimite.Text = e.Row.DBCampo("FechaLimite").ToString.ToDate.ToString("dd/MM/yyyy") 'If e.Row.DBCampo("FechaVigencia").ToString.Length > 0 Then ' txtFechaVigencia.Text = e.Row.DBCampo("FechaVigencia").ToString.ToDate.ToString("dd/MM/yyyy") 'End If 'Dim scripMascara = "$('#" & txtFechaLimite.ClientID & "').mask('00/00/0000');$('#" & txtFechaVigencia.ClientID & "').mask('00/00/0000');" 'RegistraScript(scripMascara, "scriptMascara") If Adjunto.Trim.Length > 0 Then Dim linkDescarga = "/Empresas/" & UsuarioActual.Empresa.CveEmpresa & "/Edoc/Proveedor/" & CveProveedor & "/" & Adjunto Dim linkDescargaArchivo = UsuarioActual.Empresa.Ruta & "Edoc/Proveedor/" & CveProveedor & "/" & Adjunto If File.Exists(linkDescargaArchivo) Then ImgDownLoad.Visible = True If extencion.Length > 0 Then ImgDownLoad.Text = String.Format(" ", linkDescarga, CveDocumentacionElectronica & "." & extencion) Else ImgDownLoad.Text = String.Format(" ", linkDescarga, CveDocumentacionElectronica) End If Else ImgDownLoad.Visible = False End If Else ImgDownLoad.Visible = False End If If requerido Then ImgRequired.Text = " " End If 'chkEstatus.Checked = ImgDownLoad.Visible End If End Sub Protected Sub BtnUploadFileDoc_Click(sender As Object, e As EventArgs) Handles btnUploadFileDoc.Click Dim FileExtension As String = "-1" Dim Filesgral As List(Of Archivo) = TxtFileDocumentacion.getfiles().Archivos Dim Filename As String = "" Dim ErrorProceso As Boolean = False If AplicaFechaVencimiento And DiasVigencia > 0 Then FechaVigencia = DateTime.Today.AddDays(DiasVigencia) End If For Each fileItem As Archivo In Filesgral Try FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") Dim tempArray() As String tempArray = fileItem.filename.ToString().Split("-".ToCharArray()) Dim objEdoc As New ClsEdocumentacion objEdoc.IniciaTransacSQL() If CveDocumentacionElectronica = -1 Then CveDocumentacionElectronica = objEdoc.DocumentacionElectronicaAdd(CveDocumentacion, -1, -1, CveProveedor, 1, ObservacionDocumentacion, "-1", UsuarioActual.CveUsuario, FechaLimite, FechaVigencia) If CveDocumentacionElectronica > 0 Then If Not objEdoc.DocumentacionElectronicaUpdate(CveDocumentacionElectronica, CveDocumentacion, -1, -1, CveProveedor, 1, ObservacionDocumentacion, CveDocumentacionElectronica & "." & FileExtension, UsuarioActual.CveUsuario, FechaLimite, FechaVigencia) Then ErrorProceso = True End If End If Else If Not objEdoc.DocumentacionElectronicaUpdate(CveDocumentacionElectronica, CveDocumentacion, -1, -1, CveProveedor, 1, ObservacionDocumentacion, CveDocumentacionElectronica & "." & FileExtension, UsuarioActual.CveUsuario, FechaLimite, FechaVigencia) Then ErrorProceso = True End If End If If Not ErrorProceso = True Then Dim rutaDestino As String = UsuarioActual.Empresa.Ruta & "Edoc\Proveedor\" & CveProveedor & "\" & CveDocumentacionElectronica & "." & FileExtension Dim rutaAdjuntoAnterior As String = UsuarioActual.Empresa.Ruta & "Edoc\Proveedor\" & CveProveedor & "\" & AdjuntoDocumentacion Try If Not System.IO.Directory.Exists(UsuarioActual.Empresa.Ruta & "Edoc\Proveedor\" & CveProveedor & "\") Then System.IO.Directory.CreateDirectory(UsuarioActual.Empresa.Ruta & "Edoc\Proveedor\" & CveProveedor & "\") End If If File.Exists(rutaAdjuntoAnterior) And AdjuntoDocumentacion.Trim.Length > 0 Then File.Delete(rutaAdjuntoAnterior) End If If System.IO.File.Exists(rutaDestino) Then System.IO.File.Delete(rutaDestino) End If System.IO.File.Move(fileItem.FileUrl, rutaDestino) Catch ex As Exception GuardaLog($"Error al gaurdar documento (moviendo archivo digital) --> Error{ ex.StackTrace}") ErrorProceso = True End Try End If If Not ErrorProceso Then objEdoc.Commit() Alert("Documento cargado correctamente") Else objEdoc.RollBack() Alert("Error al cargar archivo", TipoMensaje.MsgError) End If objEdoc.Dispose() CargaDocs() TxtFileDocumentacion.Text = "" UPModalUploadDoc.Update() Catch ex As Exception OnError("Error al cargar archivo", ex) End Try Next RegistraScript("$('#ModalUploadDoc').modal('hide')", "hidemodal3") End Sub Protected Sub LnkGVEliminar_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) End Sub #End Region #Region "Colectivas" 'Private Sub CargaColectivas() ' Dim ObjColectivas As New ClsGenerales ' If ObjColectivas.GetColectivas(CveProveedor, UsuarioActual.CveEmpresa) Then ' GVColectivas.DataSource = ObjColectivas.DtResultados ' End If ' ObjColectivas.Dispose() ' GVColectivas.DataBind() 'End Sub 'Protected Sub GVColectivas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVColectivas.RowDataBound ' If e.Row.RowType = DataControlRowType.DataRow Then ' If e.Row.RowIndex = 0 Then ' e.Row.Cells(0).Width = Unit.Pixel(100) ' e.Row.Cells(1).Width = Unit.Pixel(80) ' End If ' e.Row.FCLiteral("LtlColectiva").Text = "" & e.Row.FCLiteral("LtlColectiva").Text & "" ' e.Row.FCLiteral("LtlSaldo").Text = "" & e.Row.FCLiteral("LtlSaldo").Text & "" ' End If 'End Sub #End Region #Region "C U E N T A S - B A N C A R I A S" 'Private Sub CreaDTCuentasBancos() ' DTCuentasBancos = New DataTable ' DTCuentasBancos.Columns.Add("CveProveedorCuenta", GetType(Integer)) ' DTCuentasBancos.Columns.Add("BancoNombre", GetType(String)) ' DTCuentasBancos.Columns.Add("Sucursal", GetType(String)) ' DTCuentasBancos.Columns.Add("CLABE", GetType(String)) ' DTCuentasBancos.Columns.Add("SWIFT", GetType(String)) ' DTCuentasBancos.Columns.Add("Plaza", GetType(String)) ' DTCuentasBancos.Columns.Add("Cuenta", GetType(String)) ' DTCuentasBancos.Columns.Add("CIE", GetType(String)) ' DTCuentasBancos.Columns.Add("Referencia", GetType(String)) ' CargaCuentasBancarias() 'End Sub Private Sub CargaCuentasBancarias() ViewState("OrdenCuentasBancos") = "" DTCuentasBancos = New DataTable TempDTCuentasBancos = New DataTable If CveProveedor > 0 Then Dim ObjCuentasBancos As New ClsGenerales If ObjCuentasBancos.GetCuentasDepositos(CveProveedor, CveCliente:=-2, CvePersonal:=-2, CveEmpresa:=UsuarioActual.CveEmpresa) Then DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados) Else Alert("No se pudieron cargar las cuentas bancarias. Por favor intente nuevamente.", TipoMensaje.MsgAdvertencia) End If ObjCuentasBancos.Dispose() End If If CveProveedor < 0 Then 'Alert("No hay proveedor", TipoMensaje.MsgInformacion) TempDTCuentasBancos = DTCuentasBancos.Clone End If CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString) End Sub Protected Sub LbAgregarCuentaBanco_Click(sender As Object, e As EventArgs) Dim EsBancomer = False If TxtNombreBanco.Text.ToUpper.Contains("BBVA") Or TxtNombreBanco.Text.ToUpper.Contains("BANCOMER") Or (TxtCLABE.Text.Length = 18 AndAlso TxtCLABE.Text.Substring(0, 3) = "012") Then EsBancomer = True End If 'RESTRICCIONES GENERALES 'QUE TENGA ALGUN DATO DE TIPO DE CUENTA If TxtNumeroCuenta.Text.Trim.Length = 0 AndAlso TxtCLABE.Text.Trim.Length = 0 AndAlso TxtSWIFT.Text.Trim.Length = 0 AndAlso TxtConvenioCIE.Text.Trim.Length = 0 Then Alert("Debe especificar al menos un numero de cuenta.", TipoMensaje.MsgAdvertencia) Exit Sub End If 'SI CLABE TIENE ALGO DEBE TENER UNA LOGITUD EXACTA DE 18 If TxtCLABE.Text.Trim.Length <> 0 AndAlso TxtCLABE.Text.Trim.Length <> 18 Then Alert("La CLABE debe tener una longitud de 18 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If 'RESTRICCIONES - GLUYAS If UsuarioActual.CveEmpresa = 66 Then 'CLABE SIEMPRE OBLIGATORIA SI NO ES BANCOMER If TxtCLABE.Text.Trim.Length <> 18 And TxtCLABE.Text.Trim.Length = 0 And Not EsBancomer And TxtSWIFT.Text.Trim.Length = 0 Then Alert("La CLABE es obligatoria y debe tener una longitud de 18 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If 'SI CUENTA TIENE ALGO Y BANCO BANCOMER DEBE TENER UNA LOGITUD EXACTA DE 10 If TxtNumeroCuenta.Text.Trim.Length <> 0 AndAlso TxtNumeroCuenta.Text.Trim.Length <> 10 AndAlso EsBancomer Then Alert("El número de cuenta debe tener una longitud de 10 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If 'SI CIE TIENE ALGO REFERENCIA OBLIGATORIA If TxtConvenioCIE.Text.Trim.Length <> 0 And TxtReferencia.Text.Trim.Length < 3 Then Alert("Cuando se ingresa Convenio CIE se debe especificar una referencia. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If 'CUANDO SEA "BBVA" O "BANCOMER" DEBE TENER "CIE" O "CUENTA" If EsBancomer AndAlso Not (TxtNumeroCuenta.Text.Trim.Length = 10 Or TxtConvenioCIE.Text.Trim.Length <> 0) Then Alert("Para cuentas BBVA BANCOMER es obligatorio el Número de Cuenta o CIE.", TipoMensaje.MsgAdvertencia) Exit Sub End If Else 'SI CIE TIENE ALGO DEBE TENER UNA LOGITUD MINIMA DE 5 If TxtConvenioCIE.Text.Trim.Length <> 0 And TxtConvenioCIE.Text.Trim.Length < 5 Then Alert("El Convenio CIE debe tener una longitud de al menos 5 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If End If If ChkPagoElectronicoGrupos.Checked Then If TxtConvenioCIE.Text.Trim.Length > 0 Then If TxtConvenioCIE.Text.Trim.Length < 5 Then Alert("El campo CIE debe de tener una tamaño mininmo 5 caracteres.", TipoMensaje.MsgAdvertencia) Exit Sub End If If Not DdlSatBanco.SelectedValue.ToEntero > 0 Then Alert("Se debe de especificar el banco.") Exit Sub End If End If End If Dim Estatus As Boolean If ChkEstatus.Checked = True Then Estatus = True Else Estatus = False AgregarCuentaBanco(TxtNombreBanco.Text.Trim, TxtNumeroSucursal.Text.Trim, TxtCLABE.Text.Trim, TxtSWIFT.Text.Trim, TxtPlaza.Text.Trim, TxtNumeroCuenta.Text.Trim, TxtConvenioCIE.Text.Trim, TxtReferencia.Text.Trim, TxtRefCrediProveedor.Text.Trim, DdlMoneda.SelectedValue.ToEntero, DdlMoneda.SelectedItem.Text, Estatus, TxtCorreoCuenta.Text.Trim, TxtBBVAAlias.Text, ChkPagoElectronico.Checked, ChkPagoElectronicoGrupos.Checked, DdlSatBanco.SelectedValue.ToEntero, TxtConceptoCIE.Text) End Sub Private Sub AgregarCuentaBanco(NombreBanco As String, NumeroSucursal As String, CLABE As String, SWIFT As String, Plaza As String, NumeroCuenta As String, ConvenioCIE As String, Referencia As String, RefCrediProveedor As String, CveMoneda As Integer, Moneda As String, Estatus As Boolean, Correo As String, BBVAAlias As String, EstatusPagoElectronico As Boolean, EstatusPagoElectronicoGrupos As Boolean, CveSATBanco As Integer, ConceptoCIE As String) If Modalidad = "A" Then If CveProveedor > 0 Then Dim ObjCuentasBancos As New ClsGenerales If ObjCuentasBancos.AddCuentasDepositos(NombreBanco, Plaza, NumeroSucursal, NumeroCuenta, CLABE, ConvenioCIE, SWIFT, Referencia, RefCrediProveedor, UsuarioActual.CveUsuario, CveMoneda, UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor, Correo:=Correo, BBVAAlias:=BBVAAlias, EstatusPagoElectronico:=EstatusPagoElectronico, EstatusPagoElectronicoGrupos:=EstatusPagoElectronicoGrupos, CveSATBanco:=CveSATBanco, ConceptoCIE:=ConceptoCIE) Then DTCuentasBancos.Clear() DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados.FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor))) Alert("Cuenta Bancaria agregada con éxito.", TipoMensaje.MsgInformacion) RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddCuentasBancarias")) CargaCuentasBancarias() Else Alert("Error al registrar la cuenta bancaria. Por favor intente nuevamente", TipoMensaje.MsgError) End If ObjCuentasBancos.Dispose() Else Dim Row As DataRow Row = TempDTCuentasBancos.NewRow Row("BancoNombre") = NombreBanco Row("Sucursal") = NumeroSucursal Row("CLABE") = CLABE Row("SWIFT") = SWIFT Row("Plaza") = Plaza Row("Cuenta") = NumeroCuenta Row("CIE") = ConvenioCIE Row("Referencia") = Referencia Row("RefCrediProveedor") = RefCrediProveedor Row("CveMoneda") = CveMoneda Row("Moneda") = Moneda Row("EstatusPagoElectronico") = EstatusPagoElectronico Row("EstatusPagoElectronicoGrupos") = EstatusPagoElectronicoGrupos Row("Estatus") = "True" Row("Correo") = Correo Row("CveSATBanco") = CveSATBanco Row("ConceptoCIE") = ConceptoCIE TempDTCuentasBancos.Rows.Add(Row) Alert("Cuenta Bancaria agregada con éxito.", TipoMensaje.MsgInformacion) RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddCuentasBancarias")) End If Else If CveProveedor > 0 Then Dim ObjCuentasBancos As New ClsGenerales If ObjCuentasBancos.UpdateCuentasDepositos(GvBancosCuentas.DataKeys(CveCuentaBancaria)("CveCuentaDeposito").ToString.ToEntero, NombreBanco, Plaza, NumeroSucursal, NumeroCuenta, CLABE, ConvenioCIE, SWIFT, Referencia, RefCrediProveedor, False, Estatus, CveMoneda, Correo:=Correo, BBVAAlias:=BBVAAlias, EstatusPagoElectronico:=EstatusPagoElectronico, EstatusPagoElectronicoGrupos:=EstatusPagoElectronicoGrupos, CveSATBanco:=CveSATBanco, ConceptoCIE:=ConceptoCIE) Then DTCuentasBancos.Clear() DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados.FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor))) Alert("Cuenta actualizada con éxito.", TipoMensaje.MsgInformacion) RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddCuentasBancarias")) CargaCuentasBancarias() Else Alert("Error al actualizar la cuenta bancaria. Por favor intente nuevamente.", TipoMensaje.MsgError) End If ObjCuentasBancos.Dispose() Else Dim index = CveCuentaBancaria Dim Row As DataRow = TempDTCuentasBancos.Rows(index) Row("BancoNombre") = NombreBanco Row("Sucursal") = NumeroSucursal Row("CLABE") = CLABE Row("SWIFT") = SWIFT Row("Plaza") = Plaza Row("Cuenta") = NumeroCuenta Row("CIE") = ConvenioCIE Row("Referencia") = Referencia Row("RefCrediProveedor") = RefCrediProveedor Row("CveMoneda") = CveMoneda Row("Moneda") = Moneda Row("EstatusPagoElectronico") = EstatusPagoElectronico Row("EstatusPagoElectronicoGrupos") = EstatusPagoElectronicoGrupos Row("Estatus") = Estatus Row("Correo") = Correo Row("CveSATBanco") = CveSATBanco Row("ConceptoCIE") = ConceptoCIE TempDTCuentasBancos.AcceptChanges() Alert("Cuenta actualizada con éxito.", TipoMensaje.MsgInformacion) RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddCuentasBancarias")) End If End If LimpiaCuentasBancarias() CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString) RecargaGlobalCuentasBancarias() End Sub Private Sub LimpiaCuentasBancarias() TxtNombreBanco.Text = "" TxtNumeroSucursal.Text = "" TxtCLABE.Text = "" TxtSWIFT.Text = "" TxtPlaza.Text = "" TxtNumeroCuenta.Text = "" TxtConvenioCIE.Text = "" TxtReferencia.Text = "" TxtConceptoCIE.Text = "" TxtRefCrediProveedor.Text = "" TxtCorreoCuenta.Text = "" TxtBBVAAlias.Text = "" End Sub #Region "GRIDVIEW - CUENTAS BANCARIAS" Protected Sub GvBancosCuentas_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvBancosCuentas.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If CveProveedor < 0 Then For index = 1 To TempDTCuentasBancos.Rows.Count TempDTCuentasBancos.Rows(index - 1)("CveCuentaDeposito") = index Next TempDTCuentasBancos.AcceptChanges() End If If e.Row.DBCampo("Estatus") = "True" Then e.Row.FCLabel("LlbEstatusTexto").Text = "Activo" Else e.Row.FCLabel("LlbEstatusTexto").Text = "Inactivo" End If 'ESCONDE "ELIMINAR" Y "EDITAR" CUANDO LA CUENTA YA ESTA DADA DE ALTA EN LAYOUT-BBVA 'If CBool(e.Row.DBCampo("EstatusPagoElectronico")) Then ' e.Row.FCLinkButton("imgD").Visible = False ' If e.Row.DBCampo("CIE").ToString = "" Then ' e.Row.FCLinkButton("imgE").Visible = False ' End If 'End If 'si esta editando 'Dim EsSi = CBool(IIf(e.Row.FCLabel("LblEstatusPE").Text = "Sí", True, False)) 'If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then ' e.Row.FCDropDownList("DdlMoneda").DataSource = GlobalDTMonedas ' e.Row.FCDropDownList("DdlMoneda").DataBind() ' e.Row.FCDropDownList("DdlMoneda").Items.Insert(0, New ListItem("Seleccione", "-1")) ' ' GvBancosCuentas.SelectedRow.Cells. ' If e.Row.DBCampo("CveMoneda").ToString.ToEntero > 0 Then ' e.Row.FCDropDownList("DdlMoneda").SelectedValue = e.Row.DBCampo("CveMoneda") ' End If ' 'If EsSi Then ' ' e.Row.FCCheckBox("ChkEstatus").Enabled = False ' 'End If ' 'SI TIENE PERMISO PUEDE EDITAR ESTATUS ' If UsuarioActual.TienePermisoProceso(155) Then ' 'Alert("usuario no tiene permiso", TipoMensaje.MsgInformacion) ' e.Row.FCCheckBox("ChkEstatus").Visible = True ' Else ' e.Row.FCCheckBox("ChkEstatus").Visible = False ' End If ' If CBool(e.Row.DBCampo("EstatusPagoElectronico")) Then ' e.Row.FCDropDownList("DdlMoneda").Enabled = False ' ' 'e.Row.FCTextBox("TxtReferencia").Enabled = False ' ' 'Else ' ' ' e.Row.FCLinkButton("imgD").Enabled = False ' ' ' e.Row.FCLinkButton("imgE").Enabled = False ' End If 'End If End If End Sub Public Sub Delete_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim ObjCuentasBancos As New ClsGenerales If CveProveedor > 0 Then If ObjCuentasBancos.RemoveCuentasDepositos(GvRow.DataKey("CveCuentaDeposito").ToEntero) Then DTCuentasBancos.Clear() DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados.FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor))) Alert("Cuenta Bancaria borrada con éxito.", TipoMensaje.MsgInformacion) Else Alert("No se pudo borrar la Cuenta Bancaria. Por favor intente nuevamente.", TipoMensaje.MsgError) End If Else Dim index = GvRow.RowIndex TempDTCuentasBancos.Rows.RemoveAt(index) Alert("Cuenta Bancaria borrada con éxito.", TipoMensaje.MsgInformacion) End If CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString) ObjCuentasBancos.Dispose() RecargaGlobalCuentasBancarias() End Sub Private Sub RecargaGlobalCuentasBancarias(Optional ByVal CveCuenta As Integer = -1) If CveProveedor > 0 Then GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, -1) = Nothing End If End Sub #End Region Private Sub CargaPSGridCuentasBancos(Orden As String) If CveProveedor > 0 Then If Orden <> String.Empty Then Dim DV As New DataView(DTCuentasBancos, "", Orden, DataViewRowState.CurrentRows) GvBancosCuentas.DataSource = DV.ToTable() DV.Dispose() Else GvBancosCuentas.DataSource = DTCuentasBancos End If Else If Orden <> String.Empty Then Dim DV As New DataView(TempDTCuentasBancos, "", Orden, DataViewRowState.CurrentRows) GvBancosCuentas.DataSource = DV.ToTable() DV.Dispose() Else GvBancosCuentas.DataSource = TempDTCuentasBancos End If End If GvBancosCuentas.DataBind() UpCuentasBancos.Update() 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 gvi As Integer = 0 Dim ImgButon As ImageButton = Nothing Const OrdenInicial As String = "" Select Case sender.GetType().Name Case "LinkButton" Tipo = 1 Campo = CType(sender, LinkButton).CommandArgument().ToString ImgButon = CType(CType(sender, LinkButton).BindingContainer.FindControl("Img" & Campo.Replace(",", "_")), ImageButton) Case "ImageButton" Tipo = 2 ImgButon = CType(sender, ImageButton) Campo = CType(sender, ImageButton).CommandArgument().ToString 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 ViewState("OrdenCuentasBancos") = Orden CargaPSGridCuentasBancos(Orden) End Sub Private Sub CargaMonedas() DdlMoneda.DataSource = GlobalDTMonedas DdlMoneda.DataBind() DdlMoneda.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMonedaPrefente.DataSource = GlobalDTMonedas DdlMonedaPrefente.DataBind() End Sub #End Region #Region "F I L T R O - S U C U R S A L" Protected Sub CargaSerieSucursal() CargaCxP(RBSucursal.SelectedValue.ToString.ToEntero) CargaHistorial(RBSucursal.SelectedValue.ToString.ToEntero) CargaAnticipos(RBSucursal.SelectedValue.ToString.ToEntero) CargaBancos(RBSucursal.SelectedValue.ToString.ToEntero) SerieSucursal = RBSucursal.SelectedValue.ToString BtnVerMasCompras.Text = "Ver Más " BtnVerMasBancos.Text = "Ver Más " BtnVerMasAnticipos.Text = "Ver Más " BtnVerMasComprasPagadas.Text = "Ver Más " UpnHistorial.Update() UPPCxP.Update() UpAnticipos.Update() UpBancos.Update() Dim script As String = String.Format("$({0}).removeClass({1});$({0}).removeClass({2}); $({0}).addClass({3});$({0}).text(""{4}"");", """#CXPContador""", """badge-success""", """badge-danger""", If(CountCuentasxPagar > 0, """badge-danger""", """badge-success"""), CountCuentasxPagar.ToString) RegistraScript(script, "contadorcuentaspopagar") Dim script2 As String = String.Format("$({0}).removeClass({1});$({0}).removeClass({2}); $({0}).addClass({3});$({0}).text(""{4}"");", """#AnticiposContador""", """badge-success""", """badge-danger""", If(CountAnticipos > 0, """badge-danger""", """badge-success"""), CountAnticipos.ToString) RegistraScript(script2, "contadoranticipos") End Sub Protected Sub MostrarFiltro() If GlobalDTProveedorSucursales(CveProveedor, UsuarioActual.CveEmpresa).Rows.Count > 1 Then 'tHistorial.Visible = True 'tCxP.Visible = True 'tAnticipos.Visible = True 'CargaRB(RBHistorial) 'CargaRB(RBAnticipos) 'RBCxP.DataSource = CType(ViewState("DTProveedorSucursales"), DataTable) 'RBCxP.DataBind() 'RBCxP.Items.Insert(0, New ListItem("Todas", "")) 'RBCxP.SelectedValue = "" DivFiltraSucursal.Visible = True CargaRB(RBSucursal) CargaSerieSucursal() Else 'tHistorial.Visible = False 'tCxP.Visible = False 'tAnticipos.Visible = False DivFiltraSucursal.Visible = False End If End Sub Protected Sub CargaRB(R As DropDownList) R.DataSource = GlobalDTProveedorSucursales(CveProveedor, UsuarioActual.CveEmpresa) R.DataBind() R.Items.Insert(0, New ListItem("Todas", "-1")) If CveProveedorSucursal > 0 Then R.SelectedValue = CveProveedorSucursal.ToString Else R.SelectedValue = "-1" End Sub 'Protected Sub RBHistorial_SelectedIndexChanged(sender As Object, e As EventArgs) ' CargaHistorial(RBHistorial.SelectedValue.ToString) 'End Sub 'Protected Sub RBCxP_SelectedIndexChanged(sender As Object, e As EventArgs) ' CargaCxP(RBCxP.SelectedValue.ToString) 'End Sub 'Protected Sub RBAnticipos_SelectedIndexChanged(sender As Object, e As EventArgs) ' CargaAnticipos(RBAnticipos.SelectedValue.ToString) 'End Sub Protected Sub RBSucursal_SelectedIndexChanged(sender As Object, e As EventArgs) CargaSerieSucursal() End Sub #End Region #Region " FILTRO MONEDA " Private Sub CargaFiltroMonedas() 'SI YA ESTA VISIBLE NO SE PUEDE PONER INVISIBLE If Not DivFiltraMoneda.Visible Then If DetectaMonedas() Then DivFiltraMoneda.Visible = True End If End If End Sub Private Function DetectaMonedas() As Boolean 'Dim DtMonedas As New DataTable 'DtMonedas.Columns.Add("CveMoneda", GetType(Integer)) 'DtMonedas.Columns.Add("Abreviatura", GetType(String)) Dim OcupaFiltro = False If CType(GVHistorial.DataSource, DataTable) IsNot Nothing AndAlso CType(GVHistorial.DataSource, DataTable).MAX("CveMoneda").ToEntero > 1 Then OcupaFiltro = True Return OcupaFiltro End If If CType(GvCxP.DataSource, DataTable) IsNot Nothing AndAlso CType(GvCxP.DataSource, DataTable).MAX("CveMoneda").ToEntero > 1 Then OcupaFiltro = True Return OcupaFiltro End If If CType(GvCxPHistorial.DataSource, DataTable) IsNot Nothing AndAlso CType(GvCxPHistorial.DataSource, DataTable).MAX("CveMoneda").ToEntero > 1 Then OcupaFiltro = True Return OcupaFiltro End If If CType(GvA.DataSource, DataTable) IsNot Nothing AndAlso CType(GvA.DataSource, DataTable).MAX("CveMoneda").ToEntero > 1 Then OcupaFiltro = True Return OcupaFiltro End If If CType(GvAH.DataSource, DataTable) IsNot Nothing AndAlso CType(GvAH.DataSource, DataTable).MAX("CveMoneda").ToEntero > 1 Then OcupaFiltro = True Return OcupaFiltro End If If CType(GvBancos.DataSource, DataTable) IsNot Nothing AndAlso CType(GvBancos.DataSource, DataTable).MAX("CveMoneda").ToEntero > 1 Then OcupaFiltro = True Return OcupaFiltro End If Return OcupaFiltro End Function Protected Sub RBMoneda_SelectedIndexChanged(sender As Object, e As EventArgs) CveMonedaFiltro = RBMoneda.SelectedValue.ToEntero CargaHistorial(RBSucursal.SelectedValue.ToString.ToEntero) CargaCxP(RBSucursal.SelectedValue.ToString.ToEntero) CargaAnticipos(RBSucursal.SelectedValue.ToString.ToEntero) CargaBancos(RBSucursal.SelectedValue.ToString.ToEntero) SerieSucursal = RBSucursal.SelectedValue.ToString CargaFiltroMonedas() End Sub #End Region #Region "SALDOS BENEFICIARIOS" 'Private Sub CargaSaldosBeneficiarios() ' Dim ObjCompras As New ClsCompras ' If ObjCompras.GetBeneficiarios2(CveProveedor, UsuarioActual.CveEmpresa) Then ' GvSaldosBeneficiarios.DataSource = ObjCompras.DtResultados.FiltraParametros("TipoLetra <> 'Proveedor'") ' Else ' Alert("Ocurrió un error al obtener los Saldos Beneficiarios.", TipoMensaje.MsgError) ' End If ' ObjCompras.Dispose() ' GvSaldosBeneficiarios.DataBind() 'End Sub #End Region #Region " R E P O R T E - C X P " Protected Sub GenerarReporteCxP_Click(sender As Object, e As EventArgs) 'If UsuarioActual.CveUsuario = 100 Then ' ImprimirReporteCxP() 'Else ' GenerarPDFCxP() 'End If Dim Formato As String = RBLGenerarReporteCxC.SelectedValue If rblreporte.SelectedValue = "cxp" Then ImprimirReporteCxPCrystal(Formato) ElseIf rblreporte.SelectedValue = "anc" Then ImprimirReporteCxP(Formato) End If RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddReporte")) End Sub Private Sub ImprimirReporteCxPCrystal(Optional Formato As String = "PDF") Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepProveedorCxP.rpt", UsuarioActual.Empresa.Ruta)) Dim RutaReporteGrales As New System.IO.FileInfo($"{DirectorioEmpresas}Grales\Formatos\RepProveedorCxP.rpt") Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim DTCxPTempral As DataTable = Nothing 'OBTENEMOS LOS DATOS Dim FI = If(TxtFechaInicioCXP.Text = "" Or TxtFechaInicioCXP.Text = "__/__/____", "-1", TxtFechaInicioCXP.Text) Dim FF = If(TxtFechaFinCXP.Text = "" Or TxtFechaFinCXP.Text = "__/__/____", "-1", TxtFechaFinCXP.Text) Dim FVI = If(txtFechaVI.Text = "" Or txtFechaVI.Text = "__/__/____", "-1", txtFechaVI.Text) Dim FVF = If(txtFechaVF.Text = "" Or txtFechaVF.Text = "__/__/____", "-1", txtFechaVF.Text) Dim ObjMovtos As New ClsMovimientos() If ObjMovtos.GetCxPProveedor(CveProveedor, FI, FF, -1, -1, -1, -1, CveMonedaFiltro, -1, RBSucursal.SelectedValue.ToEntero, -1, FVI, FVF) Then DTCxPTempral = If(DdlTipoCuentasCxP.SelectedValue = "-1", ObjMovtos.DtResultados, ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "Moneda, OrdenVencimiento ,FechaVencimiento")) End If If DTCxPTempral IsNot Nothing AndAlso DTCxPTempral.Rows.Count > 0 Then Dim dr As DataRow = DTCxPTempral.Rows(0) Dim lista = New List(Of CrystalParametro) lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) lista.Add(New CrystalParametro("TipoCuentas", DdlTipoCuentasCxP.SelectedItem.Text)) lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI))) lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF))) lista.Add(New CrystalParametro("NombreProveedor", LtlProveedor.Text)) lista.Add(New CrystalParametro("DireccionProveedor", TxtDireccion.Text)) lista.Add(New CrystalParametro("ProveedorRFC", TxtRFC.Text)) lista.Add(New CrystalParametro("ProveedorTelefono", TxtTelefono.Text)) lista.Add(New CrystalParametro("DiasCredito", TxtPlazoCobranza.Text)) lista.Add(New CrystalParametro("LimiteCredito", TxtLimiteCredito.Text)) lista.Add(New CrystalParametro("SaldoDisponible", (TxtLimiteCredito.Text.ToDouble - dr("Saldo").ToString.ToDouble).ToString.FormatoNumero)) lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) lista.Add(New CrystalParametro("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) 'Dim params As New List(Of ReportParameter) Dim dtnc As New DataTable Dim ObjCompra As New ClsCompras() For Each dr2 As DataRow In DTCxPTempral.FiltraParametros("", DistinctColumns:={"CveIE"}).Rows If ObjCompra.GetComprasNotasCredito(-1, -1, dr2("CveIE").ToString.ToEntero) Then dtnc.Merge(ObjCompra.DtResultados) End If Next ObjCompra.Dispose() If dtnc IsNot Nothing AndAlso DTCxPTempral.Rows.Count > 0 Then If Archivo.Exists Then ImprimirbytesPDF(ImprimirSubRepPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepProveedorCxP.rpt", DTCxPTempral, lista, DTCxPTempral, dtnc, "Ing", "Ant", "Estado de cuenta", Formato), "Estado de cuenta", Formato) Else ImprimirbytesPDF(ImprimirSubRepPDFCrystal(RutaReporteGrales.FullName, DTCxPTempral, lista, DTCxPTempral, dtnc, "Ing", "Ant", "Estado de cuenta", Formato), "Estado de cuenta", Formato) End If End If Else Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia) End If ObjMovtos.Dispose() End Sub 'Private Sub GenerarPDFCxP() ' Dim missing As Object = System.Reflection.Missing.Value ' If rblreporte.SelectedValue = "cxp" Then ' 'OBTENEMOS LOS DATOS ' Dim ObjMovtos As New ClsMovimientos() ' Dim DtCxP As DataTable ' Dim FI = If(TxtFechaInicioCxP.Text = "" Or TxtFechaInicioCxP.Text = "__/__/____", "-1", TxtFechaInicioCxP.Text) ' Dim FF = If(TxtFechaFinCxP.Text = "" Or TxtFechaFinCxP.Text = "__/__/____", "-1", TxtFechaFinCxP.Text) ' If ObjMovtos.GetCxPProveedor(CveProveedor, FI, FF, -1, -1, -1, -1, CveMoneda, -1, SerieSucursal, -1) Then ' DtCxP = If(DdlTipoCuentasCxP.SelectedValue = "-1", ObjMovtos.DtResultados, ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "Moneda, OrdenVencimiento ,FechaVencimiento")) ' Else ' DtCxP = Nothing ' End If ' ObjMovtos.Dispose() ' 'GENERAMOS EXCEL ' 'Try ' ' Dim Formato = "Formatos\ReporteCxP.xlsm" ' ' Dim TC As Double = 1 ' ' Dim Excel As msExcel.Application = New msExcel.Application() ' ' Dim VB_Module As VBComponent = Nothing ' ' Excel.Visible = True ' ' Excel.ScreenUpdating = True ' ' Excel.DisplayAlerts = True ' ' 'Valida y/o Crea Directorio Formatos ' ' If Not IO.Directory.Exists(String.Format("{0}Formatos\", UsuarioActual.Empresa.Ruta)) Then IO.Directory.CreateDirectory(String.Format("{0}Formatos\", UsuarioActual.Empresa.Ruta)) ' ' 'Valida si existe el Formato Excel si no lo copea de "Grales" ' ' If Not IO.File.Exists(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato)) Then ' ' IO.File.Copy(String.Format("{0}Empresas\Grales\ReporteCxP.xlsm", ModExtensiones.DirectorioBaseEmpresas), String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato), False) ' ' End If ' ' Dim ArchivoBase As New System.IO.FileInfo(UsuarioActual.Empresa.Ruta & Formato) ' ' ArchivoBase.CopyTo(String.Format("{0}Formatos\ReporteCxP-{1}.xlsm", UsuarioActual.Empresa.Ruta, CveProveedor), True) ' ' Dim ArchivoTemp As New System.IO.FileInfo(String.Format("{0}Formatos\ReporteCxP-{1}.xlsm", UsuarioActual.Empresa.Ruta, CveProveedor)) ' ' Dim Libro As msExcel.Workbook = Excel.Workbooks.Open(ArchivoTemp.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing) ' ' Libro.Activate() ' ' Dim Hoja As msExcel.Worksheet = CType(Libro.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet) ' ' Hoja.Visible = Microsoft.Office.Interop.Excel.XlSheetVisibility.xlSheetVisible ' ' Hoja.Activate() ' ' Try ' ' 'GENERALES ' ' Hoja.Range("B6:B6").Value = LtlProveedor.Text ' ' Hoja.Range("G2:G2").Value = DdlTipoCuentasCxP.SelectedItem.Text ' ' Hoja.Range("G4:G4").Value = If(FI = "-1", "Sin Fecha", FI) ' ' Hoja.Range("G6:G6").Value = If(FF = "-1", "Sin Fecha", FF) ' ' If DtCxP.Rows.Count > 0 Then ' ' VB_Module = CType(Libro.VBProject.VBComponents.Add(Microsoft.Vbe.Interop.vbext_ComponentType.vbext_ct_StdModule), VBComponent) ' ' VB_Module.CodeModule.AddFromString(GetMacro) ' ' Dim CeldaI As Integer = 9 ' ' Dim CeldaF As Integer = 9 ' ' 'DETALLES ' ' For Each Row As DataRow In DtCxP.Rows ' ' Hoja.Range(String.Format("A{0}:A{0}", CeldaF)).Value = Row("SerieFolio").ToString ' ' Hoja.Range(String.Format("C{0}:C{0}", CeldaF)).Value = Row("Descripcion").ToString ' ' Hoja.Range(String.Format("D{0}:D{0}", CeldaF)).Value = Row("Abreviatura").ToString ' ' Hoja.Range(String.Format("E{0}:E{0}", CeldaF)).Value = Row("Original").ToString.FormatoNumero ' ' Hoja.Range(String.Format("F{0}:F{0}", CeldaF)).Value = Row("Abonado").ToString.FormatoNumero ' ' Hoja.Range(String.Format("G{0}:G{0}", CeldaF)).Value = Row("ImporteNC").ToString.FormatoNumero ' ' Hoja.Range(String.Format("H{0}:H{0}", CeldaF)).Value = Row("Saldo").ToString.FormatoNumero ' ' If Row("CveCompra").ToString = "" Then ' ' Hoja.Range(String.Format("B{0}:B{0}", CeldaF)).Value = "" ' ' Hoja.Range(String.Format("A{0}:H{0}", CeldaF)).Interior.ColorIndex = 15 ' ' Else ' ' Hoja.Range(String.Format("B{0}:B{0}", CeldaF)).Value = Row("Fecha").ToString.ToDate.ToString("dd/MM/yyyy") ' ' Hoja.Range(String.Format("A{0}:H{0}", CeldaF)).Interior.ColorIndex = 0 ' ' End If ' ' If DtCxP.Rows.Count > 1 AndAlso CeldaF - CeldaI < DtCxP.Rows.Count - 1 Then ' ' CeldaF = CeldaF + 1 ' ' Libro.Application.Run("AddRow", (CeldaF - 1).ToString, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, ' ' missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing) ' ' Libro.Save() ' ' Libro.Application.DisplayAlerts = False ' ' Libro.Application.ScreenUpdating = False ' ' End If ' ' Next ' ' End If ' ' If Not IO.Directory.Exists(String.Format("{0}PDF\", UsuarioActual.Empresa.Ruta)) Then IO.Directory.CreateDirectory(String.Format("{0}PDF\", UsuarioActual.Empresa.Ruta)) ' ' 'Exportar PDF ' ' Dim pdfFileOut As String = String.Format("{0}PDF\CxP-{1}.pdf", UsuarioActual.Empresa.Ruta, CveProveedor) ' ' Dim outputFileName As Object = pdfFileOut ' ' Dim fileFormat As msExcel.XlFixedFormatType = msExcel.XlFixedFormatType.xlTypePDF ' ' Libro.ExportAsFixedFormat(fileFormat, outputFileName, missing, missing, missing, missing, missing, missing, missing) ' ' Catch ex As Exception ' ' Dim Msgerr As String = "" ' ' Msgerr.Alert(String.Format("Ocurrió un error {0}", ex.Message), TipoMensaje.MsgError) ' ' End Try ' ' System.Runtime.InteropServices.Marshal.ReleaseComObject(Hoja) ' ' Hoja = Nothing ' ' Dim saveChanges As Object = msExcel.XlSaveAction.xlDoNotSaveChanges ' ' CType(Libro, msExcel._Workbook).Close(saveChanges, missing, missing) ' ' System.Runtime.InteropServices.Marshal.ReleaseComObject(Libro) ' ' Libro = Nothing ' ' Excel.Quit() ' ' System.Runtime.InteropServices.Marshal.ReleaseComObject(Excel) ' ' Excel = Nothing ' ' GC.Collect() ' ' GC.WaitForPendingFinalizers() ' ' ArchivoTemp.Delete() ' ' Dim Descargas As New StringBuilder() ' ' Descargas.AppendFormat("
  • Reporte
  • ", UsuarioActual.CveEmpresa, CveProveedor, Now.Ticks) ' ' Dim Msg As String = String.Format("
    El Documento se generó correctamente.


    Descargas:", Descargas.ToString) 'TipoMensaje.MsgInformacion ' ' Msg.Alert(Msg, TipoMensaje.MsgInformacion) ' 'Catch ex As Exception ' ' Dim Msg As String = "No se pudo generar el documento." ' ' Msg.OnError(Msg, ex, "CveProveedor=" & CveProveedor) ' 'End Try ' ElseIf rblreporte.SelectedValue = "anc" Then ' 'OBTENEMOS LOS DATOS ' Dim ObjMovtos As New ClsMovimientos() ' Dim DtANC As DataTable ' Dim FI = If(TxtFechaInicioCxP.Text = "" Or TxtFechaInicioCxP.Text = "__/__/____", "-1", TxtFechaInicioCxP.Text) ' Dim FF = If(TxtFechaFinCxP.Text = "" Or TxtFechaFinCxP.Text = "__/__/____", "-1", TxtFechaFinCxP.Text) ' If ObjMovtos.GetAnticiposProveedor(CveProveedor, SerieSucursal, CveMoneda, -1, FI, FF) Then ' DtANC = If(DdlTipoCuentasCxP.SelectedValue = "-1", ObjMovtos.DtResultados, ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "Moneda, FechaVencimiento")) ' Else ' DtANC = Nothing ' End If ' ObjMovtos.Dispose() ' 'GENERAMOS EXCEL ' 'Try ' ' Dim Formato = "Formatos\ReporteANC.xlsm" ' ' Dim TC As Double = 1 ' ' Dim Excel As msExcel.Application = New msExcel.Application() ' ' Dim VB_Module As VBComponent = Nothing ' ' Excel.Visible = True ' ' Excel.ScreenUpdating = True ' ' Excel.DisplayAlerts = True ' ' 'Valida y/o Crea Directorio Formatos ' ' If Not IO.Directory.Exists(String.Format("{0}Formatos\", UsuarioActual.Empresa.Ruta)) Then IO.Directory.CreateDirectory(String.Format("{0}Formatos\", UsuarioActual.Empresa.Ruta)) ' ' 'Valida si existe el Formato Excel si no lo copea de "Grales" ' ' If Not IO.File.Exists(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato)) Then ' ' IO.File.Copy(String.Format("{0}Empresas\Grales\ReporteANC.xlsm", ModExtensiones.DirectorioBaseEmpresas), String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato), False) ' ' End If ' ' Dim ArchivoBase As New System.IO.FileInfo(UsuarioActual.Empresa.Ruta & Formato) ' ' ArchivoBase.CopyTo(String.Format("{0}Formatos\Anticipos-{1}.xlsm", UsuarioActual.Empresa.Ruta, CveProveedor), True) ' ' Dim ArchivoTemp As New System.IO.FileInfo(String.Format("{0}Formatos\Anticipos-{1}.xlsm", UsuarioActual.Empresa.Ruta, CveProveedor)) ' ' Dim Libro As msExcel.Workbook = Excel.Workbooks.Open(ArchivoTemp.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing) ' ' Libro.Activate() ' ' Dim Hoja As msExcel.Worksheet = CType(Libro.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet) ' ' Hoja.Visible = Microsoft.Office.Interop.Excel.XlSheetVisibility.xlSheetVisible ' ' Hoja.Activate() ' ' Try ' ' 'GENERALES ' ' Hoja.Range("B6:B6").Value = LtlProveedor.Text ' ' Hoja.Range("G2:G2").Value = DdlTipoCuentasCxP.SelectedItem.Text ' ' Hoja.Range("G4:G4").Value = If(FI = "-1", "Sin Fecha", FI) ' ' Hoja.Range("G6:G6").Value = If(FF = "-1", "Sin Fecha", FF) ' ' If DtANC.Rows.Count > 0 Then ' ' VB_Module = CType(Libro.VBProject.VBComponents.Add(Microsoft.Vbe.Interop.vbext_ComponentType.vbext_ct_StdModule), VBComponent) ' ' VB_Module.CodeModule.AddFromString(GetMacro) ' ' Dim CeldaI As Integer = 9 ' ' Dim CeldaF As Integer = 9 ' ' 'DETALLES ' ' For Each Row As DataRow In DtANC.Rows ' ' Hoja.Range(String.Format("A{0}:A{0}", CeldaF)).Value = Row("SerieFolio").ToString ' ' Hoja.Range(String.Format("C{0}:C{0}", CeldaF)).Value = Row("Descripcion").ToString ' ' Hoja.Range(String.Format("D{0}:D{0}", CeldaF)).Value = Row("Abreviatura").ToString ' ' Hoja.Range(String.Format("E{0}:E{0}", CeldaF)).Value = Row("Original").ToString.FormatoNumero ' ' Hoja.Range(String.Format("F{0}:F{0}", CeldaF)).Value = Row("Abonado").ToString.FormatoNumero ' ' Hoja.Range(String.Format("G{0}:G{0}", CeldaF)).Value = Row("Saldo").ToString.FormatoNumero ' ' If Row("CveCompra").ToString = "" Then ' ' Hoja.Range(String.Format("B{0}:B{0}", CeldaF)).Value = "" ' ' Hoja.Range(String.Format("A{0}:H{0}", CeldaF)).Interior.ColorIndex = 15 ' ' Else ' ' Hoja.Range(String.Format("B{0}:B{0}", CeldaF)).Value = Row("Fecha").ToString.ToDate.ToString("dd/MM/yyyy") ' ' Hoja.Range(String.Format("A{0}:H{0}", CeldaF)).Interior.ColorIndex = 0 ' ' End If ' ' If DtANC.Rows.Count > 1 AndAlso CeldaF - CeldaI < DtANC.Rows.Count - 1 Then ' ' CeldaF = CeldaF + 1 ' ' Libro.Application.Run("AddRow", (CeldaF - 1).ToString, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, ' ' missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing) ' ' Libro.Save() ' ' Libro.Application.DisplayAlerts = False ' ' Libro.Application.ScreenUpdating = False ' ' End If ' ' Next ' ' End If ' ' If Not IO.Directory.Exists(String.Format("{0}PDF\", UsuarioActual.Empresa.Ruta)) Then IO.Directory.CreateDirectory(String.Format("{0}PDF\", UsuarioActual.Empresa.Ruta)) ' ' 'Exportar PDF ' ' Dim pdfFileOut As String = String.Format("{0}PDF\Anticipos-{1}.pdf", UsuarioActual.Empresa.Ruta, CveProveedor) ' ' Dim outputFileName As Object = pdfFileOut ' ' Dim fileFormat As msExcel.XlFixedFormatType = msExcel.XlFixedFormatType.xlTypePDF ' ' Libro.ExportAsFixedFormat(fileFormat, outputFileName, missing, missing, missing, missing, missing, missing, missing) ' ' Catch ex As Exception ' ' Dim Msgerr As String = "" ' ' Msgerr.Alert(String.Format("Ocurrió un error {0}", ex.Message), TipoMensaje.MsgError) ' ' End Try ' ' System.Runtime.InteropServices.Marshal.ReleaseComObject(Hoja) ' ' Hoja = Nothing ' ' Dim saveChanges As Object = msExcel.XlSaveAction.xlDoNotSaveChanges ' ' CType(Libro, msExcel._Workbook).Close(saveChanges, missing, missing) ' ' System.Runtime.InteropServices.Marshal.ReleaseComObject(Libro) ' ' Libro = Nothing ' ' Excel.Quit() ' ' System.Runtime.InteropServices.Marshal.ReleaseComObject(Excel) ' ' Excel = Nothing ' ' GC.Collect() ' ' GC.WaitForPendingFinalizers() ' ' ArchivoTemp.Delete() ' ' Dim Descargas As New StringBuilder() ' ' Descargas.AppendFormat("
  • Reporte
  • ", UsuarioActual.CveEmpresa, CveProveedor, Now.Ticks) ' ' Dim Msg As String = String.Format("
    El Documento se generó correctamente.


    Descargas:", Descargas.ToString) 'TipoMensaje.MsgInformacion ' ' Msg.Alert(Msg, TipoMensaje.MsgInformacion) ' 'Catch ex As Exception ' ' Dim Msg As String = "No se pudo generar el documento." ' ' Msg.OnError(Msg, ex, "CveProveedor=" & CveProveedor) ' 'End Try ' End If '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 Private Sub GvOC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOC.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Cells(3).Attributes.Add("data-order", e.Row.DBCampo("FechaIng").ToDate.Ticks.ToString) e.Row.Cells(6).Attributes.Add("data-order", CType(e.Row.DBCampo("Total").ToDecimal, String)) End If End Sub Private Sub ImprimirReporteCxP(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim ObjMovtos As New ClsMovimientos() If rblreporte.SelectedValue = "cxp" Then 'OBTENEMOS LOS DATOS Dim FI = If(TxtFechaInicioCXP.Text = "" Or TxtFechaInicioCXP.Text = "__/__/____", "-1", TxtFechaInicioCXP.Text) Dim FF = If(TxtFechaFinCXP.Text = "" Or TxtFechaFinCXP.Text = "__/__/____", "-1", TxtFechaFinCXP.Text) Dim FVI = If(txtFechaVI.Text = "" Or txtFechaVI.Text = "__/__/____", "-1", txtFechaVI.Text) Dim FVF = If(txtFechaVF.Text = "" Or txtFechaVF.Text = "__/__/____", "-1", txtFechaVF.Text) Dim FechaIn As String = $" Fecha Inicio: {TxtFechaInicioCXP.Text}" Dim FechaFn As String = $" Fecha Fin: {TxtFechaFinCXP.Text}" If TxtFechaInicioCXP.Text = "" Then FechaIn = "" If TxtFechaFinCXP.Text = "" Then FechaFn = "" Dim FechVI As String = $" Fecha Venc. Inic.: {txtFechaVI.Text}" Dim FechVF As String = $" Fecha Venc. Final: {txtFechaVF.Text}" If txtFechaVI.Text = "" Then FechVI = "" If txtFechaVF.Text = "" Then FechVF = "" Dim Proveedor As String = $" Proveedor: {GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {CveProveedor}")}" Dim DTCxPTempral As DataTable = Nothing If ObjMovtos.GetCxPProveedor(CveProveedor, FI, FF, -1, -1, -1, -1, CveMonedaFiltro, -1, RBSucursal.SelectedValue.ToEntero, -1, FVI, FVF) Then DTCxPTempral = If(DdlTipoCuentasCxP.SelectedValue = "-1", ObjMovtos.DtResultados, ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "Moneda, OrdenVencimiento ,FechaVencimiento")) End If If DTCxPTempral IsNot Nothing AndAlso DTCxPTempral.Rows.Count > 0 Then Dim dr As DataRow = DTCxPTempral.Rows(0) Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC)) params.Add(New ReportParameter("DireccionEmpresa", UsuarioActual.Empresa.Direccion)) params.Add(New ReportParameter("TipoCuentas", DdlTipoCuentasCxP.SelectedItem.Text)) params.Add(New ReportParameter("FechaInicio", FI)) params.Add(New ReportParameter("FechaFin", FF)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString)) params.Add(New ReportParameter("NombreProveedor", LtlProveedor.Text)) params.Add(New ReportParameter("DireccionProveedor", TxtDireccion.Text)) params.Add(New ReportParameter("ProveedorRFC", TxtRFC.Text)) params.Add(New ReportParameter("ProveedorTelefono", TxtTelefono.Text)) params.Add(New ReportParameter("DiasCredito", TxtPlazoCobranza.Text)) params.Add(New ReportParameter("LimiteCredito", TxtLimiteCredito.Text)) params.Add(New ReportParameter("SaldoDisponible", (TxtLimiteCredito.Text.ToDouble - dr("Saldo").ToString.ToDouble).ToString.FormatoNumero)) params.Add(New ReportParameter("AgrupadoPor", $"Agrupado Por: {Proveedor}{FechaIn}{FechaFn}{FechVI}{FechVF}")) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas/Grales/Formatos/RepProveedorCxP.rdlc", DTCxPTempral, params, "RepCxP") Else Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia) End If ElseIf rblreporte.SelectedValue = "anc" Then 'OBTENEMOS LOS DATOS Dim DtANC As DataTable Dim FI = If(TxtFechaInicioCXP.Text = "" Or TxtFechaInicioCXP.Text = "__/__/____", "-1", TxtFechaInicioCXP.Text) Dim FF = If(TxtFechaFinCXP.Text = "" Or TxtFechaFinCXP.Text = "__/__/____", "-1", TxtFechaFinCXP.Text) Dim CveProveedorSucursal As Integer = RBSucursal.SelectedValue.ToEntero() If ObjMovtos.GetAnticiposProveedor(CveProveedor, If(CveProveedorSucursal = 0, -1, CveProveedorSucursal), CveMoneda, -1, FI, FF) Then DtANC = If(DdlTipoCuentasCxP.SelectedValue = "-1", ObjMovtos.DtResultados, ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "Moneda, FechaVencimiento")) Else DtANC = Nothing End If If DtANC.Rows.Count > 0 Then Dim dr As DataRow = DtANC.Rows(0) Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC)) params.Add(New ReportParameter("DireccionEmpresa", UsuarioActual.Empresa.Direccion)) params.Add(New ReportParameter("TipoCuentas", DdlTipoCuentasCxP.SelectedItem.Text)) params.Add(New ReportParameter("NombreProveedor", LtlProveedor.Text)) params.Add(New ReportParameter("FechaInicio", FI)) params.Add(New ReportParameter("FechaFin", FF)) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas/Grales/Formatos/RepAntNC.rdlc", DtANC, params, "RepAnticiposProveedor", Formato) Else Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia) End If End If ObjMovtos.Dispose() End Sub #End Region #Region "CUENTAS CONTABLES" Private Sub ActivarRegistroAutomatico() If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso (UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaAC) Then Dim ObjContabilidad As New ClsContPAQi(UsuarioActual.Empresa) '' 17/03/2017 FUNCIONALIDADES 249,250,251 '' Proveedores Dim ClaveFuncionalidad As Integer = UsuarioActual.Empresa.Funcionalidad(201).ToEntero If DdlCveTipoProveedor.SelectedValue = "2" Then ClaveFuncionalidad = UsuarioActual.Empresa.Funcionalidad(202).ToEntero If DdlCtaContProveedores.SelectedValue.ToEntero <= 0 And ClaveFuncionalidad > 0 Then DdlCtaContProveedores.Width = 175 BtnActivaRegistroProveedores.Visible = True '' Agrega Cuenta de la funcionalidad 249 If UsuarioActual.Empresa.Funcionalidad(249).ToEntero > 0 Then If ObjContabilidad.GetCuentas(UsuarioActual.Empresa.Funcionalidad(249).ToEntero, "-1", 1) Then DdlCtaContProveedores.DataSource = ObjContabilidad.DtResultados DdlCtaContProveedores.DataBind() End If End If End If If DdlCtaContExtranjera.SelectedValue.ToEntero <= 0 Then '' Agrega Cuenta de la funcionalidad 250 If UsuarioActual.Empresa.Funcionalidad(250).ToEntero > 0 Then If ObjContabilidad.GetCuentas(UsuarioActual.Empresa.Funcionalidad(250).ToEntero, "-1", 1) Then DdlCtaContExtranjera.DataSource = ObjContabilidad.DtResultados DdlCtaContExtranjera.DataBind() End If End If End If If DdlCtaContComplementaria.SelectedValue.ToEntero <= 0 Then '' Agrega Cuenta de la funcionalidad 251 If UsuarioActual.Empresa.Funcionalidad(251).ToEntero > 0 Then If ObjContabilidad.GetCuentas(UsuarioActual.Empresa.Funcionalidad(251).ToEntero, "-1", 1) Then DdlCtaContComplementaria.DataSource = ObjContabilidad.DtResultados DdlCtaContComplementaria.DataBind() End If End If End If '' 17/03/2017 FUNCIONALIDADES 252,253, 254 'Acreedores If DdlCtaContAcreedores.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(202).ToEntero > 0 Then DdlCtaContAcreedores.Width = 175 BtnActivaRegistroAcreedores.Visible = True '' Agrega Cuenta de la funcionalidad 252 If UsuarioActual.Empresa.Funcionalidad(252).ToEntero > 0 Then If ObjContabilidad.GetCuentas(UsuarioActual.Empresa.Funcionalidad(252).ToEntero, "-1", 1) Then DdlCtaContAcreedores.DataSource = ObjContabilidad.DtResultados DdlCtaContAcreedores.DataBind() End If End If End If '' Agrega Cuenta de la funcionalidad 253 If DdlCtaContAcreedoresExtranjera.SelectedValue.ToEntero <= 0 Then If UsuarioActual.Empresa.Funcionalidad(253).ToEntero > 0 Then If ObjContabilidad.GetCuentas(UsuarioActual.Empresa.Funcionalidad(253).ToEntero, "-1", 1) Then DdlCtaContAcreedoresExtranjera.DataSource = ObjContabilidad.DtResultados DdlCtaContAcreedoresExtranjera.DataBind() End If End If End If '' Agrega Cuenta de la funcionalidad 254 If DdlCtaContAcreedoresComplementaria.SelectedValue.ToEntero <= 0 Then If UsuarioActual.Empresa.Funcionalidad(254).ToEntero > 0 Then If ObjContabilidad.GetCuentas(UsuarioActual.Empresa.Funcionalidad(254).ToEntero, "-1", 1) Then DdlCtaContAcreedoresComplementaria.DataSource = ObjContabilidad.DtResultados DdlCtaContAcreedoresComplementaria.DataBind() End If End If End If 'Documentos X Pagar If DdlCtaContDocsXPagar.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(203).ToEntero > 0 Then DdlCtaContDocsXPagar.Width = 175 BtnActivaRegistroDocsXPagar.Visible = True End If 'Anticipos If DdlCtaContAnticipos.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(204).ToEntero > 0 Then DdlCtaContAnticipos.Width = 175 BtnActivaRegistroAnticipos.Visible = True End If 'Deudores If DdlCtaContDeudor.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(205).ToEntero > 0 Then DdlCtaContDeudor.Width = 175 BtnActivaRegistroDeudores.Visible = True End If End If End Sub Private Sub BtnActivaRegistroProveedores_Click(sender As Object, e As EventArgs) Handles BtnActivaRegistroProveedores.Click 'Dim IdCuentaContable As Integer = -1 'Dim CtaCodigo As String 'Dim TieneError = False 'Dim ObjContaAC As New ClsContPAQi(UsuarioActual.Empresa) 'Dim ObjProveedores As New ClsCompProveedores() 'ObjContaAC.IniciaTransacSQL() 'ObjProveedores.IniciaTransacSQL() 'IdCuentaContable = ObjContaAC.AddSiguienteCuentaHijo(UsuarioActual.Empresa.Funcionalidad(109).ToEntero, TxtRazonSocial.Text.Trim) 'ObjContaAC.GetCuentas(IdCuentaContable, "-1", -1) 'Dim dt = ObjContaAC.DtResultados 'Dim row As DataRow = dt.Rows(dt.Rows.Count - 1) 'CtaCodigo = CStr(row("CtaCodigo")) 'If IdCuentaContable > 0 Then ' If Not ObjProveedores.VincularCuentasContables(IdCuentaContable, CtaCodigo, -1, "-1", -1, "-1", -1, "-1", -1, "-1", CveProveedor) Then ' TieneError = True ' End If 'Else ' TieneError = True 'End If 'If Not TieneError Then ' Alert(String.Format("Se registo la Cuenta Contable: {0}", CtaCodigo, TipoMensaje.MsgInformacion)) ' DdlCtaContProveedores.Items.Add(New ListItem(CtaCodigo, IdCuentaContable.ToString)) : DdlCtaContProveedores.SelectedValueExist(IdCuentaContable.ToString) ' BtnActivaRegistroProveedores.Visible = False ' DdlCtaContProveedores.Width = 206 ' ObjProveedores.Commit() ' ObjContaAC.Commit() 'Else ' Alert("error", TipoMensaje.MsgError) ' ObjProveedores.RollBack() ' ObjContaAC.RollBack() 'End If 'ObjContaAC.Dispose() 'ObjProveedores.Dispose() 'UPPContable.Update() End Sub Protected Sub BtnAgregaCuentaContable(ByVal sender As Object, ByVal e As EventArgs) Dim CuentaContable = DirectCast(sender, Button).CommandArgument.ToString Dim Button = DirectCast(sender, Button) Select Case CuentaContable Case "Proveedores" AgregarCuentaContable(Button, DdlCtaContProveedores) Case "Acreedores" AgregarCuentaContable(Button, DdlCtaContAcreedores) Case "DocsXPagar" AgregarCuentaContable(Button, DdlCtaContDocsXPagar) Case "Anticipos" AgregarCuentaContable(Button, DdlCtaContAnticipos) Case "Deudores" AgregarCuentaContable(Button, DdlCtaContDeudor) End Select End Sub Private Sub AgregarCuentaContable(btn As Button, ddl As DropDownList) If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaContabilidad = True Then Dim IdCuentaContable As Integer = -1 Dim CtaCodigo As String = "" Dim TieneError = False Dim IdCtaContableProveedores As Integer = -1, IdCtaContableAcreedores As Integer = -1, IdCtaContableDocsXPagar As Integer = -1, IdCtaContableAnticipos As Integer = -1, IdCtaContableDeudor As Integer = -1 Dim CtaCodigoProveedores As String = "-1", CtaCodigoAcreedores As String = "-1", CtaCodigoDocsXPagar As String = "-1", CtaCodigoAnticipos As String = "-1", CtaCodigoDeudor As String = "-1" Dim ObjContaAC As New ClsContPAQi(UsuarioActual.Empresa) Dim ObjProveedores As New ClsCompProveedores() ObjContaAC.IniciaTransacSQL() ObjProveedores.IniciaTransacSQL() Dim CuentaPadre = -1 Dim TipoCuenta As String = "D" Select Case btn.CommandArgument.ToString Case "Proveedores" CuentaPadre = If(DdlCveTipoProveedor.SelectedValue = "2", UsuarioActual.Empresa.Funcionalidad(202).ToEntero, UsuarioActual.Empresa.Funcionalidad(201).ToEntero) Case "Acreedores" CuentaPadre = UsuarioActual.Empresa.Funcionalidad(202).ToEntero Case "DocsXPagar" CuentaPadre = UsuarioActual.Empresa.Funcionalidad(203).ToEntero Case "Anticipos" CuentaPadre = UsuarioActual.Empresa.Funcionalidad(204).ToEntero TipoCuenta = "A" Case "Deudores" CuentaPadre = UsuarioActual.Empresa.Funcionalidad(205).ToEntero End Select 'SI EL NOMBRE DEL PROVEEDOR ES MAYOR DE 50 LO CORTAMOS Dim NombreCuenta = If(TxtRazonSocial.Text.Trim.Length > 50, TxtRazonSocial.Text.Trim.Substring(0, 50), TxtRazonSocial.Text.Trim) IdCuentaContable = ObjContaAC.AddSiguienteCuentaHijo(CuentaPadre, NombreCuenta, "D", 2) If IdCuentaContable > 0 Then ObjContaAC.GetCuentas(IdCuentaContable, "-1", -1) Dim dt = ObjContaAC.DtResultados If dt.Rows.Count = 1 Then Dim row As DataRow = dt.Rows(0) CtaCodigo = CStr(row("CtaCodigo")) Select Case btn.CommandArgument.ToString Case "Proveedores" IdCtaContableProveedores = IdCuentaContable CtaCodigoProveedores = CtaCodigo Case "Acreedores" IdCtaContableAcreedores = IdCuentaContable CtaCodigoAcreedores = CtaCodigo Case "DocsXPagar" IdCtaContableDocsXPagar = IdCuentaContable CtaCodigoDocsXPagar = CtaCodigo Case "Anticipos" IdCtaContableAnticipos = IdCuentaContable CtaCodigoAnticipos = CtaCodigo Case "Deudores" IdCtaContableDeudor = IdCuentaContable CtaCodigoDeudor = CtaCodigo End Select If Not ObjProveedores.VincularCuentasContables(IdCtaContableProveedores, CtaCodigoProveedores, IdCtaContableAcreedores, CtaCodigoAcreedores, IdCtaContableAnticipos, CtaCodigoAnticipos, IdCtaContableDeudor, CtaCodigoDeudor, IdCtaContableDocsXPagar, CtaCodigoDocsXPagar, CveProveedor) Then TieneError = True End If Else TieneError = True End If Else TieneError = True End If If Not TieneError Then Alert(String.Format("Se registo la Cuenta Contable: {0}", CtaCodigo, TipoMensaje.MsgInformacion)) ddl.Items.Add(New ListItem(CtaCodigo, IdCuentaContable.ToString)) : ddl.SelectedValueExist(IdCuentaContable.ToString) btn.Visible = False ddl.Width = 206 ObjProveedores.Commit() ObjContaAC.Commit() Else Alert("error", TipoMensaje.MsgError) ObjProveedores.RollBack() ObjContaAC.RollBack() End If ObjContaAC.Dispose() ObjProveedores.Dispose() 'ElseIf UsuarioActual.Empresa.UsaContabilidadSIG = True Then ' Dim ObjContabilidad As New ClsContabilidad ' Dim ObjProveedores As New ClsCompProveedores() ' ObjContabilidad.IniciaTransacSQL() ' ObjProveedores.IniciaTransacSQL() ' Dim CuentaPadre = -1 ' Dim IdCuentaContable = -1 ' Dim CtaCodigo As String = "" ' Dim TieneError = False ' Dim IdCtaContableProveedores As Integer = -1, IdCtaContableAcreedores As Integer = -1, IdCtaContableDocsXPagar As Integer = -1, IdCtaContableAnticipos As Integer = -1, IdCtaContableDeudor As Integer = -1 ' Dim CtaCodigoProveedores As String = "-1", CtaCodigoAcreedores As String = "-1", CtaCodigoDocsXPagar As String = "-1", CtaCodigoAnticipos As String = "-1", CtaCodigoDeudor As String = "-1" ' Select Case btn.CommandArgument.ToString ' Case "Proveedores" ' CuentaPadre = UsuarioActual.Empresa.Funcionalidad(232).ToEntero ' Case "Acreedores" ' CuentaPadre = UsuarioActual.Empresa.Funcionalidad(235).ToEntero ' Case "DocsXPagar" ' CuentaPadre = UsuarioActual.Empresa.Funcionalidad(236).ToEntero ' Case "Anticipos" ' CuentaPadre = UsuarioActual.Empresa.Funcionalidad(238).ToEntero ' Case "Deudores" ' CuentaPadre = UsuarioActual.Empresa.Funcionalidad(234).ToEntero ' End Select ' Dim NombreCuenta = If(TxtRazonSocial.Text.Trim.Length > 50, TxtRazonSocial.Text.Trim.Substring(0, 50), TxtRazonSocial.Text.Trim) ' IdCuentaContable = ObjContabilidad.AddSiguienteCuentaHijo(CuentaPadre, NombreCuenta, UsuarioActual.CveEmpresa) ' If IdCuentaContable > 0 Then ' ObjContabilidad.GetCuentas(IdCuentaContable, "-1", -1, UsuarioActual.CveEmpresa) ' Dim dt = ObjContabilidad.DtResultados ' If dt.Rows.Count = 1 Then ' Dim row As DataRow = dt.Rows(0) ' CtaCodigo = CStr(row("CtaCodigo")) ' Select Case btn.CommandArgument.ToString ' Case "Proveedores" ' IdCtaContableProveedores = IdCuentaContable ' CtaCodigoProveedores = CtaCodigo ' Case "Acreedores" ' IdCtaContableAcreedores = IdCuentaContable ' CtaCodigoAcreedores = CtaCodigo ' Case "DocsXPagar" ' IdCtaContableDocsXPagar = IdCuentaContable ' CtaCodigoDocsXPagar = CtaCodigo ' Case "Anticipos" ' IdCtaContableAnticipos = IdCuentaContable ' CtaCodigoAnticipos = CtaCodigo ' Case "Deudores" ' IdCtaContableDeudor = IdCuentaContable ' CtaCodigoDeudor = CtaCodigo ' End Select ' If Not ObjProveedores.VincularCuentasContables(IdCtaContableProveedores, CtaCodigoProveedores, IdCtaContableAcreedores, CtaCodigoAcreedores, IdCtaContableAnticipos, CtaCodigoAnticipos, IdCtaContableDeudor, CtaCodigoDeudor, IdCtaContableDocsXPagar, CtaCodigoDocsXPagar, CveProveedor) Then ' TieneError = True ' End If ' Else ' TieneError = True ' End If ' Else ' TieneError = True ' End If ' If Not TieneError Then ' Alert(String.Format("Se registo la Cuenta Contable: {0}", CtaCodigo, TipoMensaje.MsgInformacion)) ' ddl.Items.Add(New ListItem(CtaCodigo, IdCuentaContable.ToString)) : ddl.SelectedValueExist(IdCuentaContable.ToString) ' btn.Visible = False ' ddl.Width = 206 ' ObjProveedores.Commit() ' ObjContabilidad.Commit() ' Else ' Alert("Esta cuenta no puede tener Sub Cuentas.", TipoMensaje.MsgError) ' ObjProveedores.RollBack() ' ObjContabilidad.RollBack() ' End If ' ObjProveedores.Dispose() ' ObjContabilidad.Dispose() End If UPPContable.Update() End Sub #End Region Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click If TxtExcel.getfiles().Archivos.Count > 0 Then Dim file As Archivo = TxtExcel.getfiles().Archivos(0) Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.path Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV") CargarArchivo(Directorio, file.filename, Tipo) Else Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError) End If End Sub Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String) Dim dt As New DataTable Dim Conexion As Odbc.OdbcConnection = Nothing Dim ErrorArchivo = False Try Select Case Tipo Case "CSV" Conexion = New Odbc.OdbcConnection("Driver={Microsoft Access Text Driver (*.txt, *.csv)};Dbq=" + Ruta + ";Extensions=asc,csv,tab,txt;") Conexion.Open() Dim cmd = Conexion.CreateCommand() cmd.CommandType = CommandType.Text cmd.CommandText = $"SELECT * FROM [{FileName}]" Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd) DataAdapter.Fill(dt) Case "EXCEL" Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";") Conexion.Open() Dim cmd = Conexion.CreateCommand() cmd.CommandType = CommandType.Text cmd.CommandText = "SELECT * FROM [Hoja1$]" Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd) DataAdapter.Fill(dt) Case Else Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError) Exit Sub End Select Catch ex As Exception ErrorArchivo = True OnError("Ocurrio un error al leer el archivo
    " & ex.Message, ex) End Try Conexion.Close() If Not ErrorArchivo Then If Not dt.Columns(0).ColumnName = "SerieFolio" Then Alert("El nombre de la primera columna debe ser 'SerieFolio'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(1).ColumnName = "Fecha" Then Alert("El nombre de la segunda columna debe ser 'Fecha'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(2).ColumnName = "Importe" Then Alert("El nombre de la tercera columna debe ser 'Importe'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(3).ColumnName = "Saldo" Then Alert("El nombre de la cuarta columna debe ser 'Saldo'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If Dim XmlStream As New System.IO.MemoryStream dt.TableName = "Datos" dt = dt.FiltraParametros("SerieFolio <> ''") 'excluyo lo que está vacío Dim ObjProveedores As New ClsCompProveedores Dim writer As New System.IO.StringWriter dt.WriteXml(writer) If ObjProveedores.GetProveedoresConciliacion(CveProveedor, DataTableToXml(writer)) Then 'ObjProveedores.DtResultados.ExportToExcel("Resultados") Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("NombreProveedor", TxtRazonSocial.Text)) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas/Grales/Formatos/ProveedorConciliacion.rdlc", ObjProveedores.DtResultados, params, String.Format("ProveedorConciliacion-{0}", Now.ToDateTime.ToShortDateString)) End If ObjProveedores.Dispose() End If End Sub Private Function DataTableToXml(ByVal stream As System.IO.TextWriter) As String Return stream.ToString() End Function Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\FormatoProveedores.xlsx" Dim Archivo As New IO.FileInfo(Directorio) If Archivo.Exists Then Response.Clear() Response.ClearHeaders() Response.ClearContent() Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name) Response.AddHeader("Content-Length", Archivo.Length.ToString()) Response.ContentType = "text/plain" Response.Flush() Response.TransmitFile(Archivo.FullName) Response.End() End If End Sub Private Sub LnkGenerarReporte_Click(sender As Object, e As EventArgs) Handles LnkGenerarReporte.Click TxtFechaInicioCXP.Text = "" TxtFechaFinCXP.Text = "" txtFechaVI.Text = "" txtFechaVF.Text = "" rblreporte.SelectedValue = "cxp" UpAddReporte.Update() RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddReporte")) End Sub Private Sub LnkParametros_Click(sender As Object, e As EventArgs) Handles LnkParametros.Click TxtLimiteCredito.Text = LblLimiteCredito.Text TxtPlazoCobranza.Text = LblPlazoCobranza.Text UpParametros.Update() RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddParametros")) End Sub Private Sub BtnCancelarParametros_Click(sender As Object, e As EventArgs) Handles BtnCancelarParametros.Click TxtLimiteCredito.Text = LblLimiteCredito.Text.FormatoNumero TxtPlazoCobranza.Text = LblPlazoCobranza.Text UpParametros.Update() RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddParametros")) End Sub Private Sub LnkAddParametros_Click(sender As Object, e As EventArgs) Handles LnkAddParametros.Click LblLimiteCredito.Text = TxtLimiteCredito.Text.FormatoNumero LblPlazoCobranza.Text = TxtPlazoCobranza.Text If LblLimiteCredito.Text.ToDouble > 0 Then TdSaldo.Visible = True TdSaldo2.Visible = True LblSaldo.Text = CType(LblLimiteCredito.Text.ToDouble - LBRCPTotal.Text.ToDouble, String).FormatoNumero Else TdSaldo.Visible = False TdSaldo2.Visible = False End If UPPCxP.Update() UpParametros.Update() RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddParametros")) End Sub Private Sub LnkCuentasBancarias_Click(sender As Object, e As EventArgs) Handles LnkCuentasBancarias.Click Modalidad = "A" TxtNombreBanco.Text = "" LbAgregarCuentaBanco.Text = "Agregar" TxtNumeroSucursal.Text = "" TxtNumeroCuenta.Text = "" TxtCLABE.Text = "" TxtSWIFT.Text = "" TxtPlaza.Text = "" TxtConvenioCIE.Text = "" TxtReferencia.Text = "" TxtConceptoCIE.Text = "" TxtRefCrediProveedor.Text = "" DdlMoneda.SelectedIndex = 0 TxtCorreoCuenta.Text = "" TxtBBVAAlias.Text = "" ChkEstatus.Checked = True divestatus.Visible = False ChkPagoElectronico.Checked = False ChkPagoElectronicoGrupos.Checked = False DdlSatBanco.SelectedValueExist("-1") DVDdlSatBanco.Visible = False UpAddBancos.Update() RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddCuentasBancarias")) End Sub Public Sub Edit_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) TxtNombreBanco.Text = GvRow.DataKey("BancoNombre") Modalidad = "U" LbAgregarCuentaBanco.Text = "Actualizar" CveCuentaBancaria = GvRow.RowIndex TxtNumeroSucursal.Text = GvRow.DataKey("Sucursal") TxtNumeroCuenta.Text = GvRow.DataKey("Cuenta") TxtCLABE.Text = GvRow.DataKey("CLABE") TxtSWIFT.Text = GvRow.DataKey("SWIFT") TxtPlaza.Text = GvRow.DataKey("Plaza") TxtConvenioCIE.Text = GvRow.DataKey("CIE") TxtReferencia.Text = GvRow.DataKey("Referencia") TxtConceptoCIE.Text = GvRow.DataKey("ConceptoCIE") TxtRefCrediProveedor.Text = GvRow.DataKey("RefCrediProveedor") TxtCorreoCuenta.Text = GvRow.DataKey("Correo") TxtBBVAAlias.Text = GvRow.DataKey("BBVAAlias") DdlMoneda.SelectedValueExist(GvRow.DataKey("CveMoneda")) ChkEstatus.Checked = CBool(GvRow.DataKey("Estatus")) divestatus.Visible = True UpAddBancos.Update() ChkPagoElectronico.Checked = Boolean.Parse(GvRow.DataKey("EstatusPagoElectronico").ToString) ChkPagoElectronicoGrupos.Checked = Boolean.Parse(GvRow.DataKey("EstatusPagoElectronicoGrupos").ToString) DdlSatBanco.SelectedValueExist(GvRow.DataKey("CveSATBanco")) If ChkPagoElectronicoGrupos.Checked Then DVDdlSatBanco.Visible = True End If RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddCuentasBancarias")) End Sub #Region " C O N T A C T O S P R O V E E D O R " Protected Sub CreaTempDTProveedoresContactos() TempDTProveedoresContactos = New DataTable() TempDTProveedoresContactos.Columns.Add("Nombre", GetType(String)) TempDTProveedoresContactos.Columns.Add("Puesto", GetType(String)) TempDTProveedoresContactos.Columns.Add("Telefono", GetType(String)) TempDTProveedoresContactos.Columns.Add("Extension", GetType(String)) TempDTProveedoresContactos.Columns.Add("Celular", GetType(String)) TempDTProveedoresContactos.Columns.Add("Correo", GetType(String)) TempDTProveedoresContactos.Columns.Add("Skype", GetType(String)) TempDTProveedoresContactos.Columns.Add("CveProveedorContacto", GetType(String)) TempDTProveedoresContactos.Columns.Add("CveProveedor", GetType(String)) TempDTProveedoresContactos.Columns.Add("CveProveedorSucursal", GetType(String)) TempDTProveedoresContactos.Columns.Add("ProveedorSucursal", GetType(String)) GvContactoProveedor.DataSource = TempDTProveedoresContactos GvContactoProveedor.DataBind() UpContactosProveedor.Update() End Sub Protected Sub CreaTempDTProveedoresContactosSucursales() TempDTProveedoresContactosSucursal = New DataTable() TempDTProveedoresContactosSucursal.Columns.Add("Nombre", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("Puesto", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("Telefono", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("Extension", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("Celular", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("Correo", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("Skype", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("CveProveedorContacto", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("CveProveedor", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("CveProveedorSucursal", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("ProveedorSucursal", GetType(String)) TempDTProveedoresContactosSucursal.Columns.Add("CveSucursalTemp", GetType(String)) 'Para controlar las sucursales no insertadas en BD GVContactosProveedorSucursal.DataSource = TempDTProveedoresContactosSucursal GVContactosProveedorSucursal.DataBind() UpContactosProveedorSucursal.Update() End Sub Protected Sub limpiarCamposModalAgregarContacto() TxtNombreContactoProveedor.Text = "" TxtPuestoContactoProveedor.Text = "" TxtTelefonoContactoProveedor.Text = "" TxtExtContactoProveedor.Text = "" TxtCelularContactoProveedor.Text = "" TxtCorreoContactoProveedor.Text = "" TxtSkypeContactoProveedor.Text = "" UpAgregarContatoProveedor.Update() End Sub 'CONTACTOS GENERALES DEL PROVEEDOR Protected Sub BtnAgregarContactoProveedor_Click(sender As Object, e As EventArgs) CveProveedorContacto = -1 CveProveedorSucursal = -1 EsContactoSucursal = 0 EsEditar = 0 limpiarCamposModalAgregarContacto() RegistraScript("$('#DivAgregarContactoProveedor').modal();") End Sub Protected Sub imgEditarContactoProv_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) CveProveedorContacto = GvRow.DataKey("CveProveedorContacto").ToEntero() CveProveedorSucursal = GvRow.DataKey("CveProveedorSucursal").ToEntero() EsContactoSucursal = 0 EsEditar = 1 IndexDTContacto = GvRow.RowIndex TxtNombreContactoProveedor.Text = GvRow.DataKey("Nombre").ToString TxtPuestoContactoProveedor.Text = GvRow.DataKey("Puesto").ToString TxtTelefonoContactoProveedor.Text = GvRow.DataKey("Telefono").ToString TxtExtContactoProveedor.Text = GvRow.DataKey("Extension").ToString TxtCelularContactoProveedor.Text = GvRow.DataKey("Celular").ToString TxtCorreoContactoProveedor.Text = GvRow.DataKey("Correo").ToString TxtSkypeContactoProveedor.Text = GvRow.DataKey("Skype").ToString UpAgregarContatoProveedor.Update() RegistraScript("$('#DivAgregarContactoProveedor').modal('show');") End Sub Protected Sub GvContactoProveedor_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) If CveProveedor > 0 Then CveProveedorContacto = GvContactoProveedor.DataKeys(e.RowIndex).Value.ToString.ToEntero Dim ObjProveedores As ClsCompProveedores = New ClsCompProveedores If ObjProveedores.RemoveProveedorContacto(CveProveedorContacto) Then Alert("El Contacto se Elimino correctamente.", TipoMensaje.MsgInformacion) End If CargaContactos(ObjProveedores) ObjProveedores.Dispose() CargaGVContactosSucursal() Else TempDTProveedoresContactos.Rows.RemoveAt(e.RowIndex) GvContactoProveedor.DataSource = TempDTProveedoresContactos GvContactoProveedor.DataBind() UpContactosProveedor.Update() End If End Sub 'CONTACTOS DE LA SUCURSAL Protected Sub CargaGVContactosSucursal() If CveProveedor > 0 And CveProveedorSucursal > 0 Then ' TempDTProveedoresContactosSucursal.Columns.Add("CveSucursalTemp", GetType(String)) GVContactosProveedorSucursal.DataSource = TempDTProveedoresContactosSucursal.FiltraParametros("CveProveedorSucursal = " & CveProveedorSucursal) Else GVContactosProveedorSucursal.DataSource = TempDTProveedoresContactosSucursal End If GVContactosProveedorSucursal.DataBind() UpContactosProveedorSucursal.Update() End Sub Protected Sub BtnAgregarContactoSucursal_Click(sender As Object, e As EventArgs) EsContactoSucursal = 1 EsEditar = 0 limpiarCamposModalAgregarContacto() RegistraScript("$('#DivAgregarContactoProveedor').modal('show');") End Sub Protected Sub imgEditarContactoProvSuc_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) CveProveedorContacto = GvRow.DataKey("CveProveedorContacto").ToEntero() CveProveedorSucursal = GvRow.DataKey("CveProveedorSucursal").ToEntero() CveTempSucursal = GvRow.DataKey("CveSucursalTemp").ToEntero() TxtNombreContactoProveedor.Text = GvRow.DataKey("Nombre").ToString TxtPuestoContactoProveedor.Text = GvRow.DataKey("Puesto").ToString TxtTelefonoContactoProveedor.Text = GvRow.DataKey("Telefono").ToString TxtExtContactoProveedor.Text = GvRow.DataKey("Extension").ToString TxtCelularContactoProveedor.Text = GvRow.DataKey("Celular").ToString TxtCorreoContactoProveedor.Text = GvRow.DataKey("Correo").ToString TxtSkypeContactoProveedor.Text = GvRow.DataKey("Skype").ToString EsContactoSucursal = 1 EsEditar = 1 IndexDTContacto = GvRow.RowIndex UpAgregarContatoProveedor.Update() RegistraScript("$('#DivAgregarContactoProveedor').modal('show');") End Sub Protected Sub GVContactosProveedorSucursal_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) If CveProveedor > 0 And CveProveedorSucursal > 0 Then CveProveedorContacto = GVContactosProveedorSucursal.DataKeys(e.RowIndex).Value.ToString.ToEntero 'GvRow.DataKey("CveProveedorContacto").ToEntero() Dim ObjProveedores As ClsCompProveedores = New ClsCompProveedores If ObjProveedores.RemoveProveedorContacto(CveProveedorContacto) Then Alert("El Contacto de la Sucursal se Elimino correctamente.", TipoMensaje.MsgInformacion) End If CargaContactos(ObjProveedores) ObjProveedores.Dispose() CargaGVContactosSucursal() Else TempDTProveedoresContactosSucursal.Rows.RemoveAt(e.RowIndex) CargaGVContactosSucursal() End If End Sub Protected Sub GVContactosProveedorSucursal_RowDataBound(sender As Object, e As GridViewRowEventArgs) 'Oculta las filas del grid que no perenecen a la sucursal seleccionada If e.Row.RowType = DataControlRowType.DataRow Then ' Si la sucursal ya esta en BD busca por su Cve, si no busca por cve temp If CveProveedorSucursal > 0 Then If e.Row.DBCampo("CveProveedorSucursal") = CveProveedorSucursal.ToString() Then e.Row.Visible = True Else e.Row.Visible = False End If Else If e.Row.DBCampo("CveSucursalTemp") = CveTempSucursal.ToString() Then e.Row.Visible = True Else e.Row.Visible = False End If End If End If End Sub Protected Sub BtnGuardarContactoProveedor_Click(sender As Object, e As EventArgs) Dim Nombre As String = TxtNombreContactoProveedor.Text Dim Puesto As String = TxtPuestoContactoProveedor.Text Dim Telefono As String = TxtTelefonoContactoProveedor.Text Dim Extension As String = TxtExtContactoProveedor.Text Dim Celular As String = TxtCelularContactoProveedor.Text Dim Correo As String = TxtCorreoContactoProveedor.Text Dim Skype As String = TxtSkypeContactoProveedor.Text 'SI EL PROVEEDOR NO TIENE CVEPROVEEDOR GUARDA EN TABLA TEMPORAL If CveProveedor = -1 Then Dim dr As DataRow If EsContactoSucursal = 0 Then dr = TempDTProveedoresContactos.NewRow() Else dr = TempDTProveedoresContactosSucursal.NewRow() End If dr("Nombre") = Nombre dr("Puesto") = Puesto dr("Telefono") = Telefono dr("Extension") = Extension dr("Celular") = Celular dr("Correo") = Correo dr("Skype") = Skype dr("CveProveedorContacto") = CveProveedorContacto.ToString 'Si es contacto General del Proveedor solo agrega If EsContactoSucursal = 0 Then dr("CveProveedorSucursal") = "-1" If EsEditar = 1 Then TempDTProveedoresContactos.Rows.RemoveAt(IndexDTContacto) End If TempDTProveedoresContactos.Rows.Add(dr) GvContactoProveedor.DataSource = TempDTProveedoresContactos GvContactoProveedor.DataBind() UpContactosProveedor.Update() Else 'obtengo la cve Sucursal dr("CveProveedorSucursal") = CveProveedorSucursal 'si no existe en BD asigna la Cve Temp If CveProveedorSucursal = -1 Then dr("CveSucursalTemp") = CveTempSucursal End If 'If CveProveedorContacto.ToString <> "-1" Then If EsEditar = 1 Then TempDTProveedoresContactosSucursal.Rows.RemoveAt(IndexDTContacto) End If ' End If TempDTProveedoresContactosSucursal.Rows.Add(dr) CargaGVContactosSucursal() End If Else Dim ObjProveedores As ClsCompProveedores = New ClsCompProveedores CveProveedorSucursal = IIf(CveProveedorSucursal = 0, -1, CveProveedorSucursal).ToString.ToEntero If EsEditar = 1 Then 'ACTUALIZAMOS CONTACTO If ObjProveedores.UpdateProveedorContacto(CveProveedorContacto, CveProveedor, CveProveedorSucursal, Nombre, Puesto, Telefono, Extension, Celular, Correo, Skype) Then Alert("El Contacto se Actualizo correctamente.", TipoMensaje.MsgInformacion) End If Else 'CREAMOS CONTACTO If ObjProveedores.AddProveedorContacto(CveProveedor, CveProveedorSucursal, Nombre, Puesto, Telefono, Extension, Celular, Correo, Skype) Then Alert("El Contacto se Guardo correctamente.", TipoMensaje.MsgInformacion) End If End If CargaContactos(ObjProveedores) ObjProveedores.Dispose() CargaGVContactosSucursal() End If RegistraScript("$('#DivAgregarContactoProveedor').modal('hide');") limpiarCamposModalAgregarContacto() End Sub #End Region #Region "USUARIOS PLATAFORMA PROVEEDOR - 7 " Protected Sub CargaUsuariosPortalProveedor() Dim objUsuario As ClsSisUsuarios = New ClsSisUsuarios If objUsuario.GetUsuariosPortal(-1, -1, CveProveedor) Then GvUsuarios.DataSource = objUsuario.DtResultados GvUsuarios.DataBind() End If objUsuario.Dispose() End Sub Public Sub CargaGlobal() 'Dim ObjUsuarios As New ClsSisUsuarios 'If ObjUsuarios.GetUsuariosEmpresas(-1) Then ' Application("GlobalDTUsuarios") = ObjUsuarios.DtResultados 'End If 'ObjUsuarios.Dispose() GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing End Sub Protected Sub GvUsuarios_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvUsuarios.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.FCLinkButton("imgE").Attributes.Add("onclick", $"javascript:AbrirVentana('/Sistemas/PopUpAddUsuario.aspx?CveUsuario={e.Row.DBCampo("CveUsuario").ToString}&CveProveedor={CveProveedor}', 801, 701);") End If End Sub #End Region #Region "MODAL GRAFICA/PEDIDOS" Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) If CargaDatatables() Then CargaGrafica() End If End Sub Private Function CargaDatatables() As Boolean Dim ObjProveedores As New ClsCompProveedores Dim ObjFinanzas As New ClsFinanzas If ObjProveedores.GetProveedorVencido(CveProveedor, UsuarioActual.CveEmpresa, TxtFechaICredito.Text.ToDate, TxtFechaFCredito.Text.ToDate) Then DtVencido = ObjProveedores.DtResultados End If If ObjFinanzas.GetRotacionCarteraProveedores(TxtFechaICredito.Text.ToDate, TxtFechaFCredito.Text.ToDate, UsuarioActual.CveEmpresa, 1, "-1", " -1", CveProveedor, Now) Then DtRotacion = ObjFinanzas.DtResultados End If If ObjProveedores.GetProveedorSaldoMensual(CveProveedor, UsuarioActual.CveEmpresa, TxtFechaICredito.Text.ToDate, TxtFechaFCredito.Text.ToDate) Then DtSaldoMensual = ObjProveedores.DtResultados End If If ObjProveedores.GetClienteComportamientoCompraMensual(CveProveedor, UsuarioActual.CveEmpresa, TxtFechaICredito.Text.ToDate, TxtFechaFCredito.Text.ToDate) Then DtComportamientoCompras = ObjProveedores.DtResultados End If ObjProveedores.Dispose() ObjFinanzas.Dispose() If Not DtVencido.Rows.Count > 0 Then Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia) Return False End If Return True End Function Private Sub CargaGrafica() Dim FactVencida As Boolean = False Dim Saldo As Double = DtVencido.SUM("Saldo") Dim LimiteCredito As Double = DtVencido.Rows(0)("LimiteCredito").ToString.ToDouble Dim Dt As New DataTable() Dt.Columns.Add("value") For Each Dr As DataRow In DtVencido.Rows Dim Row As DataRow = Nothing Row = Dt.NewRow() Row("value") = Dr("DiasVencidos").ToString Dt.Rows.Add(Row) If Dr("DiasVencidos").ToString.ToEntero > 0 And Dr("Saldo").ToString.ToDouble > 0 Then FactVencida = True End If Next LblVencido.Text = DtVencido.SUM("Total", "DiasVencidos > 0").FormatoNumero LblPorVencer.Text = DtVencido.SUM("Total", "DiasVencidos <= 0").FormatoNumero Dim query = From s In Dt.AsEnumerable() Select New With {.date = "", .value = s("value").ToString()} Dim json = Newtonsoft.Json.JsonConvert.SerializeObject(query) RegistraScript($"CargaGraficaVencido({json})", "22") Dim Dt2 As New DataTable() Dt2.Columns.Add("limite") Dt2.Columns.Add("saldo") Dim Row2 As DataRow = Nothing Row2 = Dt2.NewRow() Row2("limite") = LimiteCredito Row2("saldo") = Saldo Dt2.Rows.Add(Row2) Dim query2 = From s In Dt2.AsEnumerable() Select New With {.year = "", .limite = s("limite").ToString(), .saldo = s("saldo").ToString()} Dim json2 = Newtonsoft.Json.JsonConvert.SerializeObject(query2) RegistraScript($"CargaGraficaLimiteCredito({json2})", "33") If DtRotacion.Rows.Count > 0 Then LblComprasModal.Text = DtRotacion.Rows(0)("Compras").ToString.FormatoNumero LblPagadoModal.Text = DtRotacion.Rows(0)("Pagado").ToString.FormatoNumero LblRotacionModal.Text = DtRotacion.Rows(0)("Rotacion").ToString.FormatoNumero LblDiasModal.Text = DtRotacion.Rows(0)("Dias").ToString.FormatoNumero End If If FactVencida Or (Saldo > LimiteCredito) Then LblEstatusModal.Text = "Vencido" LblEstatusModal.ForeColor = Drawing.Color.Red Else LblEstatusModal.Text = "Al Corriente" LblEstatusModal.ForeColor = Drawing.Color.Green End If Dim Dt3 As New DataTable() Dt3.Columns.Add("mes") Dim Dt4 As New DataTable() Dt4.Columns.Add("balloonText") Dt4.Columns.Add("bullet") Dt4.Columns.Add("title") Dt4.Columns.Add("valueField") Dt4.Columns.Add("fillAlphas") Dt4.Columns.Add("hidden") Dim Cont As Integer = 1 For Each Dr As DataRow In DtComportamientoCompras.Rows Dt3.Columns.Add(Dr("Ano").ToString) Dim Row4 As DataRow = Nothing Row4 = Dt4.NewRow() Row4("balloonText") = "Compras [[category]]: [[value]]" Row4("bullet") = "round" Row4("title") = Dr("Ano").ToString Row4("valueField") = Dr("Ano").ToString Row4("fillAlphas") = 0 Row4("hidden") = If(Cont > DtComportamientoCompras.Rows.Count - 3, False, True) Dt4.Rows.Add(Row4) Cont += 1 Next Dim RowEnero As DataRow = Nothing RowEnero = Dt3.NewRow() Dim RowFebrero As DataRow = Nothing RowFebrero = Dt3.NewRow() Dim RowMarzo As DataRow = Nothing RowMarzo = Dt3.NewRow() Dim RowAbril As DataRow = Nothing RowAbril = Dt3.NewRow() Dim RowMayo As DataRow = Nothing RowMayo = Dt3.NewRow() Dim RowJunio As DataRow = Nothing RowJunio = Dt3.NewRow() Dim RowJulio As DataRow = Nothing RowJulio = Dt3.NewRow() Dim RowAgosto As DataRow = Nothing RowAgosto = Dt3.NewRow() Dim RowSeptiembre As DataRow = Nothing RowSeptiembre = Dt3.NewRow() Dim RowOctubre As DataRow = Nothing RowOctubre = Dt3.NewRow() Dim RowNoviembre As DataRow = Nothing RowNoviembre = Dt3.NewRow() Dim RowDiciembre As DataRow = Nothing RowDiciembre = Dt3.NewRow() For Each Dr As DataRow In DtComportamientoCompras.Rows RowEnero(Dr("Ano").ToString) = Dr("Enero").ToString RowEnero("mes") = "Enero" RowFebrero(Dr("Ano").ToString) = Dr("Febrero").ToString RowFebrero("mes") = "Febrero" RowMarzo(Dr("Ano").ToString) = Dr("Marzo").ToString RowMarzo("mes") = "Marzo" RowAbril(Dr("Ano").ToString) = Dr("Abril").ToString RowAbril("mes") = "Abril" RowMayo(Dr("Ano").ToString) = Dr("Mayo").ToString RowMayo("mes") = "Mayo" RowJunio(Dr("Ano").ToString) = Dr("Junio").ToString RowJunio("mes") = "Junio" RowJulio(Dr("Ano").ToString) = Dr("Julio").ToString RowJulio("mes") = "Julio" RowAgosto(Dr("Ano").ToString) = Dr("Agosto").ToString RowAgosto("mes") = "Agosto" RowSeptiembre(Dr("Ano").ToString) = Dr("Septiembre").ToString RowSeptiembre("mes") = "Septiembre" RowOctubre(Dr("Ano").ToString) = Dr("Octubre").ToString RowOctubre("mes") = "Octubre" RowNoviembre(Dr("Ano").ToString) = Dr("Noviembre").ToString RowNoviembre("mes") = "Noviembre" RowDiciembre(Dr("Ano").ToString) = Dr("Diciembre").ToString RowDiciembre("mes") = "Diciembre" Next Dt3.Rows.Add(RowEnero) Dt3.Rows.Add(RowFebrero) Dt3.Rows.Add(RowMarzo) Dt3.Rows.Add(RowAbril) Dt3.Rows.Add(RowMayo) Dt3.Rows.Add(RowJunio) Dt3.Rows.Add(RowJulio) Dt3.Rows.Add(RowAgosto) Dt3.Rows.Add(RowSeptiembre) Dt3.Rows.Add(RowOctubre) Dt3.Rows.Add(RowNoviembre) Dt3.Rows.Add(RowDiciembre) RegistraScript($"CargaGraficaComportamientoCompras({Dt3.ToJson},{Dt4.ToJson.Replace($"{Chr(34)}True{Chr(34)}", "true").Replace($"{Chr(34)}False{Chr(34)}", "false")})", "44") Dim Dt5 As New DataTable() Dt5.Columns.Add("mes") Dim Dt6 As New DataTable() Dt6.Columns.Add("balloonText") Dt6.Columns.Add("bullet") Dt6.Columns.Add("title") Dt6.Columns.Add("valueField") Dt6.Columns.Add("fillAlphas") Dt6.Columns.Add("hidden") Cont = 1 For Each Dr As DataRow In DtSaldoMensual.Rows Dt5.Columns.Add(Dr("Ano").ToString) Dim Row6 As DataRow = Nothing Row6 = Dt6.NewRow() Row6("balloonText") = "Saldo [[category]]: [[value]]" Row6("bullet") = "round" Row6("title") = Dr("Ano").ToString Row6("valueField") = Dr("Ano").ToString Row6("fillAlphas") = 0 Row6("hidden") = If(Cont > DtSaldoMensual.Rows.Count - 3, False, True) Dt6.Rows.Add(Row6) Cont += 1 Next RowEnero = Dt5.NewRow() RowFebrero = Dt5.NewRow() RowMarzo = Dt5.NewRow() RowAbril = Dt5.NewRow() RowMayo = Dt5.NewRow() RowJunio = Dt5.NewRow() RowJulio = Dt5.NewRow() RowAgosto = Dt5.NewRow() RowSeptiembre = Dt5.NewRow() RowOctubre = Dt5.NewRow() RowNoviembre = Dt5.NewRow() RowDiciembre = Dt5.NewRow() For Each Dr As DataRow In DtSaldoMensual.Rows RowEnero(Dr("Ano").ToString) = Dr("Enero").ToString RowEnero("mes") = "Enero" RowFebrero(Dr("Ano").ToString) = Dr("Febrero").ToString RowFebrero("mes") = "Febrero" RowMarzo(Dr("Ano").ToString) = Dr("Marzo").ToString RowMarzo("mes") = "Marzo" RowAbril(Dr("Ano").ToString) = Dr("Abril").ToString RowAbril("mes") = "Abril" RowMayo(Dr("Ano").ToString) = Dr("Mayo").ToString RowMayo("mes") = "Mayo" RowJunio(Dr("Ano").ToString) = Dr("Junio").ToString RowJunio("mes") = "Junio" RowJulio(Dr("Ano").ToString) = Dr("Julio").ToString RowJulio("mes") = "Julio" RowAgosto(Dr("Ano").ToString) = Dr("Agosto").ToString RowAgosto("mes") = "Agosto" RowSeptiembre(Dr("Ano").ToString) = Dr("Septiembre").ToString RowSeptiembre("mes") = "Septiembre" RowOctubre(Dr("Ano").ToString) = Dr("Octubre").ToString RowOctubre("mes") = "Octubre" RowNoviembre(Dr("Ano").ToString) = Dr("Noviembre").ToString RowNoviembre("mes") = "Noviembre" RowDiciembre(Dr("Ano").ToString) = Dr("Diciembre").ToString RowDiciembre("mes") = "Diciembre" Next Dt5.Rows.Add(RowEnero) Dt5.Rows.Add(RowFebrero) Dt5.Rows.Add(RowMarzo) Dt5.Rows.Add(RowAbril) Dt5.Rows.Add(RowMayo) Dt5.Rows.Add(RowJunio) Dt5.Rows.Add(RowJulio) Dt5.Rows.Add(RowAgosto) Dt5.Rows.Add(RowSeptiembre) Dt5.Rows.Add(RowOctubre) Dt5.Rows.Add(RowNoviembre) Dt5.Rows.Add(RowDiciembre) RegistraScript($"CargaGraficaCompratamientoSaldoMensual({Dt5.ToJson},{Dt6.ToJson.Replace($"{Chr(34)}True{Chr(34)}", "true").Replace($"{Chr(34)}False{Chr(34)}", "false")})", "55") UPModalProd.Update() End Sub Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) If CargaDatatables() Then RegistraScript("$('#DivModalGrafica').modal('show')") CargaGrafica() End If End Sub #End Region #Region "TAB - COMPORTAMIENTO DE COMPRAS" Private Sub CargaGrupo() DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3")) DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4")) DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5")) DdlGrupo.Items.Insert(3, New ListItem("Año", "6")) DdlGrupo.Items.Insert(4, New ListItem("Mes", "7")) DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8")) DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9")) DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10")) DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11")) DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12")) DdlGrupo.DataBind() DdlGrupo.SelectedValueExist("8") End Sub Private Sub CargaTipoCentroCosto() If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then DdlSubProyectoFiltro.Items.Clear() DivProyecto.Visible = False LblProyecto.Visible = False LblSubProyecto.InnerText = "Sucursal:" DdlSubProyectoFiltro.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyectoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyectoFiltro.DataBind() DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "2")) DdlGrupo.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then DdlSubProyectoFiltro.Items.Clear() DivProyecto.Visible = False LblProyecto.Visible = False LblSubProyecto.InnerText = "Proyecto:" DdlSubProyectoFiltro.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyectoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyectoFiltro.DataBind() DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "2")) DdlGrupo.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) DdlGrupo.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then LblProyecto.InnerText = "Sucursal:" LblSubProyecto.InnerText = "Proyecto:" DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "1")) DdlGrupo.Items.Insert(1, New ListItem("Proyecto", "2")) DdlGrupo.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then LblProyecto.InnerText = "Proyecto:" LblSubProyecto.InnerText = "Sucursal:" DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) DdlGrupo.Items.Insert(1, New ListItem("Sucursal", "2")) DdlGrupo.DataBind() End If End Sub Private Sub CargaFiltros() 'Cargo Proyectos DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1) DdlProyecto.DataBind() 'Cargo Clasificaciones DdlClasificacionFilto.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacionFilto.DataBind() 'CargaSubProyectos DdlSubProyectoFiltro.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyectoFiltro.DataBind() 'CargaUsuarios DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlUsuario.DataBind() 'Carga Productos DdlPSFiltro.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then DdlPSFiltro.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacionFilto.SelectedValue) DdlPSFiltro.SelectedText = "" DdlPSFiltro.SelectedValue = "-1" Else DdlPSFiltro.ddl.Items.Clear() DdlPSFiltro.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacionFilto.SelectedValue.ToEntero) DdlPSFiltro.ddl.DataBind() DdlPSFiltro.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) End If CargaGrupo() CargaTipoCentroCosto() End Sub Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged CargaSubProyecto() End Sub Private Sub CargaSubProyecto() DdlSubProyectoFiltro.Items.Clear() If DdlProyecto.SelectedValue <> "-1" Then DdlSubProyectoFiltro.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyectoFiltro.DataBind() End If DdlSubProyectoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Protected Sub DdlClasificacionFilto_SelectedIndexChanged(sender As Object, e As EventArgs) If UsuarioActual.Empresa.Funcionalidad(105) = "" Then DdlPSFiltro.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacionFilto.SelectedValue.ToEntero) DdlPSFiltro.DataBind() DdlPSFiltro.ddl.Items.Insert(0, New ListItem("Todos", "-1")) Else DdlPSFiltro.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacionFilto.SelectedValue) DdlPSFiltro.SelectedText = "Todos" DdlPSFiltro.SelectedValue = "-1" End If End Sub Protected Sub GvComportamientoCompra_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then If Not e.Row.DBCampo("CveCompra").ToEntero > 0 Then e.Row.CssClass = "Totales" e.Row.Cells(2).Text = e.Row.DBCampo("GPO").ToString End If End If End Sub Protected Sub BtnConsultarComportamiento_Click(sender As Object, e As EventArgs) CargaGvComportamientoCompra() End Sub Private Sub CargaGvComportamientoCompra() Dim ObjCompras As New ClsCompras() Dim FechaI, FechaF As Date FechaI = If(IsDate(TxtFechaIFiltro.Text.Trim()), TxtFechaIFiltro.Text.ToDate, MinFecha) FechaF = If(IsDate(TxtFechaFFiltro.Text.Trim()), TxtFechaFFiltro.Text.ToDate, MaxFecha) If ObjCompras.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, DdlSubProyectoFiltro.SelectedValue, "-1", DdlClasificacionFilto.SelectedValue.ToEntero, DdlPSFiltro.SelectedValue.ToEntero, FechaI, FechaF, CveProveedor, DdlUsuario.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, -1, -1, "-1", "-1", -1, -1, 1, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then GvComportamientoCompra.DataSource = ObjCompras.DtResultados Else GvComportamientoCompra.DataSource = Nothing End If ObjCompras.Dispose() GvComportamientoCompra.DataBind() UpDatosComportamientoCompra.Update() End Sub #End Region #Region "E V A L U A C I O N " Protected Sub LimpiarDatosEvaluacion() DtRespuestasEvaluacion = Nothing TxtRS.Text = "" TxtSerieFolio.Text = "" TxtPS.Text = "" TxtCodigoE.Text = "" TxtFechaE.Text = Now.ToString("dd/MM/yyyy") TxtFirma.Text = "" TxtCalificacion.Text = "" UpEvaluacion.Update() End Sub Protected Sub CargaEvaluacionProveedor() LimpiarDatosEvaluacion() Dim ObjProve As New ClsCompProveedores If ObjProve.GetEvaluacionesProveedores(-1, Me.CveProveedor, UsuarioActual.CveEmpresa) Then GvEvaluaciones.DataSource = ObjProve.DtResultados.FiltraParametros($"Evaluado = 1") End If If ObjProve.GetProveedoresEvaluacionPreguntas(UsuarioActual.CveEmpresa) Then DtPreguntasEvaluacion = ObjProve.DtResultados.Copy() End If ObjProve.Dispose() GvEvaluaciones.DataBind() UpEvaluacion.Update() UpDatos.Update() End Sub Protected Sub CargaCompraEvaluacion(CveCompra As Integer) If CveCompra > 0 Then Dim ObjCompras As New ClsCompras() If ObjCompras.GetCompras(CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then If ObjCompras.DtResultados.Rows.Count > 0 Then TxtSerieFolio.Text = ObjCompras.DtResultados.Rows(0)("SerieFolio").ToString() End If End If If ObjCompras.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then Dim StrPS As New StringBuilder() For Each Row As DataRow In ObjCompras.DtResultados.Rows If ObjCompras.DtResultados.Rows.Count > 1 Then StrPS.AppendFormat("{0};", Row("PSCodigo")) Else StrPS.AppendFormat("{0}", Row("PSCodigo")) End If Next TxtPS.Text = StrPS.ToString() End If ObjCompras.Dispose() End If End Sub Protected Sub CargaPreguntasEvaluacion(CveEvaluacionProveedor As Integer) Dim ObjPro As New ClsCompProveedores() If ObjPro.GetEvaluacionesProveedoresDetalle(CveEvaluacionProveedor) Then DtRespuestasEvaluacion = ObjPro.DtResultados.Copy() End If ObjPro.Dispose() If DtRespuestasEvaluacion.Rows.Count > 0 AndAlso DtPreguntasEvaluacion.Rows.Count > 0 Then GvPreguntas.DataSource = DtPreguntasEvaluacion GvPreguntas.DataBind() End If End Sub Protected Sub LnkVerEvaluacion_Click(sender As Object, e As EventArgs) Dim Row As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) CargaEvaluacion(Row) RegistraScript("$('#DvEvaluacion').modal('show');") End Sub Protected Sub LnkDescargarCarta_Click(sender As Object, e As EventArgs) Dim Row As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) CargaEvaluacion(Row) Dim Fecha = TxtFechaE.Text.ToDateTime() Dim Mes = Fecha.ToString("MMMM", New CultureInfo("es-MX")) Dim Obs = TxtObsE.Text.Trim() Dim Calificacion = TxtCalificacion.Text.ToEntero() Dim Firma = TxtFirma.Text Dim Resultado As String = "" If Calificacion.Contiene(0, 1, 2) Then Resultado = "No Satisfactorio" ElseIf Calificacion.Contiene(3, 4) Then Resultado = "Mejoras" ElseIf Calificacion.Contiene(5, 6) Then Resultado = "Satisfactorio" End If DescargarFormatoCarta(TxtRS.Text, Fecha.Day.ToString(), Mes, Calificacion.ToString(), Resultado) End Sub Protected Sub LnkDescargarFormatoEvaluacion_Click(sender As Object, e As EventArgs) Dim Row As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) CargaEvaluacion(Row) Dim Fecha = TxtFechaE.Text.ToDateTime() Dim Mes = Fecha.ToString("MMMM", New CultureInfo("es-MX")) Dim Obs = TxtObsE.Text.Trim() Dim Calificacion = TxtCalificacion.Text.ToEntero() Dim Firma = TxtFirma.Text Dim Resultado As String = "" If Calificacion.Contiene(0, 1, 2) Then Resultado = "No Satisfactorio" ElseIf Calificacion.Contiene(3, 4) Then Resultado = "Mejoras" ElseIf Calificacion.Contiene(5, 6) Then Resultado = "Satisfactorio" End If DescargarFormatoEvaluacion(TxtRS.Text, Fecha.Day.ToString(), Mes, Calificacion.ToString(), Resultado) End Sub Protected Sub GvPreguntas_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("TipoDato") = "1" Then e.Row.CssClass = "Totales" e.Row.FCRadioButtonList("RblRespuesta").Visible = False End If If e.Row.DBCampo("TipoDato") = "2" Then Dim CvePregunta = e.Row.DBCampo("CvePreguntaEvaluacion").ToEntero() If CvePregunta > 0 AndAlso DtRespuestasEvaluacion IsNot Nothing Then Dim Respuesta = DtRespuestasEvaluacion.FiltroPrimeroValor("RespuestaBit", $"CvePreguntaEvaluacion={CvePregunta}") e.Row.FCRadioButtonList("RblRespuesta").SelectedValue = Respuesta End If End If End If End Sub Private Sub CargaEvaluacion(Row As GridViewRow) LimpiarDatosEvaluacion() Dim CveEvaluacionProveedor = Row.DataKey("CveEvaluacionProveedor").ToEntero() Dim CveCompra = Row.DataKey("CveCompra").ToEntero() TxtRS.Text = Row.DataKey("RazonSocial") TxtCodigoE.Text = Row.DataKey("Codigo") CargaCompraEvaluacion(CveCompra) CargaPreguntasEvaluacion(CveEvaluacionProveedor) TxtObsE.Text = Row.DataKey("Observaciones") TxtFechaE.Text = Row.DataKey("FechaEvaluacion").ToDate().ToString("dd/MM/yyyy") TxtFirma.Text = Row.DataKey("Firma") TxtCalificacion.Text = Row.DataKey("CalificacionFinal") UpEvaluacion.Update() End Sub Protected Sub DescargarFormatoCarta(Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String) Try Dim PathRoot As String = Server.MapPath("/") Dim Documento As String = "CartaProveedor.docx" Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}" Dim PathDestino As String = PathRoot & "Temp\" & Proveedor & "_" & Documento If File.Exists(PathDestino) Then File.Delete(PathDestino) End If File.Copy(PathSource, PathDestino) Dim ObjCarta As New clsGemBoxDocument(PathDestino) ObjCarta.SustituirTags(GetTagsCartaEvaluacion(Proveedor, Dia, Mes, Calificacion, Resultado)) ObjCarta.GuardarStreamPDF() ImprimirbytesPDF(ObjCarta.GetBytesDocumento(), "Carta a Proveedor.pdf") Catch ex As Exception OnError("Ocurrió error al generar el formato", ex) End Try End Sub Protected Sub DescargarFormatoEvaluacion(Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String) Try Dim PathRoot As String = Server.MapPath("/") Dim Documento As String = "FormatoEvaluacionProveedor.docx" Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}" Dim PathDestino As String = PathRoot & "Temp\" & Proveedor & "_" & Documento If File.Exists(PathDestino) Then File.Delete(PathDestino) End If File.Copy(PathSource, PathDestino) Dim ObjCarta As New clsGemBoxDocument(PathDestino) ObjCarta.SustituirTags(GetTagsFormatoEvaluacion()) ObjCarta.GuardarStreamPDF() ImprimirbytesPDF(ObjCarta.GetBytesDocumento(), "Formato Evaluacion Proveedor.pdf") Catch ex As Exception OnError("Ocurrió error al generar el formato", ex) End Try End Sub Private Sub RegisterPostBackControl() For Each row As GridViewRow In GvEvaluaciones.Rows ScriptManager.GetCurrent(Me).RegisterPostBackControl(row.FCLinkButton("LnkDescargaFormato")) ScriptManager.GetCurrent(Me).RegisterPostBackControl(row.FCLinkButton("LnkDescargarCarta")) Next End Sub Protected Function GetTagsCartaEvaluacion(Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String) As List(Of TagsDocumentos) Dim ListaTagsDocumentost = New List(Of TagsDocumentos) ListaTagsDocumentost.Add(New TagsDocumentos("{{Proveedor}}", Proveedor)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Dia}}", Dia)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Mes}}", Mes)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Calificacion}}", Calificacion)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Resultado}}", Resultado)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Usuario}}", TxtFirma.Text)) Dim MensajeInvitacion As String = "Le invitamos a participar en la implementación de acciones para la mejora de sus procesos." Dim MensajeSatisfactorio As String = ", debido al cumplimiento de los criterios establecidos por Exploraciones Mineras del Desierto, S.A. de C.V" Dim MensajeMejoras As String = ", debido a la falta de cumplimiento de los criterios establecidos por Exploraciones Mineras del Desierto, S.A. de C.V. Se realizaron diferentes observaciones de la percepción del servicio, los cuales son:" Dim MensajeNoSatisfactorio As String = ", debido a la falta de cumplimiento de los criterios establecidos por Exploraciones Mineras del Desierto, S.A. de C.V" If Resultado = "No Satisfactorio" Then ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoTexto}}", MensajeNoSatisfactorio)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Observaciones}}", TxtObsE.Text)) ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoInvitacion}}", MensajeInvitacion)) ElseIf Resultado = "Mejoras" Then ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoTexto}}", MensajeMejoras)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Observaciones}}", TxtObsE.Text)) ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoInvitacion}}", MensajeInvitacion)) ElseIf Resultado = "Satisfactorio" Then ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoTexto}}", MensajeSatisfactorio)) ListaTagsDocumentost.Add(New TagsDocumentos("{{Observaciones}}", "")) ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoInvitacion}}", "")) End If Return ListaTagsDocumentost End Function Protected Function GetTagsFormatoEvaluacion() As List(Of TagsDocumentos) Dim ListaTagsDocumentos = New List(Of TagsDocumentos) ListaTagsDocumentos.Add(New TagsDocumentos("{{Proveedor}}", TxtRS.Text.Trim())) ListaTagsDocumentos.Add(New TagsDocumentos("{{Codigo}}", TxtCodigoE.Text.Trim())) ListaTagsDocumentos.Add(New TagsDocumentos("{{Fecha}}", TxtFechaE.Text)) ListaTagsDocumentos.Add(New TagsDocumentos("{{PS}}", TxtPS.Text.Trim())) Dim IndexP As Integer = 1 Dim IndexG As Integer = 1 For Each Row As GridViewRow In GvPreguntas.Rows If Row.RowType = DataControlRowType.DataRow Then If Row.DataKey("TipoDato") = "1" Then ListaTagsDocumentos.Add(New TagsDocumentos("{{G" & IndexG & "}}", Row.DataKey("Preguntas"))) IndexG += 1 End If If Row.DataKey("TipoDato") = "2" Then Dim Respuesta As Integer = Row.FCRadioButtonList("RblRespuesta").SelectedValue.ToEntero() ListaTagsDocumentos.Add(New TagsDocumentos("{{P" & IndexP & "}}", Row.DataKey("Preguntas"))) ListaTagsDocumentos.Add(New TagsDocumentos("{{R1" & IndexP & "}}", If(Respuesta = 1, "X", ""))) ListaTagsDocumentos.Add(New TagsDocumentos("{{R0" & IndexP & "}}", If(Respuesta = 0, "X", ""))) ListaTagsDocumentos.Add(New TagsDocumentos("{{RN" & IndexP & "}}", If(Respuesta = -1, "X", ""))) IndexP += 1 End If End If Next ListaTagsDocumentos.Add(New TagsDocumentos("{{Observaciones}}", TxtObsE.Text.Trim())) ListaTagsDocumentos.Add(New TagsDocumentos("{{Firma}}", TxtFirma.Text.Trim())) ListaTagsDocumentos.Add(New TagsDocumentos("{{Calificacion}}", TxtCalificacion.Text.Trim())) Return ListaTagsDocumentos End Function #End Region #Region " NOTIFICACION PAGO " Private Sub NotificacionPago(CveIE As Integer, CorreoNotificarA As String) Dim Param As New List(Of String) Param.Add(CorreoNotificarA) 'Para Param.Add("Notificaciones de pago") 'Asunto Param.Add(GeneraCorreo(CveIE)) 'Body Param.Add(CveIE.ToString) 'CveIE 'Param.Add(If(ComprobanteIE <> "", String.Format("{0}IE\{1}", UsuarioActual.Empresa.Ruta, ComprobanteIE), "")) 'Archivo Adjunto Dim Hilo As New Threading.Thread(AddressOf MandaCorreo) Hilo.Start(Param) End Sub Private Sub MandaCorreo(data As Object) Dim Parametros As List(Of String) = DirectCast(data, List(Of String)) Dim Mail As New ClsSisMail() Dim Para As String = If(Parametros(0) IsNot Nothing, Parametros(0), "") Dim Asunto As String = If(Parametros(1) IsNot Nothing, Parametros(1), "") Dim Body As String = If(Parametros(2) IsNot Nothing, Parametros(2), "") Dim CveIE As Integer = If(Parametros(3) IsNot Nothing, Parametros(3).ToEntero, 0) Dim ListaArchivos As New List(Of ClsSisMail.ArchivoMail) If Parametros(4) IsNot Nothing AndAlso Parametros(4) <> "" Then ListaArchivos.Add(New ClsSisMail.ArchivoMail With {.Ruta = Parametros(4).ToString}) End If If Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, Archivos:=ListaArchivos) Then Dim objIE As New ClsBancos objIE.UpdateBancos_IENotificaciones(1, "-1", "-1", CveIE) objIE.Dispose() TxtCC.Text = "" TxtBody.Text = "" RegistraScript("$('#ModalDivMail').modal('hide');") Alert("El correo se envió correctamente", TipoMensaje.MsgInformacion) End If End Sub Private Function GeneraCorreo(CveIE As Integer) As String Dim strBody As New StringBuilder Dim objIE As New ClsBancos If objIE.GetBancosIE(CveIE, UsuarioActual.CveEmpresa) Then strBody.Append(" ") strBody.Append(" ") strBody.Append(" ") strBody.Append(" ") strBody.Append(" ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat(" {0}", UsuarioActual.Empresa.Empresa) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", UsuarioActual.Empresa.Direccion) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", UsuarioActual.Empresa.Colonia) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", UsuarioActual.Empresa.Ciudad, UsuarioActual.Empresa.Estado, UsuarioActual.Empresa.CP) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", UsuarioActual.Empresa.RFC) strBody.AppendFormat(" ") strBody.AppendFormat("
    {0}
    Col. {0}
    {0}, {1}, C.P.{2}
    RFC {0}
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("


    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") If objIE.CveTipoTransaccion = 1 Then ' cuando es cheque strBody.Append(" ") strBody.Append(" ") strBody.Append(" ") End If If objIE.CveTipoTransaccion = 2 Then ' cuando es transf strBody.Append(" ") strBody.Append(" ") strBody.Append(" ") End If strBody.Append(" ") strBody.AppendFormat(" ") strBody.Append(" ") strBody.Append("
    Favor de pasar a nuestras oficinas por el cheque con la siguientes instrucciones.
    Notificación de transferencia de pago realizada.
     
    ") strBody.AppendFormat("
    ") strBody.Append("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat(" Beneficiario:{0} ", objIE.PagueseA) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.TipoTransaccion) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.Banco) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.NumCuenta) strBody.AppendFormat(" ") If objIE.CuentaDepositado.ToString <> "" Then strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.CuentaDepositado) strBody.AppendFormat(" ") End If strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.FechaDocumento.ToString("dd/MM/yyyy")) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.Importe.FormatoNumero, objIE.Moneda) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ", objIE.Observaciones) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat("
    Movimiento:{0}
    Banco:{0}
    Cuenta:{0}
    Cuenta Destino:{0}
    Fecha:{0}
    Importe:$ {0} {1}
    Observaciones:{0}
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") 'MOVIMIENTOS CHEQUE If objIE.GetBancosIEMovimientos(CveIE, UsuarioActual.CveEmpresa) Then Dim Textov33 As String = "" If UsuarioActual.Empresa.Funcionalidad(520) = "1" Then Textov33 = "Favor de emitir complemento de pago de los siguientes documentos" End If strBody.AppendFormat("
    ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat(" Documentos abonados o pagados
    {0}
    ", Textov33) strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") For Each dr As DataRow In objIE.DtResultados.FiltraParametros("CveConceptoContable IN (17) AND CveCompra > 0").Rows strBody.AppendFormat(" ") strBody.AppendFormat(" ", dr("Fecha").ToString.ToDate.ToShortDateString()) strBody.AppendFormat(" ", dr("SerieFolio").ToString) strBody.AppendFormat(" ", dr("Importe").ToString.FormatoNumero) strBody.AppendFormat(" ", dr("FolioFiscal")) strBody.AppendFormat(" ", dr("ImporteNC").ToString.FormatoNumero) strBody.AppendFormat(" ") Next strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat(" ") strBody.AppendFormat("
    FechaFacturaImporte ($)Folio FiscalNC Aplicadas
    {0}{0}$ {0}{0}{0}
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") strBody.AppendFormat("
    ") End If strBody.Append("
    Favor de no responder a este correo.
    ") strBody.Append("") End If objIE.Dispose() Return strBody.ToString End Function Private Sub BtnSendMail_Click(sender As Object, e As EventArgs) Handles BtnSendMail.Click 'NotificacionPago(HdnCveIE.Value.ToEntero, Txt) Dim ObjMail As New ClsSisMail() Dim Body = GeneraCorreo(HdnCveIE.Value.ToEntero) Dim ListaArchivos As New List(Of ClsSisMail.ArchivoMail) Dim ObjIE As New ClsBancos() Dim ComprobanteIE As String If ObjIE.GetBancosIE(HdnCveIE.Value.ToEntero, UsuarioActual.CveEmpresa) Then If ObjIE.DtResultados.Rows.Count > 0 Then If ObjIE.Comprobante <> "" Then ComprobanteIE = String.Format("{0}IE\{1}", UsuarioActual.Empresa.Ruta, ObjIE.Comprobante.ToString) If IO.File.Exists(ComprobanteIE) Then ListaArchivos.Add(New ClsSisMail.ArchivoMail With {.Ruta = ComprobanteIE.ToString}) End If End If End If End If ObjIE.Dispose() If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, "Notificaciones de pago", Body, TxtCC.Text.Trim, Displayname:="Notificaciones de pago", Archivos:=ListaArchivos) Then 'ResultadoMail = 1 TxtCC.Text = "" TxtBody.Text = "" RegistraScript("$('#ModalDivMail').modal('hide');") Alert("El correo se envió correctamente", TipoMensaje.MsgInformacion) Else Alert("No se pudo enviar el correo electrónico.", TipoMensaje.MsgError) End If End Sub #End Region Protected Sub DdlCveTipoProveedor_SelectedIndexChanged(sender As Object, e As EventArgs) If UsuarioActual.Empresa.Funcionalidad(544).ToString = "1" Then TxtCodigo.Enabled = True TxtCodigo.Text = "" Select Case DdlCveTipoProveedor.SelectedValue Case "1" GetFolioAut("Pro") Case "2" GetFolioAut("Acr") Case "3" GetFolioAut("Amb") End Select End If End Sub Private Sub GetFolioAut(TipoProv As String) Dim ObjSub As New ClsSubProyectos Dim ObjFolios As New ClsGralFolios() Dim CveSubProyectoMatriz As Integer If ObjSub.GetSubProyectos(UsuarioActual.CveEmpresa) Then CveSubProyectoMatriz = ObjSub.DtResultados.FiltroPrimeroValor("CveSubProyecto", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND TipoSucursal = 1").ToEntero End If If ObjFolios.GetFolios(TipoProv, UsuarioActual.CveEmpresa) Then Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoMatriz} And Estado = 'Activo'") If DT.Rows.Count > 0 Then TxtCodigo.Text = DT.Rows(0)("FActual").ToString TxtCodigo.Enabled = False Else Alert("No tiene registrados Folios Automáticos.", TipoMensaje.MsgAdvertencia) End If End If ObjSub.Dispose() ObjFolios.Dispose() End Sub Protected Sub LblB_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) Dim CveCompra As Integer = GvRow.DataKey("CveCompra").ToEntero() RegistraScript(String.Format("$('#{0}').modal('show');", "DivProgramado")) CargaGVProgramado(CveCompra) End Sub Private Sub CargaGVProgramado(CveCompra As Integer) Dim ObjComp As New ClsCompras If ObjComp.GetCxPProgramado(CveCompra, UsuarioActual.CveEmpresa) Then GVProgramado.DataSource = ObjComp.DtResultados Else GVProgramado.DataSource = Nothing End If GVProgramado.DataBind() ObjComp.Dispose() UpProgramado.Update() End Sub Protected Sub LnkExportCuentas_Click(sender As Object, e As EventArgs) GvBancosCuentas.ExportToExcelG("CuentasBancarias", "Cuentas Bancarias", UsuarioActual, $"Proveedor: {LtlProveedor.Text}") End Sub Public Overrides Sub VerifyRenderingInServerForm(control As Control) 'MyBase.VerifyRenderingInServerForm(control) End Sub #Region "P R O V E D O R E S G R I D S I M P R I M I R P D F/Excel" Private Sub LnkExportarPagos_Click(sender As Object, e As EventArgs) Handles LnkPagosProveedoresBancosExcel.Click ImprimeGridsProveedores("Excel", DTCobrosRealizados, "RepProveedoresPagosBancos") End Sub Private Sub LinkPDFPagos_Click(sender As Object, e As EventArgs) Handles LnkPagosProveedoresBancosPDF.Click ImprimeGridsProveedores("PDF", DTCobrosRealizados, "RepProveedoresPagosBancos") End Sub Private Sub LnkCtasBancariass_Click(sender As Object, e As EventArgs) Handles LnkCtasBancariasExcel.Click ImprimeGridsProveedores("Excel", DTCuentasBancos, "RepProveedoresCtasBancarias") End Sub Private Sub LinkCtasBancarias_Click(sender As Object, e As EventArgs) Handles LnkCtasBancariasPDF.Click ImprimeGridsProveedores("PDF", DTCuentasBancos, "RepProveedoresCtasBancarias") End Sub Private Sub LnkExportarHistorialCompras_Click(sender As Object, e As EventArgs) Handles LnkHistorialComprasExcel.Click ImprimeGridsProveedores("Excel", DtProveedoresHistorial, "RepProveedoresHistorialCompras") End Sub Private Sub LinkPDFHistorialCompras_Click(sender As Object, e As EventArgs) Handles LnkHistorialComprasPDF.Click ImprimeGridsProveedores("PDF", DtProveedoresHistorial, "RepProveedoresHistorialCompras") End Sub Private Sub LnkCxPActivas_Click(sender As Object, e As EventArgs) Handles LnkCxPActivasExcel.Click ImprimeGridsProveedores("Excel", DTCxP, "RepProveedoresCxPActivas") End Sub Private Sub LinkCxPActivas_Click(sender As Object, e As EventArgs) Handles LnkCxPActivasPDF.Click ImprimeGridsProveedores("PDF", DTCxP, "RepProveedoresCxPActivas") End Sub Private Sub LnkComprasPagadas_Click(sender As Object, e As EventArgs) Handles LnkHistorialComprasPagadasExcel.Click ImprimeGridsProveedores("Excel", DtCxPHistorial, "RepProveedoresComprasPagadas") End Sub Private Sub LinkComprasPagadas_Click(sender As Object, e As EventArgs) Handles LnkHistorialComprasPagadasPDF.Click ImprimeGridsProveedores("PDF", DtCxPHistorial, "RepProveedoresComprasPagadas") End Sub Private Sub LnkNCxAplicar_Click(sender As Object, e As EventArgs) Handles LnkNCxAplicarExcel.Click ImprimeGridsProveedores("Excel", DtAntNC, "RepProveedoresNCxAplicar") End Sub Private Sub LinkNCxAplicar_Click(sender As Object, e As EventArgs) Handles LnkNCxAplicarPDF.Click ImprimeGridsProveedores("PDF", DtAntNC, "RepProveedoresNCxAplicar") End Sub Private Sub LnkNCxAplicarHistorial_Click(sender As Object, e As EventArgs) Handles LnkNCxAplicarHistorialExcel.Click ImprimeGridsProveedores("Excel", DtAntNCH, "RepProveedoresNCxAplicar") End Sub Private Sub LinkNCxAplicarHistorial_Click(sender As Object, e As EventArgs) Handles LnkNCxAplicarHistorialPDF.Click ImprimeGridsProveedores("PDF", DtAntNCH, "RepProveedoresNCxAplicar") End Sub Private Sub ImprimeGridsProveedores(Formato As String, DtTemp As DataTable, NombreFormato As String) If DtTemp IsNot Nothing And DtTemp.Rows.Count > 0 Then Dim params As New List(Of ReportParameter) Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("AgrupadoPor", "Proveedor: " & LtlProveedor.Text)) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas\Grales\Formatos\" & NombreFormato & ".rdlc", DtTemp, params, NombreFormato & "_" & Now.ToString("yyyyMMddhhmmss"), Formato:=Formato) Else Alert("No se encontró información.", TipoMensaje.MsgAdvertencia) End If End Sub #End Region Protected Sub ChkPagoElectronicoGrupos_CheckedChanged(sender As Object, e As EventArgs) If ChkPagoElectronicoGrupos.Checked Then DVDdlSatBanco.Visible = True Else DVDdlSatBanco.Visible = False End If UpAddBancos.Update() End Sub Protected Sub ChkPagoElectronico_CheckedChanged(sender As Object, e As EventArgs) If ChkPagoElectronico.Checked Then Alert("Se está activando manualmente el pago por Layout BBVA. Recuerde que la alta se realiza directo en la platoforma", TipoMensaje.MsgAdvertencia) End If End Sub Private Sub CargarPagosNoBancarios() Dim ObjBancos As New ClsBancos If ObjBancos.GetPagosNoBancarios(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor) Then GvPagosNoBancarios.DataSource = ObjBancos.DtResultados GvPagosNoBancarios.DataBind() End If ObjBancos.Dispose() End Sub End Class