Árvore de páginas

Versões:Microsiga Protheus 12
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Português, Espanhol, Inglês

Descrição: permite alterar informações dos títulos financeiros gerados ao fazer o encerramento de uma medição.

Localização: no momento do encerramento da medição.

Eventos: ao encerrar a medição, é gerado um título no Financeiro com as informações alteradas.

Programa fonte: Nova Medição (CNTA121).

Retorno: 

NOME
TIPO
DESCRIÇÃO
OBRIGATÓRIO
PARAMIXB[1]

Array of records

Retorna as informações do título

X

PARAMIXB[2]
 Caracter Apresenta o tipo de Contrato (1-Compra ou 2-Venda).

Exemplo
#Include 'Protheus.ch'
User Function CN121AFN()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]

If cTipo == '1' 
	aCab[2][2]:= 'NFE' //Validações do usuário
EndIf
	
Return aCab
Exemplo
#Include 'Protheus.ch'
User Function CN121AFN()
    Local aResult   := Nil//Retornar nulo caso nao modifique o array
    Local aCab      := PARAMIXB[1]
    Local cTipo     := PARAMIXB[2] // 1-Compra, 2-Venda
    Local cChaveCNE := ""
    Local cChaveCNZ := ""
    Local nPosPlan  := aScan( aCab, {|x| x[1] == IIF(cTipo == "1", "E2_MDPLANI", "E1_MDPLANI")}) //Código da planilha (CNTA121 não preenche CND_NUMERO)
 
    CNE->(DbSetOrder(1))//CNE_FILIAL+CNE_CONTRA+CNE_REVISA+CNE_NUMERO+CNE_NUMMED+CNE_ITEM
    CNZ->(DbSetOrder(2))//CNZ_FILIAL+CNZ_CONTRA+CNZ_REVISA+CNZ_NUMMED+CNZ_ITCONT+CNZ_ITEM
    cChaveCNE := CND->(CND_FILIAL+CND_CONTRA+CND_REVISA+aCab[nPosPlan][2]+CND_NUMMED)
    If CNE->(DbSeek(cChaveCNE))
        While CNE->(!EOF() .And. CNE_FILIAL+CNE_CONTRA+CNE_REVISA+CNE_NUMERO+CNE_NUMMED == cChaveCNE)
            If !Empty(CNE->CNE_CC)                   
                aResult := aClone(aCab)
                aAdd(aResult, {IIF((cTipo == "1"),'E2_CCUSTO', 'E1_CCUSTO'), CNE->CNE_CC, Nil})
                Exit
            Else
                cChaveCNZ := CNE->(CNE_FILIAL+CNE_CONTRA+CNE_REVISA+CNE_NUMMED+CNE_ITEM)
                If CNZ->(DbSeek(cChaveCNZ))
                    aResult := aClone(aCab)
                    aAdd(aResult, {IIF((cTipo == "1"),'E2_CCUSTO', 'E1_CCUSTO'), CNZ->CNZ_CC, Nil})
                    Exit
                EndIf
            EndIf
            CNE->(DbSkip())
        EndDo
    EndIf   
Return aResult