Producto: | TOTVS Backoffice |
Línea de producto: | Línea Protheus ® |
Módulo: | Financiero |
Función: | F50PERGUNT - Punto de entrada |
El punto de entrada F50PERGUNT se ejecutará en la activación de la rutina automática del FINA050, permitiendo la modificación del array APERGUNTA, responsable por las preguntas de la rutina. (F12).
Parámetro | Tipo | Descripción |
aPergunta | Array | Array con las preguntas cargadas de la rutina. |
Importante
Al utilizar el punto de entrada, las preguntas deben pasarse en el orden que consta en el SX1. Los tipos estándares de las variables no deben modificarse, para no generar inconsistencia en la rutina automática.
Orden | Pregunta | Tipo | Tamaño | Combo |
01 | ¿Muestra Asiento Contab? | N - Numérico | 1 | 1 - Sí | 2 - No |
02 | ¿Contab.Tít.Provis.? | N - Numérico | 1 | 1 - Sí | 2 - No |
03 | ¿Inf.Ctas en el prorrateo? | N - Numérico | 1 | 1 - Sí | 2 - No |
04 | ¿Contabiliza On Line? | N - Numérico | 1 | 1 - Sí | 2 - No |
05 | ¿Generar Chq.p/Anticipo? | N - Numérico | 1 | 1 - Sí | 2 - No |
06 | ¿Prorratea valor? | N - Numérico | 1 | 1 - Bruto | 2 - Neto |
07 | ¿Agrupa asiento contable? | N - Numérico | 1 | 1 - Sí | 2 - No |
08 | Muestra prorrateo Excl.? | N - Numérico | 1 | 1 - Sí | 2 - No |
09 | ¿Mov.Banc.sin Cheque? | N - Numérico | 1 | 1 - Sí | 2 - No |
10 | ¿Genera prorrateo? | N - Numérico | 1 | 1 - Título | 2 - Título/Impuestos |
11 | ¿Valores accesorios inclusión? | N - Numérico | 1 | 1 - Sí | 2 - No |
12 | ¿Visión del rastreo? | N - Numérico | 1 | 1 - Por título / Por proceso |
Parámetro | Tipo | Descripción |
aPergunta | Array | Array con las preguntas modificadas. (No modifique el orden de las preguntas, solamente el contenido de los parámetros) . |
#include "protheus.ch" /*/{Protheus.doc} Ponto de entrada F50PERGUNT. Permite modificar preguntas en tiempo de ejecución para rutina automática. @type function F50PERGUNT @author TOTVS Matriz @since 24/01/2022 @version P12 @param aPerguntas, array, datos de las preguntas del SX1 - FIN050 @return aPerguntas, array, respuestas modificadas por el PE. /*/ User Function F50PERGUNT() Local aArea := GetArea() Local aDados := aClone(aPergunta) //Realizo el clonaje del array actual para modificar. Local nPos := 0 //A estrutura do array é a mesma do SX1. Para manejar, procure la pregunta utilizando ASCAN() nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Muestra Asto. Contab ?"}) If nPos > 0 If aDados[nPos, 15] == 1 //Muestra asiento contable | 1 - Sí, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Contab.Tít.Provisional?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Contab.Tít.Provisional | 1 - Sí, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Inf.Ctas en el prorrateo?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Inf.Ctas en el prorrateo | 1 - Sí, 2 - No 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 - Sí, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Generar Chq.p/Anticipo?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Generar Chq.p/Anticipo | 1 - Sí, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Prorratea valor?" }) If nPos > 0 If aDados[nPos, 15] == 1 //Prorratea valor | 1 - Bruto, 2 - Neto aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Agrupa asiento contable?" }) If nPos > 0 If aDados[nPos,15] == 1 //Agrupa asiento contable | 1 - Sí, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos :=AScan(aDados,{|x|AllTrim(x[1]) == "¿Muestra prorrateo Excl.?" }) If nPos > 0 If aDados[nPos,15] == 1 //Muestra prorrateo Excl. | 1 - Si, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Mov.Banc.sin Cheque?" }) If nPos > 0 If aDados[nPos,15] == 1 //Mov.Banc.sin Cheque | 1 - Sí, 2 - No aDados[nPos,15] := 2 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Genera prorrateo?" }) If nPos > 0 If aDados[nPos,15] == 2 //¿Genera prorrateo? | 1 - Título | 2 - Título/Impuestos aDados[nPos,15] := 1 EndIf EndIf nPos :=AScan(aDados,{|x|AllTrim(x[1]) == "¿Valores accesorios inclusión?" }) If nPos > 0 If aDados[nPos,15] == 2 //Valores accesorios inclusión | 1 - Sí | 2 - No aDados[nPos,15] := 1 EndIf EndIf nPos := AScan(aDados,{|x|AllTrim(x[1]) == "¿Visión del rastreo?" }) If nPos > 0 If aDados[nPos,15] == 2 //Visión del rastreo | 1 - Por título | 2 - Por proceso aDados[nPos,15] := 1 EndIf EndIf //Devolución al array de la Pregunta con las respuestas modificadas. aPergunta := aDados RestArea(aArea) Return aPergunta