Árvore de páginas

Versões comparadas

Chave

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

...

02. DESCRIÇÃO

O ponto de entrada F050PERGUNT F50PERGUNT será executado na chamada de rotina automática do FINA050, possibilitando a alteração do array APERGUNTA, responsável pelas perguntas da rotina. (F12).

...

Bloco de código
languagejava
themeMidnight
firstline1
titleF040BOT
linenumberstrue
#include "protheus.ch"
/*/{Protheus.doc} 
Ponto de entrada F050PERGUNTF50PERGUNT. 
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)  == "Contab.Tit.Provisor ?"  })

        If nPos > 0 
            If aDados[nPos, 15] == 1 //Contab.Tit.Provisor | 1 - Sim, 2 - Não 
                aDados[w,15] := 2

            EndIf
        EndIf 

        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Inf.Ctas no rateio ?"  })

        If nPos > 0 
            If aDados[nPos, 15] == 1 //Inf.Ctas no rateio | 1 - Sim, 2 - Não 
                aDados[w,15] := 2

            EndIf
        EndIf 

        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Contabiliza on Line ?"  })

        If nPos > 0 
            If aDados[nPos, 15] == 1 //Contabiliza on Line | 1 - Sim, 2 - Não 
                aDados[w,15] := 2

            EndIf
        EndIf 


        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Gerar Chq.p/Adiant. ?"  })

        If nPos > 0 
            If aDados[nPos, 15] == 1 //Gerar Chq.p/Adiant | 1 - Sim, 2 - Não 
                aDados[w,15] := 2

            EndIf
        EndIf 

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

        If nPos > 0 
            If aDados[nPos, 15] == 1 //Rateia Valor | 1 - Bruto, 2 - Liquido
                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)  == "Mostra Rateio Excl. ?"  })

        If nPos > 0 
            If aDados[nPos,15] == 1 //Mostra Rateio Excl. | 1 - Sim, 2 - Não 
                aDados[nPos,15] := 2

            EndIf
        EndIf 

        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Mov.Banc.sem Cheque ?"  })

        If nPos > 0 
            If aDados[nPos,15] == 1 //Mov.Banc.sem Cheque | 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 

        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Valores Acessórios Inclusão ?"  })

        If nPos > 0 
            If aDados[nPos,15] == 2 //Valores Acessórios Inclusão | 1 - Sim | 2 - Não
                aDados[nPos,15] := 1

            EndIf
        EndIf 

        nPos := aScan(aDados[w], {|x|, alltrim(x)  == "Visão do Rastreamento ?"  })

        If nPos > 0 
            If aDados[nPos,15] == 2 //Visão do Rastreamento  | 1 - Por Título | 2 - Por Processo
                aDados[nPos,15] := 1

            EndIf
        EndIf 

    Next w  


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

    RestArea(aArea)
Return aPergunta

...