<%
'// =======================================================================
'// Função : Recuperar ítens do menu no banco de dados
'// Autor : Celso Pacheco
'// Criada em: 10/07/2006
'// Objetivo :Prover dados para montar o menu dinamicamente
'// =======================================================================
'---------------------------------------------------------------------------
'MENU - DEMONSTRAÇÕES FINANCEIRAS
'---------------------------------------------------------------------------
function getDepInvestInfoFinanceira()
'Lista Categorias da área de Investidores/Informações Financeiras
dim sql
'Seleciona as categorias que possuem documentos publicados
SQL = ""
SQL = SQL & " select Dpt.nome,Dpt.departamento_id "
SQL = SQL & " from dct_Departamento Dpt "
SQL = SQL & " where (Dpt.departamento_id =" & DPT_DCT_INFO_FINANC_LIGHTSA & " "
SQL = SQL & " or Dpt.departamento_id = "& DPT_DCT_INFO_FINANC_LIGHTSESA & " "
SQL = SQL & " or Dpt.departamento_id = "& DPT_DCT_INFO_FINANC_LIGHTENERGIA & ") "
SQL = SQL & " and Dpt.departamento_id in "
SQL = SQL & " (select departamento_id "
SQL = SQL & " from dct_documento Dct "
SQL = SQL & " Where Dct.dtDataIni <= Now() "
SQL = SQL & " and Dct.dtDataFim >= Now()) "
SQL = SQL & " order by ordem "
'Retorna um array de dictionary
getDepInvestInfoFinanceira = RsToArr(SQL,cnnDef)
end function
'---------------------------------------------------------------------------
'MENU - DIVULGAÇÃO
'---------------------------------------------------------------------------
function getDepInvPressReleases()
'Lista Categorias da área de Investidores/Press Releases
dim sql
'Seleciona as categorias que possuem documentos publicados
SQL = ""
SQL = SQL & " select nome,departamento_id "
SQL = SQL & " from dct_Departamento Dpt "
SQL = SQL & " where (Dpt.departamento_id =" & DPT_DCT_PRESS_RELEASES_LIGHTSA & " "
SQL = SQL & " or Dpt.departamento_id = "& DPT_DCT_PRESS_RELEASES_LIGHTSESA & " "
SQL = SQL & " or Dpt.departamento_id = "& DPT_DCT_PRESS_RELEASES_LIGHTENERGIA & ") "
SQL = SQL & " and Dpt.departamento_id in "
SQL = SQL & " (select departamento_id "
SQL = SQL & " from dct_documento Dct "
SQL = SQL & " Where Dct.dtDataIni <= Now() "
SQL = SQL & " and Dct.dtDataFim >= Now()) "
SQL = SQL & " order by ordem "
'Retorna um array de dictionary
getDepInvPressReleases = RsToArr(SQL,cnnDef)
end function
'---------------------------------------------------------------------------
'MENU - PRESS RELEASES
'---------------------------------------------------------------------------
function getDepInvDivulgacao()
'Lista Categorias da área de Investidores/Divulgação
dim SQL
SQL = " SELECT nome,departamento_id " & _
" FROM dct_Departamento " & _
" WHERE " & _
" area_id = " & Area_Investidores_Divulgacao_Documentos & " AND " & _
" departamento_id IN (SELECT departamento_id FROM dct_Documento WHERE dtDataIni<=Now() and dtDataFim>=Now()) "& _
" ORDER BY ordem "
'Retorna um array de dictionary
getDepInvDivulgacao = RsToArr(SQL,cnnDef)
end function
'---------------------------------------------------------------------------
'Monta um array de dictonary apartir de uma instrução SQL
'---------------------------------------------------------------------------
function RsToArr(ByVal sql, ByRef conexao)
dim rs
set rs = conexao.execute(sql)
'Caso não enconte nenhum registro retorna empty
if (rs.EOF) then
RsToArr = empty
exit function
end if
'Percorre o recordSet populando o Array com diconários de dados
dim item,i
dim arrReg()
i=0
While not (rs.EOF)
redim preserve arrReg(i)
set arrReg(i) = server.CreateObject("Scripting.Dictionary")
'Cria uma chava para cada coluna do recordset com os dados do registro corrente
for each item in rs.Fields
arrReg(i).Add Ucase(item.name), item.value
next
i=i+1'incrementa contador do Array
rs.MoveNext
wend
'Retorna o Array populado
RsToArr = arrReg
end function
'===========================================================================
'Lista elementos(dictionary) do array
'Procedure criada por Celso Pacheco Para visualizar
'o resutado das funções para montagem do menu
'Ex:
'dim Arr
' Arr = getDepInvDivulgacao()
' inspecArray(xx)
'
'===========================================================================
sub inspecArray(x)
dim n_linas,n_colunas, i
if isArray(x) then
n_linas = ubound(x)+1
dim str
str = str & "Inspeção de Array"
str = str & " "
str = str & "
"
str = str & "
"
for each iten in x(i)
n_colunas = x(i).count
str = str & "
A
Light tem vários canais de contato a sua
disposição, para que você possa esclarecer
dúvidas ou solicitar serviços de forma rápida
e fácil.
Pela Internet, por telefone ou em qualquer
uma de nossas agências você pode contar
com um atendimento onde a meta é a sua satisfação.