Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Informações

Para a utilização dos recursos do Smart X no módulo Contabilidade Gerencial, é necessário:

  • Release 12.1.2610 ou superior;
  • Lib Label igual ou superior a 20260418;
  • Dicionário de dados atualizado, conforme pacote de Expedição Contínua mais recente.


Nota
Nota
iconfalse
titleSmartX - 12.1.2610

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
iconfalse
titleFase de testes

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.Em rotinas MVC, o parâmetro PAGEACTION pode ser utilizado diretamente ao final da instrução ADD OPTION.
Dica
titleCom SmartX (12.1.2610+)
  • Opções podem ser exibidas como Page Actions — botões de destaque visíveis diretamente no browse, fora do menu dropdown, facilitando o acesso às ações mais utilizadas pelo usuário.
  • A distinção entre ação de destaque e ação secundária é feita pelo parâmetro PAGEACTION, presente na definição de cada item do menu.
  • Rotinas MVC utilizam a flag PAGEACTION diretamente ao final da instrução ADD OPTION.
  • Rotinas não-MVC utilizam a 10ª posição do array de retorno com valor .T. para indicar que o item é uma PageAction.

02. Ponto de Entrada - Inclusão de Opções no Menu da Rotina.

...

Dica:

Botões adicionados ao menu Ações do registro (sem a utilização do lPageAction ou PAGEACTION) normalmente representam funcionalidades que dependem de um registro selecionado para sua execução. Já os botões exibidos como Page Action (lPageAction = .T. ou utilização do PAGEACTION no ADD OPTION) geralmente representam funcionalidades independentes da seleção de registros, ficando disponíveis diretamente no browse para acesso rápido.

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 nos menus das rotinas tiveram seu comportamento ajustado com a adoção do SmartX, conforme detalhado abaixo:

Bloco de código
languagecpp
themeMidnight
titleExemplo de PE - MVC
#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
languagecpp
themeMidnight
titleExemplo de PE - Não MVC
#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.

Image Added


...