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