Á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:PCOC340
País:Brasil
Ticket:Interno
Requisito/Story/IssueDSERCTR1-46748

02. DESCRIÇÃO

O ponto de entrada PCOC3402 permite adicionar botões customizados na interface da rotina "Saldos por Período" (PCOC340). Por exemplo, pode-se incluir um botão para exportação dos dados exibidos para uma planilha Excel. Este ponto de entrada oferece flexibilidade para estender as funcionalidades da rotina, atendendo a necessidades específicas do usuário.

03. DEMAIS INFORMAÇÕES


Manipulação de PE no sistema
If ExistBlock("PCOC3402")
	aAddBtn := ExecBlock("PCOC3402", .F., .F.)
	aAdd(aRotina,aAddBtn)
EndIf
Exemplo de PE
#include "rwmake.ch"
#include "protheus.ch"

User Function PCOC3402()

	Local aRet := {"Excel"/*Nome do Botao*/,"U_ExpExcel" /*Funcao p/ geracao da Planilha Excel*/,0,6}

Return aRet

User Function ExpExcel()

	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.