Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
GP650ACM - Agrupamento dos Títulos
GP650ACM - Agrupamento dos Títulos

Ponto-de-Entrada: GP650ACM - Agrupamento dos Títulos
Abrangências: Microsiga Protheus 8.11 , Microsiga Protheus 10
Versões: Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Espanhol , Inglês
Descrição:
O ponto de entrada GP650ACM é utilizado no momento do agrupamento dos títulos, sendo possível armazenar no array “aAliasFields” os dados que identificam a origem do título. Exemplo: filial, matricula, verba, centro de custo, valor.
Eventos

Um exemplo de utilização deste ponto de entrada é a necessidade de criar uma tabela para listar todos os lançamentos que fazem parte de um determinado título.

Neste caso é necessário utilizar também o ponto de entrada GP650CHK para obter o número do título. 

Programa Fonte
gpem650
Sintaxe

GP650ACM - Agrupamento dos Títulos ( [ ] )

Parâmetros:
NomeTipoDescriçãoDefaultObrigatórioReferência
Array of Record
Retorno
    ()
Observações

O exemplo a seguir ilustra a necessidade de criar uma tabela contendo o detalhamento do título, com os lançamentos que o compõe.

Utiliza-se os dois pontos de entrada: GP650ACM e GP650CHK.

Exemplos
============================================||Exemplo de utilização do ponto de entrada GP650ACM||============================================User Function GP650ACM()//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//³ Declaracao de Variaveis                                             ³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙLocal aArea := GetArea()Local cFil	 := &cFilLanLocal cMat	 := &cMatLanLocal cCC  	 := &cCcLanLocal cPD	 := &cPDLanLocal nSeq	 := 0              nPos:= Ascan( aAliasFields ,{|x|x[1]+x[2]+x[3]+x[4]==cFil+cMat+cCC+cPD }) If nPos == 0		Aadd( aAliasFields, { 	cFil, 	;			cMat, 	;			cCC,	;		    				cPD,	;			"001"	} )Else	nSeq := VAL(aAliasFields[nPos,5])+1		Aadd( aAliasFields, { 	cFil, 	;			cMat, 	;			cCC,	;		    				cPD,	;			strZero(nSeq,3)	} )EndIf      RestArea(aArea)Return=============================================||Exemplo de utilização do ponto de entrada GP650CHK:||=============================================User Function GP650CHK()Local nX 	:= 1Local aArea := getArea()       For nX := 1 to Len(aAliasFields)	       If Z01->(!dbSeek(aAliasFields[nX,1]+cNovoTit+aAliasFields[nX,2]+aAliasFields[nX,3]+ ;				aAliasFields[nX,4]+aAliasFields[nX,5] ))		RecLock("Z01", .T. )	Z01->Z01_FILIAL :=	aAliasFields[nX,1]	Z01->Z01_TIT       :=	cNovoTit	Z01->Z01_MAT     :=	aAliasFields[nX,2]	Z01->Z01_CC       :=	aAliasFields[nX,3]	Z01->Z01_PD       :=	aAliasFields[nX,4]	Z01->Z01_SEQ    :=	aAliasFields[nX,5]		MsUnLock()      EndIf	Next nXRestArea( aArea )Return
Variáveis
NomeTipoEscopoPode Alterardescrição
aAliasFieldsArray of RecordGlobalNão
cFilLanCaracterGlobalNão
cCpoAgrupCaracterGlobalNão
cCcLanCaracterGlobalNão
cMatLanCaracterGlobalNão
cPDLanCaracterGlobalNão
cValLanCaracterGlobalNão