Conceito
Utilizando a tecnologia MVC para construir o seu formulário é possível reutilizar a interface em outros contextos como por exemplo em uma localização para outro país.
Existem três métodos para realizar esse reaproveitamento de interface:
<code>
Static Function ViewDef()
Local oView
Local oModel := FWLoadModel('MLOC003Old')
Local oStr1:= FWFormStruct(2, 'ZC3')
Local oStr2:= FWFormStruct(2, 'ZC4')
Local oStr3:= FWCalcStruct( oModel:GetModel('Totalizador') )
oView := FWFormView():New()
//Formulário Continuo
oView:SetContinuousForm(.T.)
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'ZC3MASTER' )
oView:AddGrid('FORM3' , oStr2,'ZC4DETAIL')
oView:AddField('FORM5', oStr3,'Totalizador')
oView:CreateHorizontalBox( 'BOXFORM1', 33) //33
oStr2:RemoveField( 'ZC4_COD' )
oView:CreateHorizontalBox( 'BOXFORM3', 33) //33
oView:CreateHorizontalBox( 'BOXFORM5', 34) //34
oView:SetOwnerView('FORM5','BOXFORM5')
oView:SetOwnerView('FORM3','BOXFORM3')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:EnableTitleView('FORM5' , 'Total' )
oView:EnableTitleView('FORM1' , 'Pedido' ) oView:EnableTitleView('FORM3' , 'Item' ) oView:AddIncrementField('FORM3' , 'ZC4_ITEM' ) oView:SetViewProperty('FORM3' , 'ENABLEDGRIDDETAIL' , {50} ) oView:SetViewProperty('FORM3' , 'ENABLENEWGRID' )
Return
Code Block |
---|
|
Static Function ViewDef()
Local oView
Local oModel := FWLoadModel('MLOC003Old')
Local oStr1:= FWFormStruct(2, 'ZC3')
Local oStr2:= FWFormStruct(2, 'ZC4')
Local oStr3:= FWCalcStruct( oModel:GetModel('Totalizador') ) |
Static Function ViewDef()
Local oView
Local oModel := FWLoadModel('MLOC003Old')
Local oStr1:= FWFormStruct(2, 'ZC3')
Local oStr2:= FWFormStruct(2, 'ZC4')
Local oStr3:= FWCalcStruct( oModel:GetModel('Totalizador') )
Return oView
</code>
Definição de idioma pelo cadastro de usuário
Para realizar essa definição acesse o módulo Configurador (SIGACFG) e no menu acesse Usuário/Senhas/Usuários(CFGA510)
Na tela de cadastro de usuário altere o idioma no campo Idioma do Sistema no grupo Parâmetros:
Figura 1 - Cadastro de Usuário
Figura 2 - Consulta de idiomas
Definição de idioma pelo cadastro de grupo de usuário
Para realizar essa definição acesse o módulo Configurador (SIGACFG) e no menu acesse Usuário/Senhas/Grupos(CFGA520)
Na tela de cadastro de grupo altere o idioma no campo Idioma do Sistema no grupo Parâmetros:
Figura 3 - Cadastro de Grupo
Caso o usuário esteja relacionado com mais de um grupo, o idioma será definido pelo grupo que está com o campo "Prioriza" como "Sim"
Figura 4 - Cadastro de Usuários
É possível aqui verificar se o Agent está em execução ou não e em caso de execução, qual a rotina que está sendo executada no momento e a sua última data de utilização. Isto ajuda a medir sua utilização, sendo possível diminuir o número de threads ou aumentaer de acordo com o uso deste Agent.
Definição de idioma pelo cadastro Política
Para realizar essa definição acesse o módulo Configurador (SIGACFG) e no menu acesse Usuário/Senhas/Política (CFGA500)
Na tela de política na aba Outros altere o idioma no campo Idioma do Sistema no grupo Genérico:
Figura 4 - Cadastro de Política
Definição de idioma pelo país do sistema
Se o idioma não for configurado por nenhum dos métodos anteriores, o sistema irá respeitar o idioma do país do ambiente conforme a seguinte tabela:
País | Idioma |
Angola | Espanhol |
Argentina | Espanhol |
Austrália | Inglês |
Bolívia | Espanhol |
Brasil | Português |
Chile | Espanhol |
Colombia | Espanhol |
Costa Rica | Espanhol |
República Dominicana | Espanhol |
Equador | Espanhol |
Estados Unidos | Inglês |
Haiti | Inglês |
México | Espanhol |
Panamá | Espanhol |
Paraguai | Espanhol |
Peru | Espanhol |
Portugal | Português |
Rússia | Russo |
Uruguai | Espanhol |
Venezuela | Espanhol |
Definições técnicas:
Campos passíveis de idioma alternativo, por entidades
- Dicionário de perguntas – SX1
- Pergunta, definição 1, definição 2, definição 3, definição 4, definição 5
- Dicionário de tabelas – SX2
- Dicionário de campos – SX3
- título, descrição e combobox (lista de opções)
- Cadastro de tabelas genéricas – SX5
- Dicionário de Parâmetros – SX6
- Descrição 1, 2 e 3 do parâmetro.
- Dicionário de Pastas e agrupamentos – SXA
- nome da pasta e do agrupamento
- Dicionário de consultas padrões – SXB
- Descrição da consulta, descrição das ordens, título dos campos da ordem
- Dicionário de regras de dependência – XXA
- Dicionário de grupo de campos – SXG
- Descrição do grupo de campos
- Help e help de campos
- Texto do help e da solução
- Tabela de strings de tradução de programas – arquivos .CH
- Menus do sistema
Dicionários de dados - metadado
Abaixo estão as tabelas onde os termos no idioma alternativo são gravados.
Para o idioma alternativo é utilizada a infraestrutura do flavour, porém os seguinte campos são preenchidos da seguinte maneira:
Campo | Conteúdo |
---|
_CODFLA | TRANSL |
_IDIOM | código do idioma ISO ( Exemplo pt-br, ru) |
Tabela: | XXG | Descrição | Dicionário - Flavour das perguntas |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXG_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXG_GRUPO | C | 10 | 0 | Grupo | Grupo da pergunta |
XXG_IDFIL | C | 6 | | Id. Filtro | Id. Do Filtro genérico |
XXG_ORDEM | C | 2 | 0 | Ordem | Ordem da Pergunta |
XXG_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXG_IDIOM | C | 5 | 0 | idioma | Idioma |
XXG_TEXT | C | 60 | 0 | Texto | Texto |
Tabela: | XXI | Descrição | Dicionário - Flavour das tabelas |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXI_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXI_ALIAS | C | 3 | 0 | Alias | Alias da tabela |
XXI_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXI_IDIOM | C | 5 | 0 | idioma | Idioma |
XXI_TEXT | C | 30 | 0 | Texto | Texto |
Tabela: | XXK | Descrição | Dicionário - Flavour dos campos |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXK_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXK_CAMPO | C | 10 | 0 | Campo | Campo |
XXK_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXK_IDIOM | C | 5 | 0 | idioma | Idioma |
XXK_TEXT | C | 128 | 0 | Texto | Texto |
Tabela: | XXL | Descrição | Dicionário - Flavour das tabelas genéricas |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXL_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXL_TABELA | C | 2 | 0 | Tabela | Tabela |
XXL_CHAVE | C | 6 | 0 | Chave | Chave |
XXL_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXK_IDIOM | C | 5 | 0 | idioma | Idioma |
XXK_TEXT | C | 55 | 0 | Texto | Texto |
Tabela: | XXM | Descrição | Dicionário - Flavour dos parâmetros |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXM_VAR | C | 10 | 0 | Parâmetro | Parâmetro |
XXM_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXM_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXM_IDIOM | C | 5 | 0 | idioma | Idioma |
XXM_TEXT | C | 55 | 0 | Texto | Texto |
Tabela: | XXN | Descrição | Dicionário - Flavour das pastas e agrupamentos |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXN_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXN_ALIAS | C | 3 | 0 | Alias | Alias |
XXN_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXN_AGRUP | C | 3 | 0 | Agrupamento | Agrupamento |
XXN_ORDEM | C | 1 | 0 | Ordem | Ordem |
XXN_IDIOM | C | 5 | 0 | idioma | Idioma |
XXN_TEXT | C | 30 | 0 | Texto | Texto |
Tabela: | XXO | Descrição | Dicionário - Flavour das consultas padrões |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXO_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXO_CODSXB | C | 6 | 0 | Alias | Alias |
XXO_TIPO | C | 1 | 0 | Tipo | Tipo |
XXO_SEQ | C | 2 | 0 | Sequência | Sequência |
XXO_COLUNA | C | 2 | 0 | Coluna | Coluna |
XXO_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXO_IDIOM | C | 5 | 0 | idioma | Idioma |
XXO_TEXT | C | 20 | 0 | Texto | Texto |
Tabela: | XXQ | Descrição | Dicionário - Flavour dos grupos de campos |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXQ_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXQ_GRUPO | C | 3 | 0 | Grupo | Grupo |
XXQ_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXQ_IDIOM | C | 5 | 0 | idioma | Idioma |
XXQ_TEXT | C | 30 | 0 | Texto | Texto |
Tabela: | XXR | Descrição | Dicionário - Flavour das strings de programas |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXR_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXR_PROGRA | C | 255 | 0 | Programa | Programa |
XXR_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXR_IDIOM | C | 5 | 0 | idioma | Idioma |
XXR_TEXT | C | 500 | 0 | Texto | Texto |
Tabela: | XXS | Descrição | Dicionário - Flavour dos itens de Menu |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXS_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXS_CODIGO | C | 10 | 0 | Código | Código do item |
XXS_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXS_IDIOM | C | 5 | 0 | idioma | Idioma |
XXS_TEXT | C | 380 | 0 | Texto | Texto |
Tabela: | XAB | Descrição | Dicionário - Flavour do help de campo e validação |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XAB_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XAB_CODHLS | C | 30 | 0 | Código | Código do help |
XAB_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XAB_IDIOM | C | 5 | 0 | idioma | Idioma |
XAB_TEXT | M | 10 | 0 | Texto | Texto(Campo Memo) |
Tabela: | XXW | Descrição | Dicionário - Flavour de Índice |
Campo | Tipo | Tamanho | Descrição |
Int. | Dec. | Resumida | Completa |
XXW_CODFLA | C | 6 | 0 | Cód Flavour | Código do Flavour |
XXW_TABLE | C | 30 | 0 | Tabela | Tabela do Indice |
XXW_ORDER | C | 1 | 0 | Ordem | Ordem do ìndice |
XXW_ATTRIB | C | 10 | 0 | Atributo | Campo atributo |
XXW_IDIOM | C | 5 | 0 | idioma | Idioma |
XXW_TEXT | C | 160 | 0 | Texto | Texto |