01. DADOS GERAIS
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus ® |
Módulo: | Financeiro |
Função: | F50PERGUNT - Ponto de Entrada |
02. DESCRIÇÃO
O ponto de entrada 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).
03. PARÂMETROS
Parâmetro | Tipo | Descrição |
---|---|---|
aPergunta | Array | Array com as perguntas carregadas da rotina. |
04. PERGUNTAS
Importante
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.
Ordem | Pergunta | Tipo | Tamanho | Combo |
---|---|---|---|---|
01 | Mostra Lanc Contab ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
02 | Contab.Tit.Provisor ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
03 | Inf.Ctas no rateio ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
04 | Contabiliza on Line ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
05 | Gerar Chq.p/Adiant. ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
06 | Rateia Valor ? | N - Numérico | 1 | 1 - Bruto | 2 - Líquido |
07 | Aglutina Lançamento Contabil ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
08 | Mostra Rateio Excl. ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
09 | Mov.Banc.sem Cheque ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
10 | Gera Rateio ? | N - Numérico | 1 | 1 - Título | 2 - Título/Impostos |
11 | Valores Acessórios Inclusão ? | N - Numérico | 1 | 1 - Sim | 2 - Não |
12 | Visão do Rastreamento ? | N - Numérico | 1 | 1 - Por Título / Por Processo |
05. RETORNO
Parâmetro | Tipo | Descrição |
---|---|---|
aPergunta | Array | Array com as perguntas alteradas. (Não altere a ordem das perguntas, apenas o conteúdo dos parâmetros) . |
06. EXEMPLO DE UTILIZAÇÃO
F040BOT
#include "protheus.ch" /*/{Protheus.doc} Ponto de entrada F50PERGUNT. Posibilita alterar perguntas em tempo de execução para rotina automática. @type function F50PERGUNT @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 nPos := 0 //A estrutura do array é a mesma do SX1. Para manipular, procure a pergunta usando ASCAN() nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Mostra Lanc Contab ?"}) If nPos > 0 If aDados[nPos, 15] == 1 //Mostra lancamento contábil | 1 - Sim, 2 - Não aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Contab.Tit.Provisor ?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Contab.Tit.Provisor | 1 - Sim, 2 - Não aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Inf.Ctas no rateio ?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Inf.Ctas no rateio | 1 - Sim, 2 - Não aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Contabiliza on Line ?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Contabiliza on Line | 1 - Sim, 2 - Não aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Gerar Chq.p/Adiant. ?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Gerar Chq.p/Adiant | 1 - Sim, 2 - Não aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Rateia Valor ?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Rateia Valor | 1 - Bruto, 2 - Liquido aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "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,{|x|AllTrim(x[1]) == "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,{|x|AllTrim(x[1]) == "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,{|x|AllTrim(x[1]) == "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,{|x|AllTrim(x[1]) == "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,{|x|AllTrim(x[1]) == "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 //Retorno o array a Pergunta com as respostas alteradas. aPergunta := aDados RestArea(aArea) Return aPergunta
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas