Histórico da Página
...
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus ® |
Módulo: | Financeiro |
Função: | F050PERGUNT F50PERGUNT - Ponto de Entrada |
02. DESCRIÇÃO
O ponto de entrada F050PERGUNT será F50PERGUNT será executado na chamada de rotina automática do FIN050FINA050, possibilitando a alteração do array APERGUNTA, responsável pelas perguntas da rotina. (F12).
...
Parâmetro | Tipo | Descrição |
---|---|---|
aPergunta | Array | Array com as perguntas carregadas da rotina. |
04. PERGUNTAS
Aviso | ||
---|---|---|
| ||
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
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#include "protheus.ch" /*/{Protheus.doc} Ponto de entrada F050PERGUNTF50PERGUNT. Posibilita alterar perguntas em tempo de execução para rotina automática. @type function F050PERGUNTF50PERGUNT @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 wnPos := 0 Local nPos := 0 //A estrutura do array é a mesma do SX1. Para manipular, procure a pergunta usando ASCAN() nPos For w := 1 To Len(aDados):= 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 := aScanAScan(aDados[w], {|x|, alltrim(x,{|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]) == "MostraInf.Ctas Lancno Contabrateio ?" }) If nPos > 0 If aDados[nPos > 0 , 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 //MostraContabiliza lancamentoon contábilLine | 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[wnPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "Rateia Valor ?" }) If nPos > 0 EndIf If aDados[nPos, 15] == 1 //Rateia Valor | 1 - Bruto, 2 - Liquido aDados[nPos,15] := 2 EndIf EndIf nPos := aScanAScan(aDados[w], {|x|, alltrimAllTrim(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] := 2 == 1 //Mostra Rateio Excl. | 1 - Sim, 2 - Não EndIfaDados[nPos,15] := 2 EndIf EndIf nPos := aScanAScan(aDados[w], {|x|, alltrimAllTrim(x[1]) == "Gera RateioMov.Banc.sem Cheque ?" }) If nPos > 0 If aDados[nPos,15] == 1 //Mov.Banc.sem Cheque | 1 - Sim, 2 - Não aDados[nPos > 0 ,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 := EndIf Next w 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