Histórico da Página
A Mudança
...
na Arquitetura
O Browser Smart X moderniza revoluciona a visualização de dados (Browse) com uma interface muito mais amigável e atualizada.
Como ele foi integrado diretamente à classe FWMBrowse, você pode aplicar esse novo visual facilmente em rotinas já existentes, como o Aplicamos essa evolução para a rotina de Cadastro de Produtos (MATA010). Sua estrutura modular permite ativar apenas a nova tela inicial de visualização, aproveitando as regras , renovando completamente a tela inicial de listagem. A grande vantagem é que preservamos intactas todas as regras originais de inclusão, edição e exclusão que o MATA010 já possui.
1. Formulários e Telas de Cadastro
O desenvolvimento visual manual deixa de existir. O Protheus agora gera a tela automaticamente com base em Metadados/JSON.
Fim do Layout Manual: Funções como
ViewDef,CreateHorizontalBoxeAddOtherObjectnão funcionam mais. O layout agora é 100% responsivo e automático.Fim do "When" Dinâmico: A validação de edição (
X3_WHEN) não avalia mais expressões AdvPL em tempo real na tela.Variáveis de Memória e Tabelas Temporárias: Estão proibidas. Como a API não guarda estado, tudo deve trafegar via JSON e usar tabelas reais no banco.
Markbrowse (Caixa de Seleção): Só funciona na tela principal de listagem (Browse). Não é possível usar Markbrowse nas grids internas de edição (Tabelas Filhas/Itens).
...
. Assim, você garante um expressivo ganho visual com o mínimo de impacto nas suas customizações já existentes.
...
Abaixo segue as principais mudanças:
Browser (Listagem de Dados)
O Browse Browser padrão perdeu algumas flexibilidades manuais para ganhar muita performance e padronização visual.
Painel Mestre/Detalhe: Aquela divisão de tela (Pedido em cima, Itens embaixo na mesma tela) não é mais o padrão. Agora, o usuário clica no registro e abre uma nova página com os detalhes (Drill-down).
Busca Rápida (Lupa): Agora ela só pesquisa o que já está carregado na memória (na página atual da grid). Para buscar algo que está no banco, deve-se usar o Filtro Avançado.
Papel de Trabalho (SIGACFG): Atenção máxima aqui! Toda a configuração de Papel de Trabalho é ignorada no Smart X (filtros forçados, restrição de botões, layout forçado).
3. Identidade Visual (Cores, Fontes e Legendas)
O Smart X utiliza um Design System rigoroso (PO UI). O "carnaval visual" acaba em prol da acessibilidade e padronização corporativa.
Adeus Arquivos .BMP: Bolinhas coloridas e ícones antigos não funcionam.
Bem-vindas "Tags": As legendas agora são componentes web padronizados (retângulos com texto).
Cores Padronizadas: Você não pode mais usar RGB ou Hexadecimal. Deve usar as classes CSS do sistema (Ex:
color-07para Vermelho/Erro,color-11para Verde/Sucesso).Personalização do Usuário Limitada: O usuário final ainda pode escolher quais colunas ver e ordená-las, mas não pode mais injetar fórmulas AdvPL nas colunas, nem mudar livremente cores e fontes.
4. Filtros e Validações (Pontos de Entrada)
A lógica de programação muda de "manipular a tela" para "validar o dado".
Filtros AdvPL não funcionam: Filtros com
Date()ou funções de usuário (U_Func) quebrarão. Tudo deve ser feito via SQL ou protocolo oData.SetFilterDefault: Se for usar, é obrigatório colocar um@antes da expressão para indicar que é um comando SQL direto (Ex:@ CAMPO = 'VALOR'). ODbSetFilteré simplesmente ignorado.Pontos de Entrada (PEs): Focados apenas em regras de negócio.
Deixam de existir/Ignorados:
MODELPRE,BUTTONBAR(botões agora são Actions da API).Adaptados:
FORMPRE,FORMPOS,MODELCOMMITpassam a receber e validar o objeto de dados (JSON/Modelo), sem manipular interface.
...
📋 O que Faz e Não Faz
| Funcionalidade | Browser Padrão(MVC) | Bowser Browser Smart X | Status na Migração | ||||
| Botões Customizados | ✅ Faz (Bloco de código) | ⚠️ Adaptar | Converter para Actions/API. | ||||
| Config. Papel Trabalho | ✅ Faz (Filtros, Layout) | ❌ Não Faz | Crítico. Migrar para código ou Dicionário. | DbSetFilter Workarea | ✅ Faz (Respeita filtro) | ❌ Não Faz | |
| Crítico. Ignorado pela nova query. | Filtro com AdvPL | ✅ Faz (Date(), U_Func) | ❌ Não Faz | Crítico. Converter para SQL/oData. | |||
| Interface Responsiva | ⚠️ Limitado (HTML antigo) | ✅ Faz | Nativo (PO UI). | ||||
| Legendas (.BMP) | ✅ Faz (Bitmaps/RGB) | ❌ Não Faz | Crítico. Usar Tags/CSS (color-07). | ||||
| Painel Mestre/Detalhe | ✅ Faz (Mesma tela) | ❌ Não Faz | UX muda para Drill-down (Nova tela). | ||||
| Pesquisa por Índice | ✅ Faz (Lupa/DbSeek) | ❌ Não Faz | Usar Filtro Avançado. Busca rápida é só memória. | Protocolo oData | ❌ Não Faz | ✅ Faz | Nativo. |
| SetFields | ✅ Faz | ❌ Não Faz | Crítico. Migrar para Dicionário. | ||||
| SetFilterDefault | ✅ Faz (AdvPL e SQL) | ⚠️ Parcial | Requer SQL com prefixo @. |
...
Ponto de Entrada do Browser no SMART X
No Browser Smart X só e permitido a utilização do Ponto de entrada com Retorno na Expressão SQL.
| Ponto de Entrada | Descrição | Browser Smart X |
| MA010FIL | Filtro do Browser expressão ADVPL | ❌ Não Faz |
| M010FILB | Filtro do Browser expressão SQL | ✅ Faz (Respeita filtro) |
| MT010BRW | Criar Botões no aRotina | ✅ Faz (Cria no Menu) |
...
Smart X
...
busca e Filtros
- A paginação do browser é apresentado apenas 100 registro sendo possível alterar para 1000 registros.
- No filtro a consulta analisa busca todos registro na base de dados, retornando o registro filtrado.
...
- Tela Convertida do Cadastro de Produto para SMART X
...
...
Links úteis:
- FWMBrowse - Abertura do browse utilizando Smart X
- Mudança de Comportamento entre Rotinas MVC e Smart X
...
