CRIAR UMA WINDOW VAZIA
COM NOME DE
CRIAR UMA QUERY QUE VAI PREENCHER O LIST BOX DOS ANOS
( sql code) = QRY_CLONE_PEDIDO
== MANUAL PGADMIN =
SELECT DISTINCT TO_CHAR(DATA_EMISSAO,'YYYY') AS ANO FROM PEDIDO WHERE ID_EMPRESA=3
SELECT DISTINCT
LEFT(duplicata_pagar.data_vencimento,4) AS ano
FROM duplicata_pagar
WHERE duplicata_pagar.id_empresa={PARAM_ID_EMPRESA}
ORDER BY ano DESC
CRIAR UMA LIST BOX ( LIST_CLONE_ANO_PEDIDO )
ENTRAR EM CREATION
ESCOLHA LIST BOX
ESCOLHA BY PROGRAMMING
ESCOLHA MULTI-SELECTION
NOME DO LIST BOX
LIST BOX
CO O BOTAO DIREITO CODE
QRY_CLONE_ORDEM_COMPRA.PARAM_ID_EMPRESA=gnEmpresaCodigo
COM O BOTAO DIREITO ENTRE EM DESCRIPTION
VA EM CONTENT
ESCOLHA FILE/QUERY
ESCOLHA A QUERY QUE FOI CRIADA POR ANO
JA PODE TESTAR
CRIAR UM BOTAO Gerar Informações
CRIAR UMA TABELA
CREATION
TABLE
TABLE VERTICAL
CRIE COM DUAS COLUNAS
UMA MES TEXTO
UMA ANO CURRENCY
NA TABELA EXPANDIR ANO
CRIAR UMA QUERY_PARA CALCULAR VALORES
QRY_CLONE_DADOS_ANO_DUP_REC
COLOQUE ANO E MES
PARA ANO E MES USE CALCULATED ITEM
ANO = LEFT(DUPLICATA_RECEBER.DATA_VENCIMENTO,4)
MES = SUBSTR(DUPLICATa_RECEBER.DATA_VENCIMENTO,5,2)
FACA SUM VALOR TITULO
ANO E MES EM ORDEM
ANO, FILTRO
IS IN THE LIST (DENTRO DA LISTA)
SUPPPLIED BY THE PARAMETER (FORNECIDO POR PARAMETRO)
COMANDOS QUE IRA NO BOTAO DE GERAR INFORMACOES
===================================
IF ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA) = 0 THEN // ELE VAI VERIRICAR SE FOI SELECIONADO ANO ANO // SE NAO VAI RETORNARIF ListSelectCount(LIST_CLONE_ANO_DUP_PAG) = 0 THEN
Error("Selecione um ou mais Anos")
RETURN
END
TableDeleteAll(TABLE_CLONE_ORDEM_COMPRA) // ELIMINE OS DADOS CONTIDOS NA TABELA
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=True // TORNAR A COLUNA ANO VISIVEL
sFiltroano is string
FOR i = TableCount(TABLE_CLONE_ORDEM_COMPRA,toColumn) TO 3 STEP -1 // eliminar as colunas criadas anteriormente
ControlDelete(TableEnumColumn(TABLE_CLONE_ORDEM_COMPRA,i))
END
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA //criar as colunas conforme escolhida pelo usuario
ControlClone(TABLE_CLONE_ORDEM_COMPRA.COL_ano,"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue)
{"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}..Caption = LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue
sFiltroano+=[";"]+LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue // SEPARADOR PONTO E VIRGULA ;
END
TABLE_CLONE_ORDEM_COMPRA..Visible=True //tornar visivel tabela
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=False //nao mostrar ano tabela
FOR i=1 TO 12 //adciona uma linha por mes
TableAddLine(TABLE_CLONE_ORDEM_COMPRA,Upper(MonthNumberInAlpha(i)))
END
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_id_empresa=gnEmpresaCodigo
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_ano = sFiltroano //EXECUTA A QUERY PARA APRESENTAR OS DADOS
HExecuteQuery(QRY_CLONE_DADOS_ANO_ORDEM_COMPRA)
FOR EACH QRY_CLONE_DADOS_ANO_ORDEM_COMPRA
{"Ano"+ QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.ano,indControl}[QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.mes] = QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.sum_valor_total
END
nAconragem is int = Round(1000/ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA)) //O Tamanho das colunas é adaptado automaticamente pela definiçao de ancoragem das colunas
TableAdjust(TABLE_CLONE_ORDEM_COMPRA)
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA
{"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}//..AnchorRateRight = nAconragem
END
====================================