#include "rwmake.ch"
#include "protheus.ch"
User Function PCOC3412()
Local aRet := {"Excel"/*Nome do Botao*/,"U_ExpExce" /*Funcao p/ geracao da Planilha Excel*/,0,6}
Alert("Execução do ponto de entrada PCOC3412")
Return aRet
User Function ExpExce()
Local aCampo := {}
Local aHeader := {}
Local aAreaSX3 := SX3->(GetArea())
Local cAlias := "AKD"
Local aCpos := {"AKD_LOTE","AKD_ID","AKD_DATA","AKD_CO","AKD_CLASSE","AKD_OPER",;
"AKD_TPSALD","AKD_TIPO","AKD_HIST","AKD_UM","AKD_PROCES","AKD_USER",;
"AKD_VALOR1","AKD_VALOR2","AKD_VALOR3","AKD_VALOR4","AKD_VALOR5",;
"AKD_CODPLA","AKD_VERSAO","AKD_CC","AKD_ITCTB","AKD_CLVLR","AKD_LCTBLQ"}
SX3->(DbSetOrder(1))
SX3->(DbSeek(cAlias))
Do While !SX3->(Eof()) .And. SX3->X3_ARQUIVO == cAlias
aCampo := {Trim(X3Titulo()),SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,;
SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_F3,SX3->X3_CONTEXT,SX3->X3_CBOX,SX3->X3_RELACAO,SX3->X3_WHEN,;
SX3->X3_VISUAL,SX3->X3_VLDUSER, SX3->X3_PICTVAR,SX3->X3_OBRIGAT}
If Len(aCpos) > 0 .And. AScan(aCpos,{|x| Upper(AllTrim(SX3->X3_CAMPO)) == Upper(AllTrim(x)) }) > 0
aAdd(aHeader,aClone(aCampo))
EndIf
SX3->(DbSkip())
EndDo
SX3->(RestArea(aAreaSX3))
DlgToExcel({ {'TABELA','Título',aHeader,"AKD"}})
Return
|