Histórico da Página
| Índice |
|---|
| Informações |
|---|
Para a utilização dos recursos do Smart X no módulo Contabilidade Gerencial, é necessário:
|
| Nota | |||
|---|---|---|---|
| |||
| |||
A partir da release 12.1.2610, a rotina passa a permitir a visualização do browser utilizando o Smart X SmartX. Com essa alteração, a implementação de Pontos de Entrada (PE) relacionados à inclusão de opções de menu passa a ter um novo comportamento, especialmente no que se refere à forma como as ações são exibidas na interface. |
| Aviso | ||||
|---|---|---|---|---|
| ||||
Funcionalidade disponível a partir da release 12.1.2610 e em rotinas com browser SmartX habilitado. |
01. Visão Geral
O SmartX é a integração do framework POUI ao Protheus, permitindo que as rotinas sejam renderizadas em um browser moderno com componentes visuais mais ricos e responsivos. Com essa mudança, a forma como os Pontos de Entrada (PE's) customizam o menu de ações das rotinas foi atualizada para se adequar ao novo modelo de interface.
...
Comportamento Anterior X Novo Comportamento (SmartX)
...
| Antes |
|---|
...
| Depois |
|---|
...
| Opções adicionadas via PE apareciam exclusivamente no |
...
| menu de Outras ações |
...
| , sem possibilidade de destaque visual diferenciado. | As opções podem ser exibidas como Page Actions, permitindo destacar botões diretamente no browse, fora do menu dropdown, facilitando o acesso às ações mais utilizadas. |
| Não havia distinção visual entre uma ação principal e uma ação secundária |
...
| , pois todos os itens recebiam o mesmo tratamento visual. | A distinção entre ação principal e ação secundária passa a ser realizada através do parâmetro PAGEACTION, definido em cada item de menu. |
Em rotinas |
...
não-MVC, |
...
não existia a utilização da 10ª posição do array de retorno |
...
para definir o parâmetro responsável pela exibição do item como Page Action. | Em rotinas não-MVC, a 10ª posição do array de retorno deve receber o valor .T. para indicar que o item será exibido como Page Action. |
Rotinas MVC utilizavam o comando ADD OPTION, porém sem suporte ao parâmetro |
...
PAGEACTION. |
...
| title | Com SmartX (12.1.2610+) |
|---|
...
Em rotinas MVC, o parâmetro PAGEACTION pode ser utilizado diretamente ao final da instrução |
...
ADD OPTION. |
| Dica | ||
|---|---|---|
| ||
Botões adicionados ao menu Ações do registro (sem a utilização do .T. para indicar que o item é uma PageAction. |
02. Ponto de Entrada - Inclusão de Opções no Menu da Rotina
...
Os Pontos de Entrada responsáveis pela inclusão de novas opções no menu nos menus das rotinas tiveram seu comportamento alteradoajustado com a adoção do SmartX. O novo padrão diferencia rotinas do tipo MVC e Não-MVC, cada uma com sua própria sintaxe e parâmetros.
| Nota | ||
|---|---|---|
| ||
Em rotinas MVC, o array de opções é recebido via PARAMIXB[1] e as opções são adicionadas com o comando ADD OPTION. |
| Nota | ||
|---|---|---|
| ||
Em rotinas Não-MVC, o array é criado do zero e as opções são adicionadas via aAdd(), utilizando posições fixas no array. |
do SmartX, conforme detalhado abaixo:
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
#INCLUDE 'TLPP-CORE.TH'
#INCLUDE 'FWMVCDEF.CH'
User Function CT020ROT()
Local aNovoItemMenu As Array
Local lPageAction As Logical
aNovoItemMenu := PARAMIXB[ 1 ]
lPageAction := .T. // Indica que o Botão Será Adicionado ao PageAction do Browse da Rotina.
// Opção no Menu - Ações de Registro.
ADD OPTION aNovoItemMenu TITLE 'Teste SmartX' ACTION 'Alert("Teste SmartX")' OPERATION MODEL_OPERATION_UPDATE ACCESS 0
// Opção Exibida Diretamente no Browse da Rotina - Page Action.
ADD OPTION aNovoItemMenu TITLE 'Teste SmartX - Page Action' ACTION 'Alert("Teste SmartX")' OPERATION MODEL_OPERATION_UPDATE ACCESS 0 PAGEACTION
Return( aNovoItemMenu ) |
| Bloco de código |
|---|
...
| ||||||
#INCLUDE 'TLPP-CORE.TH'
User Function CT240BUT()
Local aNovoItemMenu As Array
Local lPageAction As Logical
aNovoItemMenu := {}
lPageAction := .T. // Indica que o Botão Será Adicionado ao PageAction do Browse da Rotina.
// Opção no Menu - Ações de Registro.
aAdd( aNovoItemMenu, { 'Teste SmartX - Page Action', 'Alert( "Teste SmartX" )', 0, 9,,,,,, lPageAction } )
// Opção Exibida Diretamente no Browse da Rotina.
aAdd( aNovoItemMenu, { 'Teste SmartX', 'Alert( "Teste SmartX" )' , 0, 7 } )
Return( aNovoItemMenu ) |
03. Exemplo de Browse da Rotina
Abaixo são demonstrados dois exemplos de inclusão de botões: um utilizando os parâmetros PAGEACTION/lPageAction, que exibe o botão diretamente no PageAction do browser, e outro sem a utilização desses parâmetros, no qual o botão é exibido dentro do menu Ações do registro.
...
