Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:

TOTVS Backoffice (Linha Protheus) - Planejamento e Controle Orçamentário (SIGAPCO)

Função:PCOC341
País:Brasil
Ticket:Interno
Requisito/Story/IssueDSERCTR1-46829

02. DESCRIÇÃO

O ponto de entrada PCOC3412 permite a adição de botões personalizados na interface da rotina Saldos por Período. Com ele, é possível incluir funcionalidades extras, como um botão de exportação dos dados para uma planilha Excel, proporcionando maior flexibilidade na manipulação e análise dos saldos diretamente na interface do usuário.

03. DEMAIS INFORMAÇÕES


Manipulação de PE no sistema
If ExistBlock("PCOC3412")
	aAddBtn := ExecBlock("PCOC3412", .F., .F.)
	aAdd(aRotina,aAddBtn)
EndIf
Exemplo de PE
#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


Importante !!

  • Observa-se que a utilização do PE e os impactos dele no sistema são de responsabilidade do cliente.
  • Os exemplos utilizados nessa documentação são apenas para fins de demonstração, cada cliente deve verificar qual comportamento deseja realizar de acordo com o escopo do ponto de entrada.

04. ASSUNTOS RELACIONADOS

  • Não se aplica.