Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

ParâmetroTipoDescrição
aPerguntaArrayArray com as perguntas carregadas da rotina. 


04. PERGUNTAS


Aviso
titleImportante

Ao utilizar o ponto de entrada, as perguntas devem ser passadas na ordem que consta no SX1. Os tipos padrões das variáveis não devem ser alterados, para não gerar inconsistência na rotina automática. 

OrdemPergunta TipoTamanhoCombo
01Mostra Lanc Contab ? N - Numérico11 - Sim |  2 - Não
02Contab.Tit.Provisor ?         N - Numérico11 - Sim |  2 - Não
03Inf.Ctas no rateio ?          N - Numérico11 - Sim |  2 - Não
04Contabiliza on Line ?         N - Numérico11 - Sim |  2 - Não
05Gerar Chq.p/Adiant. ?         N - Numérico11 - Sim |  2 - Não
06Rateia Valor ?                N - Numérico11 - Bruto | 2 - Líquido
07Aglutina Lançamento Contabil ?N - Numérico11 - Sim |  2 - Não
08Mostra Rateio Excl. ?         N - Numérico11 - Sim |  2 - Não
09Mov.Banc.sem Cheque ?         N - Numérico11 - Sim |  2 - Não
10Gera Rateio ?                 N - Numérico11 - Título | 2 - Título/Impostos
11Valores Acessórios Inclusão ? N - Numérico11 - Sim |  2 - Não
12Visão do Rastreamento ?       N - Numérico11 - Por Título / Por Processo


05. RETORNO


ParâmetroTipoDescrição

aPergunta

ArrayArray com as perguntas alteradas. (Não altere a ordem das perguntas, apenas o conteúdo dos parâmetros) .

...


06.

...

EXEMPLO DE UTILIZAÇÃO


Bloco de código
languagejava
themeMidnight
firstline1
titleF040BOT
linenumberstrue
#include "protheus.ch"
/*/{Protheus.doc} 
Ponto de entrada F050PERGUNT. 
Posibilita alterar perguntas em tempo de execução para rotina automática.
@type function F050PERGUNT
@author TOTVS Matriz
@since 24/01/2022
@version P12

@param aPerguntas, array, dados das perguntas do SX1 - FIN050

@return aPerguntas, array, respostas alteradas pelo PE.
/*/
User Function F50PERGUNT()
    Local aArea  := GetArea()
    Local aDados := aClone(aPergunta) //Faço a clonagem do array atual para alterar.
    Local w      := 0
    Local nPos   := 0

    //A estrutura do array é a mesma do SX1. Para manipular, procure a pergunta usando ASCAN()
    For w := 1 To Len(aDados)
        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Mostra Lanc Contab ?"  })

        If nPos > 0 
            If aDados[nPos, 15] == 1 //Mostra lancamento contábil | 1 - Sim, 2 - Não 
                aDados[w,15] := 2

            EndIf
        EndIf 
        
        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Aglutina Lançamento Contabil ?"  })

        If nPos > 0 
            If aDados[nPos,15] == 1 //Aglutina Lançamento Contabil | 1 - Sim, 2 - Não 
                aDados[nPos,15] := 2

            EndIf
        EndIf 

        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Gera Rateio ?"  })

        If nPos > 0 
            If aDados[nPos,15] == 2 //Gera Rateio ? | 1 - Titulo, 2 - Titulo/Impostos
                aDados[nPos,15] := 1

            EndIf
        EndIf 

    Next w  


    //Retorno o array a Pergunta com as respostas alteradas. 
    aPergunta := aDados

    RestArea(aArea)
Return aPergunta

...