01. DATOS GENERALES

Producto:

TOTVS Backoffice

Línea de producto:

Línea Protheus

Segmento:

Backoffice

Módulo:


TOTVS Backoffice (Línea Protheus) - Compras (SIGACOM)

Función:

MATA103X/MATA103 - Documento de entrada

País:

Brasil

Ticket:


Requisito/Story/Issue (informe el requisito relacionado):



02. DESCRIPCIÓN

Punto de entrada utilizado para habilitar la opción Más Informaciones e incluir campos en la solapa Informaciones DANFE de la rutina documento de entrada.


03. UBICACIÓN

Function A103CompDanfe - Al hacer clic en la opción Más Inf.


04. PARÁMETROS

Nombre

Tipo

Descripción

PARAMIXB

Array of Record

  • Elemento 1: Tipo lógico informando si la operación es de Inclusión
  • Elemento 2: Tipo lógico informando si la operación es de Modificación
  • Elemento 3: Tipo lógico informando si la operación es de Visualización
  • Elemento 4: Tipo array que contiene los campos y sus contenidos que ya se informaron en la misma rutina (al hacer clic en la opción Más Infor., informe los contenidos de los campos, Salir, y haga clic nuevamente, deben aparecer los mismos contenidos).

05. DEVOLUCIÓN

Tipo

Descripción

Array of Record

  • Elemento 1: Código del campo
  • Elemento 2: Contenido del campo

Observaciones:

El punto de entrada se consideró con la finalidad de crear una nueva interfaz de entrada de datos, que se abre al hacer clic en la opción Más Infor., esto permite la información de cualquier campo deseado de la tabla SF1. 

Se puede utilizar MSDIALOG o MBROWSE. Si se utiliza MSDIALOG es necesario el include PROTHEUS.CH.


La respuesta debe ser obligatoriamente un array con el código del campo en el primer elemento y su contenido en el segundo elemento.

06. EJEMPLO DE UTILIZACIÓN

ADVPL
#INCLUDE "PROTHEUS.CH"

/*/{Protheus.doc} MT103DCF
PE para habilitar botón Más Inf. y agrega campos en la solapa DANFE
@type     function
@author      
@since       24/10/2024
/*/
User Function MT103DCF()

Local lInclui    := PARAMIXB[1]
Local lAltera    := PARAMIXB[2]
Local lVisual    := PARAMIXB[3]
Local aCamposPar := PARAMIXB[4] // Trae el historial de los campos y sus contenidos.
Local aCamposRet := {} // Validaciones del usuario
Local cRetorno   := ""

If Len(aCamposPar) == 0 // Si estuviera vacío, significa que es el primer clic del usuario.


  cRetorno := FWInputBox("Informe el contenido que se grabará en el nuevo campo", "Digite aquí")


  AAdd(aCamposRet, {"F1_CHVNFE", AllTrim(cRetorno)}) // En la primera posición del array, informe el nombre del campo, en la segunda posición, informe el contenido que se grabará.

Else // En caso contrario, será un nuevo clic, así el sistema trae el historial de lo que fue definido anteriormente pelo usuario.


  If FWAlertYesNo("Información ya digitada anteriormente para el nuevo campo, ¿desea informar nuevamente?", "Nuevo campo")


    cRetorno := FWInputBox("Informe el contenido que se grabará en el nuevo campo", aCamposPar[1][2])


    AAdd(aCamposRet, {"F1_CHVNFE", AllTrim(cRetorno)}) // En la primera posición del array, informe el nombre del campo, en la segunda posición, informe el contenido que se grabará.

  Else
    aCamposRet := aCamposPar
   
  EndIf
EndIf


Return aCamposRet