Files
SIG/Compras/Proveedores.aspx.vb

6156 lines
308 KiB
VB.net

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()
'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()
CargaOC()
CargaDocs()
'CargaColectivas()
'CargaSaldosBeneficiarios()
CargaUsuariosPortal()
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 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.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.UsaContabilidadSIG 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)
XMLDoc.Load(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & dr("CveEmpresa").ToString & "\Compras\" & dr("RFCDe").ToString & "\" & dr("XML").ToString)
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
If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
namespaces.AddNamespace(Prefijo, cfdVer)
Dim Version As String = ValorXml(nodo, "Version")
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" Then
TxtRazonSocial.Text = HttpUtility.HtmlDecode(ValorXml(node, "Nombre"))
TxtNombreComercial.Text = HttpUtility.HtmlDecode(ValorXml(node, "Nombre"))
ChkEstado.Checked = True
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()
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)
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
'Contable
If UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaContabilidadSIG 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);")
If UsuarioActual.Empresa.UsaContabilidadSIG = True And UsuarioActual.Empresa.UsaContabilidad = False Then
DdlCtaContAcreedores.DataTextField = "Cuenta" : DdlCtaContAcreedores.DataValueField = "CveCuenta"
DdlCtaContProveedores.DataTextField = "Cuenta" : DdlCtaContProveedores.DataValueField = "CveCuenta"
DdlCtaContAnticipos.DataTextField = "Cuenta" : DdlCtaContAnticipos.DataValueField = "CveCuenta"
DdlCtaContFondoGarantia.DataTextField = "Cuenta" : DdlCtaContFondoGarantia.DataValueField = "CveCuenta"
DdlCtaContRetIVA.DataTextField = "Cuenta" : DdlCtaContRetIVA.DataValueField = "CveCuenta"
DdlCtaContRetIVAAcreditable.DataTextField = "Cuenta" : DdlCtaContRetIVAAcreditable.DataValueField = "CveCuenta"
DdlCtaContRetISR.DataTextField = "Cuenta" : DdlCtaContRetISR.DataValueField = "CveCuenta"
DdlCtaContComplementaria.DataTextField = "Cuenta" : DdlCtaContComplementaria.DataValueField = "CveCuenta"
DdlCtaContExtranjera.DataTextField = "Cuenta" : DdlCtaContExtranjera.DataValueField = "CveCuenta"
DdlCtaContDeudor.DataTextField = "Cuenta" : DdlCtaContDeudor.DataValueField = "CveCuenta"
DdlCtaContDeudorExtranjera.DataTextField = "Cuenta" : DdlCtaContDeudorExtranjera.DataValueField = "CveCuenta"
DdlCtaContDocsXPagar.DataTextField = "Cuenta" : DdlCtaContDocsXPagar.DataValueField = "CveCuenta"
DdlCtaContDeudorComplementaria.DataTextField = "Cuenta" : DdlCtaContDeudorComplementaria.DataValueField = "CveCuenta"
DdlCtaContDocsXPagarComplementaria.DataTextField = "Cuenta" : DdlCtaContDocsXPagarComplementaria.DataValueField = "CveCuenta"
DdlCtaContRetISRAcreditable.DataTextField = "Cuenta" : DdlCtaContRetISRAcreditable.DataValueField = "CveCuenta"
DdlCtaContAcreedoresExtranjera.DataTextField = "Cuenta" : DdlCtaContAcreedoresExtranjera.DataValueField = "CveCuenta"
DdlCtaContAcreedoresComplementaria.DataTextField = "Cuenta" : DdlCtaContAcreedoresComplementaria.DataValueField = "CveCuenta"
DdlCtaContAnticiposExtranjera.DataTextField = "Cuenta" : DdlCtaContAnticiposExtranjera.DataValueField = "CveCuenta"
DdlCtaContAnticiposComplementaria.DataTextField = "Cuenta" : DdlCtaContAnticiposComplementaria.DataValueField = "CveCuenta"
DdlCtaContDocsXPagarExtranjera.DataTextField = "Cuenta" : DdlCtaContDocsXPagarExtranjera.DataValueField = "CveCuenta"
End If
'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 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
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 <i class='m-icon-swapright m-icon-white'></i>" Then
CargaHistorial(RBSucursal.SelectedValue.ToString.ToEntero, -1)
BtnVerMasCompras.Text = "Ver Menos"
Else
CargaHistorial(RBSucursal.SelectedValue.ToString.ToEntero, 21)
BtnVerMasCompras.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
End If
End Sub
Protected Sub BtnVerMasBancos_Click(sender As Object, e As EventArgs)
If BtnVerMasBancos.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>" Then
CargaBancos(RBSucursal.SelectedValue.ToString.ToEntero, -1)
BtnVerMasBancos.Text = "Ver Menos"
Else
CargaBancos(RBSucursal.SelectedValue.ToString.ToEntero, 11)
BtnVerMasBancos.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
End If
End Sub
Protected Sub BtnVerMasAnticipos_Click(sender As Object, e As EventArgs)
If BtnVerMasAnticipos.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>" Then
CargaAnticipos(RBSucursal.SelectedValue.ToString.ToEntero, -1)
BtnVerMasAnticipos.Text = "Ver Menos"
Else
CargaAnticipos(RBSucursal.SelectedValue.ToString.ToEntero, 21)
BtnVerMasAnticipos.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
End If
End Sub
Protected Sub BtnVerMasComprasPagadas_Click(sender As Object, e As EventArgs)
If BtnVerMasComprasPagadas.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>" Then
CargaCxP(RBSucursal.SelectedValue.ToString.ToEntero, 1)
BtnVerMasComprasPagadas.Text = "Ver Menos"
Else
CargaCxP(RBSucursal.SelectedValue.ToString.ToEntero, -1)
BtnVerMasComprasPagadas.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
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("<a class=""Texto"" href=""/Compras/Compras.aspx?CveCompra={0}"">", e.Row.DBCampo("CveCompra"))
If e.Row.DBCampo("CveCompra").ToEntero > 0 Then e.Row.FCLabel("LtlFactura").Text = String.Format("<a class=""Texto"" href=""/Compras/Compras.aspx?CveCompra={0}"">{1}</a>", e.Row.DBCampo("CveCompra"), e.Row.DBCampo("SerieFolio") & "</a>")
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 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 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)
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 = GlobalDTPais()
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.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()) 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, CveProveedor:=NuevoCveProveedor, Correo:=row("Correo").ToString) 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. " & "<br />" & 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.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()) 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.<br><br> {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("<style> .mailbody{ background-color:#EEF1F5; padding:15px; font-family :'Open Sans', sans-serif; } .mailcontent{ background-color:#fff; font-size: 14px; color: #333; padding:0px 15px ; } .mailtitle{padding:8px;color:#32C5D2; font-size: 18px;font-weight: 700!important;border-bottom:2px solid #EEF1F5;text-transform: uppercase;}.marco{border: 1px solid #869ab3;border-top: 0;background-color: #67809F; margin: 10px 15px 25px 15px;color: #fff;}.marco-title{padding: 10px 10px;text-transform: uppercase;font-weight: 700!important;}.marco-body{color:#333;background-color:#fff;}.nota{background: #E5E5E5;padding:15px;color:#333;} .logo { font-size:12px; font-style:italic; text-align:right; } .col1{width:180px;font-weight: 700!important;display:inline-block;} .col2{min-width:260px;display:inline-block;} </style>")
'incio Cuerpo del correo
SBBody.Append("<div Class='mailbody'>")
SBBody.Append("<div Class='mailcontent'>")
SBBody.Append("<div Class='mailtitle'>")
SBBody.Append("ALTA DE CUENTA")
SBBody.Append("</div>")
SBBody.Append("<br/>")
SBBody.AppendFormat("<b> Estimado {0}:</b><br/>", 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: <b>{0}</b><br/><br/>", UsuarioActual.Empresa.Empresa)
SBBody.Append("<div Class='marco'>")
SBBody.Append("<div Class='marco-title'>Datos de usuario</div>")
SBBody.Append("<div Class='marco-body'>")
SBBody.Append("<div>")
SBBody.Append("<div>")
SBBody.Append("<div class='col1'> Usuario</div>")
SBBody.AppendFormat("<div class='col2'>{0}</div>", Para)
SBBody.Append("</div>")
SBBody.Append("<div>")
SBBody.Append("<div class='col1'> Accesé al sistema dando click a la liga y estableciendo su contraseña</div>")
SBBody.AppendFormat("<div class='col2'><a href='{0}'target='_blank'>Activar</a></div>", LigaActivar)
SBBody.Append("</div>")
SBBody.Append("</div>")
SBBody.Append("</div>")
SBBody.Append("<br/>")
SBBody.Append("Para Activar su cuenta debera cambiar su contraseña.<br/><br/>")
SBBody.Append("<div class='col1'> Dirección de Acceso</div>")
SBBody.AppendFormat("<div class='col2'><a href='{0}'target='_blank'>Portal del Cliente</a></div>", Liga)
SBBody.Append("</div>")
SBBody.Append("<br/>")
SBBody.Append("<div Class='nota'>")
SBBody.Append("Nota Favor de NO responder este correo. ")
SBBody.Append("</div><br/><br/>")
SBBody.AppendFormat("<div class='logo'><img src='{0}Imagenes/LogoSinFondo.png' style='width:30px;'/>ADSistemas </div>", UrlSitio)
SBBody.Append("</div>")
SBBody.Append("</div>")
'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}<br/>", 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: <b>{Para}</b>."
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("<br/>Ya existe una Sucursal con el nombre: <b>{0}</b> 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()
Me.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("<a class=""LinkBlanco"" href=""{0}"">", URL)
' e.Row.VerticalAlign = VerticalAlign.Middle
' 'e.Row.FCLiteral("LtlSucursal").Text = String.Format("{0}{1}</a>", Liga, e.Row.FCLiteral("LtlSucursal").Text)
' e.Row.FCLiteral("LtlSerie").Text = String.Format("{0}{1}</a>", 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ó:</br> {GvRow.DataKey("Usuario")}"
LblFechaSucursal.Text = $"Fecha de Registro:</br> {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()
Me.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()
Me.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" & "&nbsp;"
'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
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(7).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(8).HorizontalAlign = HorizontalAlign.Right
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("<a class=""Texto"" href=""/Compras/Compras.aspx?CveCompra={0}"">", e.Row.DBCampo("CveCompra"))
If e.Row.DBCampo("CveCompra").ToEntero > 0 Then
e.Row.FCLabel("LtlFactura").Text = String.Format("<a class=""Texto"" href=""/Compras/Compras.aspx?CveCompra={0}"">{1}</a>", 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("<a class=""Texto thickbox"" href=""/Contabilidad/PopUpAuxiliar.aspx?Tipo=CxPProveedor&CveProveedor={0}&CveCompra={1}&TB_iframe=true&height=370&width=900"" />Ir</a>", 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("Empresas\{0}\OI", UsuarioActual.CveEmpresa))
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(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CveDocumentacionElectronica & "." & extencion)
Else
ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CveDocumentacionElectronica)
End If
Else
ImgDownLoad.Visible = False
End If
Else
ImgDownLoad.Visible = False
End If
If requerido Then
ImgRequired.Text = " <a class='btn btn-circle btn-sm yelow' href='#' data-toggle='tooltip' title=' Requerido!' ><i class='fa fa-asterisk '></i></a>"
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 = "<a class=""Texto"" href=""/General/ColectivasDetalle.aspx?CveColectiva=" & e.Row.DBCampo("CveColectiva") & """>" & e.Row.FCLiteral("LtlColectiva").Text & "</a>"
' e.Row.FCLiteral("LtlSaldo").Text = "<a class=""Texto"" href=""/General/ColectivasDetalle.aspx?CveColectiva=" & e.Row.DBCampo("CveColectiva") & """>" & e.Row.FCLiteral("LtlSaldo").Text & "</a>"
' 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()
Dim ObjCuentasBancos As New ClsGenerales
ViewState("OrdenCuentasBancos") = ""
DTCuentasBancos = New DataTable
TempDTCuentasBancos = New DataTable
If ObjCuentasBancos.GetCuentasDepositos(CveProveedor) Then
DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados)
Else
Alert("No se pudieron cargar las cuentas bancarias. Por favor intente nuevamente.", TipoMensaje.MsgAdvertencia)
End If
If CveProveedor < 0 Then
'Alert("No hay proveedor", TipoMensaje.MsgInformacion)
TempDTCuentasBancos = DTCuentasBancos.Clone
'Esconde columna estatus
'THEstatus.Visible = False
'THEstatusTexto.Visible = False
'GvBancosCuentas.Columns(11).Visible = False 'Es la columna estatus CheckBox
'Mexicanada para acomadar las columnas'
'TDEstatusLayout.Visible = False
'TDEstatusTexto.Visible = False
End If
ObjCuentasBancos.Dispose()
CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString)
RecargaGlobalCuentasBancarias()
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
''COMENTADO PARA PERMITIR ENTRADA DE UNA CUENTA A PROVEEDOR, 22 DE SEPTIEMBRE, ISRAEL PIÑA
'If EsBancomer AndAlso (TxtCLABE.Text.Length = 18 AndAlso Not TxtCLABE.Text.Substring(0, 3) = "012") Then
' Alert("La CLABE ingresada no pertenece a BANCOMER.", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
''CLABE SIEMPRE OBLIGATORIA CUANDO NO ES BANCOMER CON CIE
'If (TxtCLABE.Text.Trim.Length <> 18 And Not EsBancomer) Or (EsBancomer And TxtConvenioCIE.Text.Trim.Length <> 6 And TxtCLABE.Text.Trim.Length <> 18) 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
'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
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)
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)
Dim ObjCuentasBancos As New ClsGenerales
If Modalidad = "A" Then
If CveProveedor > 0 Then
If ObjCuentasBancos.AddCuentasDepositos(NombreBanco, Plaza, NumeroSucursal, NumeroCuenta, CLABE, ConvenioCIE, SWIFT, Referencia, RefCrediProveedor, UsuarioActual.CveUsuario, CveMoneda, CveProveedor:=CveProveedor, Correo:=Correo) 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"))
Else
Alert("Error al registrar la cuenta bancaria. Por favor intente nuevamente", TipoMensaje.MsgError)
End If
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") = 0
Row("Estatus") = "True"
Row("Correo") = Correo
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
If ObjCuentasBancos.UpdateCuentasDepositos(GvBancosCuentas.DataKeys(CveCuentaBancaria)("CveCuentaDeposito").ToString.ToEntero, NombreBanco, Plaza, NumeroSucursal, NumeroCuenta, CLABE, ConvenioCIE, SWIFT, Referencia, RefCrediProveedor, False, Estatus, CveMoneda, Correo:=Correo) 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"))
Else
Alert("Error al actualizar la cuenta bancaria. Por favor intente nuevamente.", TipoMensaje.MsgError)
End If
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("Estatus") = Estatus
Row("Correo") = Correo
TempDTCuentasBancos.AcceptChanges()
Alert("Cuenta actualizada con éxito.", TipoMensaje.MsgInformacion)
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddCuentasBancarias"))
End If
End If
ObjCuentasBancos.Dispose()
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 = ""
TxtRefCrediProveedor.Text = ""
TxtCorreoCuenta.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
''Protected Sub GvBancosCuentas_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvBancosCuentas.RowEditing
'' Dim id As Integer = e.NewEditIndex
'' GvBancosCuentas.EditIndex = id
'' CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString)
'' 'Dim x As String = GvBancosCuentas.SelectedRowStyle("EstatusPagoElectronico")
'' 'If CBool(e.Row.DBCampo("EstatusPagoElectronico")) AndAlso e.Row.DBCampo("Referencia").ToString <> "" Then
'' 'End If
''End Sub
'Protected Sub GvBancosCuentas_RowCancelingEdit(sender As Object, e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvBancosCuentas.RowCancelingEdit
' GvBancosCuentas.EditIndex = -1
' CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString)
'End Sub
'Protected Sub GvBancosCuentas_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvBancosCuentas.RowUpdating
' Dim NombreBanco = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtNombreBanco").Text.Trim
' Dim NumeroSucursal = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtNumeroSucursal").Text.Trim
' Dim CLABE = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtCLABE").Text.Trim
' Dim SWIFT = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtSWIFT").Text.Trim
' Dim Plaza = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtPlaza").Text.Trim
' Dim NumeroCuenta = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtNumeroCuenta").Text.Trim
' Dim ConvenioCIE = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtConvenioCIE").Text.Trim
' Dim Referencia = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtReferencia").Text.Trim
' Dim RefCrediProveedor = GvBancosCuentas.Rows(e.RowIndex).FCTextBox("TxtRefCrediProveedor").Text.Trim
' Dim CveMoneda = GvBancosCuentas.Rows(e.RowIndex).FCDropDownList("DdlMoneda").SelectedValue.ToString.ToEntero
' Dim Moneda = GvBancosCuentas.Rows(e.RowIndex).FCDropDownList("DdlMoneda").SelectedItem.Text
' Dim Estatus = GvBancosCuentas.Rows(e.RowIndex).FCCheckBox("ChkEstatus").Checked
' Dim EsBancomer = False
' If NombreBanco.ToUpper.Contains("BBVA") Or NombreBanco.ToUpper.Contains("BANCOMER") Or (CLABE.Length = 18 AndAlso CLABE.Substring(0, 3) = "012") Then
' EsBancomer = True
' End If
' ''COMENTADO PARA PERMITIR ENTRADA DE UNA CUENTA A PROVEEDOR, 22 DE SEPTIEMBRE, ISRAEL PIÑA
' 'If EsBancomer AndAlso (CLABE.Length <> 18 AndAlso Not CLABE.Substring(0, 3) = "012") Then
' ' Alert("La CLABE ingresada no pertenece a BANCOMER.", TipoMensaje.MsgAdvertencia)
' ' Exit Sub
' 'End If
' ''CLABE SIEMPRE OBLIGATORIA CUANDO NO ES BANCOMER CON CIE
' 'If (CLABE.Trim.Length <> 18 And Not EsBancomer) Or (EsBancomer And ConvenioCIE.Trim.Length <> 6 And CLABE.Trim.Length <> 18) 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
' 'QUE TENGA ALGUN DATO DE TIPO DE CUENTA
' If NumeroCuenta.Length = 0 AndAlso CLABE.Length = 0 AndAlso SWIFT.Length = 0 AndAlso ConvenioCIE.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 CLABE.Trim.Length <> 0 AndAlso CLABE.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
' If UsuarioActual.CveEmpresa = 66 Then
' 'CLABE SIEMPRE OBLIGATORIA SI NO ES BANCOMER
' If CLABE.Trim.Length <> 18 And CLABE.Trim.Length = 0 And Not EsBancomer And SWIFT.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 NumeroCuenta.Trim.Length <> 0 AndAlso NumeroCuenta.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 ConvenioCIE.Trim.Length <> 0 And Referencia.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 (NumeroCuenta.Trim.Length = 10 Or ConvenioCIE.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 ConvenioCIE.Trim.Length <> 0 And ConvenioCIE.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
' Dim ObjCuentasBancos As New ClsGenerales
' If CveProveedor > 0 Then
' If ObjCuentasBancos.UpdateCuentasDepositos(GvBancosCuentas.DataKeys(e.RowIndex)("CveCuentaDeposito").ToString.ToEntero, NombreBanco, Plaza, NumeroSucursal, NumeroCuenta, CLABE, ConvenioCIE, SWIFT, Referencia, RefCrediProveedor, False, Estatus, CveMoneda) Then
' DTCuentasBancos.Clear()
' DTCuentasBancos.Merge(ObjCuentasBancos.DtResultados.FiltraParametros(String.Format("CveProveedor = {0}", CveProveedor)))
' Alert("Cuenta actualizada con éxito.", TipoMensaje.MsgInformacion)
' Else
' Alert("Error al actualizar la cuenta bancaria. Por favor intente nuevamente.", TipoMensaje.MsgError)
' End If
' Else
' Dim index = GvBancosCuentas.Rows(e.RowIndex).DataKey("CveCuentaDeposito").ToString.ToEntero - 1
' 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("Estatus") = Estatus
' TempDTCuentasBancos.AcceptChanges()
' End If
' ObjCuentasBancos.Dispose()
' GvBancosCuentas.EditIndex = -1
' CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString)
' RecargaGlobalCuentasBancarias()
'End Sub
'Protected Sub GvBancosCuentas_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvBancosCuentas.RowDeleting
' Dim ObjCuentasBancos As New ClsGenerales
' If CveProveedor > 0 Then
' If ObjCuentasBancos.RemoveCuentasDepositos(GvBancosCuentas.DataKeys(e.RowIndex)("CveCuentaDeposito").ToString.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 = GvBancosCuentas.Rows(e.RowIndex).DataKey("CveCuentaDeposito").ToString.ToEntero - 1
' TempDTCuentasBancos.Rows.RemoveAt(index)
' End If
' If ObjCuentasBancos.GetCuentasDepositos Then
' GlobalDTProveedoresCuentas(CveProveedor, True) = ObjCuentasBancos.DtResultados
' End If
' CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString)
' ObjCuentasBancos.Dispose()
' RecargaGlobalCuentasBancarias()
'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
If ObjCuentasBancos.GetCuentasDepositos Then
GlobalDTProveedoresCuentas(CveProveedor, True) = ObjCuentasBancos.DtResultados
End If
CargaPSGridCuentasBancos(ViewState("OrdenCuentasBancos").ToString)
ObjCuentasBancos.Dispose()
RecargaGlobalCuentasBancarias()
End Sub
Private Sub RecargaGlobalCuentasBancarias(Optional ByVal CveCuenta As Integer = -1)
If CveProveedor > 0 Then
Dim ObjCuentasBancos As New ClsGenerales
If ObjCuentasBancos.GetCuentasDepositos() Then
GlobalDTProveedoresCuentas(-1, True) = ObjCuentasBancos.DtResultados
End If
ObjCuentasBancos.Dispose()
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 <i class='m-icon-swapright m-icon-white'></i>"
BtnVerMasBancos.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
BtnVerMasAnticipos.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
BtnVerMasComprasPagadas.Text = "Ver Más <i class='m-icon-swapright m-icon-white'></i>"
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 Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
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))
Dim params As New List(Of ReportParameter)
If Imagen.Exists Then
lista.Add(New CrystalParametro("LogoPath", logouri))
Else
lista.Add(New CrystalParametro("LogoPath", ""))
End If
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(Server.MapPath("~/Empresas/Grales/Formatos/RepProveedorCxP.rpt"), 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", AppDomain.CurrentDomain.BaseDirectory), 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("<li><a class=""Texto"" target='_blank' href=""/Empresas/{0}/PDF/CxP-{1}.pdf?{2}"">Reporte</a></li>", UsuarioActual.CveEmpresa, CveProveedor, Now.Ticks)
' ' Dim Msg As String = String.Format("<br />El Documento se generó correctamente.<br /><br /><br />Descargas:<ul>{0}</ul>", 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", AppDomain.CurrentDomain.BaseDirectory), 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("<li><a class=""Texto"" target='_blank' href=""/Empresas/{0}/PDF/Anticipos-{1}.pdf?{2}"">Reporte</a></li>", UsuarioActual.CveEmpresa, CveProveedor, Now.Ticks)
' ' Dim Msg As String = String.Format("<br />El Documento se generó correctamente.<br /><br /><br />Descargas:<ul>{0}</ul>", 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(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
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 = $"&emsp;<b>Fecha Inicio:</b>&nbsp;{TxtFechaInicioCXP.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b>&nbsp;{TxtFechaFinCXP.Text}"
If TxtFechaInicioCXP.Text = "" Then FechaIn = ""
If TxtFechaFinCXP.Text = "" Then FechaFn = ""
Dim FechVI As String = $"&emsp;<b>Fecha Venc. Inic.:</b>&nbsp;{txtFechaVI.Text}"
Dim FechVF As String = $"&emsp;<b>Fecha Venc. Final:</b>&nbsp;{txtFechaVF.Text}"
If txtFechaVI.Text = "" Then FechVI = ""
If txtFechaVF.Text = "" Then FechVF = ""
Dim Proveedor As String = $"&emsp;<b>Proveedor:</b>&nbsp;{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", $"<b>Agrupado Por:</b>&nbsp;{Proveedor}{FechaIn}{FechaFn}{FechVI}{FechVF}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
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))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
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.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.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
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
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 = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Tipo As String = If(file.Extencion.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 <br/>" & 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(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
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))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
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 = AppDomain.CurrentDomain.BaseDirectory & "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 = ""
TxtRefCrediProveedor.Text = ""
DdlMoneda.SelectedIndex = 0
TxtCorreoCuenta.Text = ""
ChkEstatus.Checked = True
divestatus.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")
TxtRefCrediProveedor.Text = GvRow.DataKey("RefCrediProveedor")
TxtCorreoCuenta.Text = GvRow.DataKey("Correo")
DdlMoneda.SelectedValueExist(GvRow.DataKey("CveMoneda"))
ChkEstatus.Checked = CBool(GvRow.DataKey("Estatus"))
divestatus.Visible = True
UpAddBancos.Update()
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()
Me.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()
Me.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()
Me.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()
Me.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
Me.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()
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) 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\" & 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\" & 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("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
strBody.Append("<head> ")
strBody.Append(" <style type=""text/css""> ")
strBody.Append(" body ")
strBody.Append(" { ")
strBody.Append(" margin:0px; ")
strBody.Append(" padding:0px 0px 0px 0px; ")
strBody.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
strBody.Append(" font-size: 10px; ")
strBody.Append(" background-color:#F0F0F0; ")
strBody.Append(" } ")
strBody.Append(" a.Texto ")
strBody.Append(" { ")
strBody.Append(" font-size:11px; ")
strBody.Append(" background-color:#F7F6F3; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" } ")
strBody.Append(" .Texto ")
strBody.Append(" { ")
strBody.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:center; vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .TextoAlterno ")
strBody.Append(" { ")
strBody.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:center; ")
strBody.Append(" vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .BarraIdentidad ")
strBody.Append(" { ")
strBody.Append(" color:#FFFFFF; ")
strBody.Append(" background:#F0F0F0; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" font-size:19px; ")
strBody.Append(" font-style:oblique; ")
strBody.Append(" } ")
strBody.Append(" .Titulos ")
strBody.Append(" { ")
strBody.Append(" background-color: Gray;")
strBody.Append(" color:White; ")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Verde {color: #00CC00;} ")
strBody.Append(" .Negro {color: #000000;} ")
strBody.Append(" .Rojo {color: #FF0000;} ")
strBody.Append(" </style> ")
strBody.Append("</head> ")
strBody.Append("<body> ")
strBody.AppendFormat("<div id='C_div' style='width: 600px'>")
strBody.AppendFormat(" <fieldset>")
strBody.AppendFormat(" <legend><b>{0}</b></legend>", UsuarioActual.Empresa.Empresa)
strBody.AppendFormat(" <table class='TextoG' border='0' cellpadding='0' cellspacing='0' width='100%'>")
strBody.AppendFormat(" <tr>")
strBody.AppendFormat(" <td style='width:100px'>{0}</td>", UsuarioActual.Empresa.Direccion)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr>")
strBody.AppendFormat(" <td>Col. {0}</td>", UsuarioActual.Empresa.Colonia)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr>")
strBody.AppendFormat(" <td>{0}, {1}, C.P.{2}</td>", UsuarioActual.Empresa.Ciudad, UsuarioActual.Empresa.Estado, UsuarioActual.Empresa.CP)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr>")
strBody.AppendFormat(" <td>RFC {0}</td>", UsuarioActual.Empresa.RFC)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" </table>")
strBody.AppendFormat(" </fieldset>")
strBody.AppendFormat("</div><br/><br/>")
strBody.AppendFormat("<div style='width: 600px'>")
strBody.AppendFormat(" <fieldset>")
strBody.AppendFormat(" <legend><b> </b></legend>")
strBody.AppendFormat(" <table class='TextoG' style='width:100%'>")
If objIE.CveTipoTransaccion = 1 Then ' cuando es cheque
strBody.Append(" <tr style=""height: 22px""> ")
strBody.Append(" <td>Favor de pasar a nuestras oficinas por el cheque con la siguientes instrucciones.</td> ")
strBody.Append(" </tr> ")
End If
If objIE.CveTipoTransaccion = 2 Then ' cuando es transf
strBody.Append(" <tr style=""height: 22px""> ")
strBody.Append(" <td>Notificación de transferencia de pago realizada.</td> ")
strBody.Append(" </tr> ")
End If
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td>&nbsp;</td> ")
strBody.Append(" </tr> ")
strBody.Append(" </table> ")
strBody.AppendFormat(" </fieldset>")
strBody.Append(" </div> ")
strBody.AppendFormat("<div style='width: 600px'>")
strBody.AppendFormat(" <table style='width:100%'>")
strBody.AppendFormat(" <tr>")
strBody.AppendFormat(" <td style='vertical-align: top'>")
strBody.AppendFormat(" <fieldset>")
strBody.AppendFormat(" <legend>Beneficiario:<b>{0}</b> </legend>", objIE.PagueseA)
strBody.AppendFormat(" <table width='100%'>")
strBody.AppendFormat(" <tr style='background-color: gray; color: White; font-family: Verdana; font-size: 10px; text-align: center; vertical-align: middle; font-weight: bold; height: 20px; text-decoration: none;'>")
strBody.AppendFormat(" <th scope='col' style='width:150px;'></th>")
strBody.AppendFormat(" <th scope='col' style='width:450px;'></th>")
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Movimiento:</td>")
strBody.AppendFormat(" <td style='text-align: left'>{0}</td>", objIE.TipoTransaccion)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Banco:</td>")
strBody.AppendFormat(" <td style='text-align: left'>{0}</td>", objIE.Banco)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Cuenta:</td>")
strBody.AppendFormat(" <td style='text-align: left'>{0}</td>", objIE.NumCuenta)
strBody.AppendFormat(" </tr>")
If objIE.CuentaDepositado.ToString <> "" Then
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Cuenta Destino:</td>")
strBody.AppendFormat(" <td style='text-align: left'>{0}</td>", objIE.CuentaDepositado)
strBody.AppendFormat(" </tr>")
End If
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Fecha:</td>")
strBody.AppendFormat(" <td style='text-align: left'>{0}</td>", objIE.FechaDocumento.ToString("dd/MM/yyyy"))
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Importe:</td>")
strBody.AppendFormat(" <td style='text-align: left'>$ {0} {1}</td>", objIE.Importe.FormatoNumero, objIE.Moneda)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>Observaciones:</td>")
strBody.AppendFormat(" <td style='text-align: left'>{0}</td>", objIE.Observaciones)
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td colspan='2'>")
strBody.AppendFormat(" <hr />")
strBody.AppendFormat(" </td>")
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" </table>")
strBody.AppendFormat(" </fieldset>")
strBody.AppendFormat(" </td>")
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" </table>")
strBody.AppendFormat("</div>")
'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("<div style='width: 1000px'>")
strBody.AppendFormat(" <table style='width:1000px'>")
strBody.AppendFormat(" <tr>")
strBody.AppendFormat(" <td style='vertical-align: top'>")
strBody.AppendFormat(" <fieldset>")
strBody.AppendFormat(" <legend><b>Documentos abonados o pagados <br/>{0}</b> </legend>", Textov33)
strBody.AppendFormat(" <table width='1000px'>")
strBody.AppendFormat(" <tr style='background-color: gray; color: White; font-family: Verdana; font-size: 10px; text-align: center; vertical-align: middle; font-weight: bold; height: 20px; text-decoration: none;'>")
strBody.AppendFormat(" <th scope='col' style='width: 10%'>Fecha</th>")
strBody.AppendFormat(" <th scope='col' style='width: 20%'>Factura</th>")
strBody.AppendFormat(" <th scope='col' style='width: 20%'>Importe ($)</th>")
strBody.AppendFormat(" <th scope='col' style='width: 40%'>Folio Fiscal</th>")
strBody.AppendFormat(" <th scope='col' style='width: 15%'>NC Aplicadas</th>")
strBody.AppendFormat(" </tr>")
For Each dr As DataRow In objIE.DtResultados.FiltraParametros("CveConceptoContable IN (17) AND CveCompra > 0").Rows
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td>{0}</td>", dr("Fecha").ToString.ToDate.ToShortDateString())
strBody.AppendFormat(" <td>{0}</td>", dr("SerieFolio").ToString)
strBody.AppendFormat(" <td style='text-align: right'>$ {0}</td>", dr("Importe").ToString.FormatoNumero)
strBody.AppendFormat(" <td>{0}</td>", dr("FolioFiscal"))
strBody.AppendFormat(" <td>{0}</td>", dr("ImporteNC").ToString.FormatoNumero)
strBody.AppendFormat(" </tr>")
Next
strBody.AppendFormat(" <tr class='Texto'>")
strBody.AppendFormat(" <td colspan='5'>")
strBody.AppendFormat(" <hr />")
strBody.AppendFormat(" </td>")
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" </table>")
strBody.AppendFormat(" </fieldset>")
strBody.AppendFormat(" </td>")
strBody.AppendFormat(" </tr>")
strBody.AppendFormat(" </table>")
strBody.AppendFormat("</div>")
End If
strBody.Append(" <div> Favor de no responder a este correo. </div> ")
strBody.Append("</body></html>")
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() 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(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("AgrupadoPor", "Proveedor: " & LtlProveedor.Text))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
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
End Class