01. DATOS GENERALES

Producto:

TOTVS Backoffice

Línea de producto:

Línea Protheus ®

Módulo:

Financiero

Función:

F50PERGUNT - Punto de entrada


02. DESCRIPCIÓN

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).

03. PARÁMETROS


Parámetro

Tipo

Descripción

aPergunta

Array

Array con las preguntas cargadas de la rutina. 


04. PREGUNTAS


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


05. DEVOLUCIÓN


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) .


06. EJEMPLO DE UTILIZACIÓN


F040BOT
#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