← Todos los temasPUNTO DE ENTRADAEn revisión
F241BTN
ExecBlock("F241BTN", .F., .F., aBut240)Colección recibida en FINA241: análisis del llamador y diagnóstico editorial del contexto.
F241BTNFINA241
01 · DESCRIPCIÓN GENERALDescripción general
La lista oficial registra ExecBlock con aBut240 como cuarto argumento. (TOTVS, s.f., ref. 2) Academia ProERP publica un análisis titulado Protheus 12.1.2210 que sitúa la llamada en FA241BORDE y asigna el retorno a aBut240; Universo do Desenvolvedor también muestra ese fragmento. (Academia ProERP, s.f., ref. 3; Universo do Desenvolvedor, s.f., ref. 4) Esta lectura orienta el diagnóstico siguiente, pero no documenta la estructura de cada botón. El índice mantiene la ficha específica en construcción. Academia se consultó mediante evidencia indexada; no se inspeccionó el fuente estándar completo ni se ejecutó el ejemplo en Protheus.
02 · SINTAXISSintaxis
ExecBlock("F241BTN", .F., .F., aBut240)
Parámetros
PARAMIXB / aBut240Cualquiera (verificar en el release)Contexto por confirmar
Según la regla general de ExecBlock, el cuarto argumento está disponible directamente en PARAMIXB. La llamada pasa aBut240 sin envolverlo en otro array. (TOTVS, s.f., refs. 2 y 5) El diagnóstico comprueba el tipo efectivo antes de contar elementos; no presupone que PARAMIXB[1] contenga la colección completa.
Retorno
En el fragmento comunitario, el retorno de ExecBlock sustituye aBut240. Esto sugiere devolver la colección al llamador; es una interpretación del fragmento, no un contrato oficial completo. El ejemplo editorial devuelve el contenido recibido sin modificarlo.
03 · EJEMPLO PRÁCTICODiagnóstico editorial que conserva el contenido recibido
#Include "Protheus.ch"
User Function F241BTN()
// Ejemplo editorial basado en la llamada publicada; no es código de Academia.
// El contexto llega directamente por PARAMIXB, sin presuponer posiciones de botón.
Local uBotones := PARAMIXB
ConOut("F241BTN: tipo recibido = " + ValType(uBotones))
// Cuenta solo después de confirmar que el contenido recibido es un array.
If ValType(uBotones) == "A"
ConOut("F241BTN: cantidad de elementos = " + AllTrim(Str(Len(uBotones))))
EndIf
// Conserva el valor recibido; este ejemplo no añade botones.
Return uBotones
Resultado esperadoSi PARAMIXB es array, escribe su tipo y cantidad de elementos; para otros tipos, escribe solo el tipo. Devuelve el mismo contenido recibido. Comportamiento previsto por lectura del código; no compilado ni ejecutado en Protheus.
04 · EJEMPLO PRÁCTICOFragmento del llamador publicado por la comunidad
// Fragmento documental atribuido a Academia ProERP y Universo do Desenvolvedor.
// No se reproduce el resto de FA241BORDE.
aBut240 := ExecBlock("F241BTN", .F., .F., aBut240)
Resultado esperadoEl fragmento asigna el retorno a aBut240. No es una implementación de F241BTN ni puede ejecutarse de forma aislada.
BUENAS PRÁCTICAS- La manipulación de la colección se infiere del llamador; formato de filas, acciones y permisos siguen por confirmar.
- Confirme el PE en el release utilizado antes de añadir o modificar botones. El título 12.1.2210 no demuestra compatibilidad con otros releases.
- El diagnóstico registra solo tipo y cantidad; no imprime títulos, valores ni contenido de los elementos.
- Momento de la transacción, aliases, bloqueos y estructura interna de la colección sin confirmar.
Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.