Dicionário de Dados

Bom dia pessoal do fórum.
Situação:
Após criar alguns aplicativos e renomear os labels manualmente, decidi utilizar o dicionário de dados nos mesmos.
Faço o procedimento para alterar os labels das aplicações e não altera.
Ele não encontra as aplicações criadas.

Se eu fizer uma aplicação nova, o dicionário funciona, porém com já existentes, não.
A solução é alterar cada label manualmente.
Será um BUG ou alguém tem a solução para isto?

Minhas dicas são:

Existem duas coisas a serem trabalhadas: a) O dicionário de Dados; b) Idioma das aplicações.

  1. Sempre que você criar uma tabela, antes de criar as aplicações referentes a esta tabela, você deverá atualizar o Dicionário de Dados e a seguir efetuar as devidas traduções nos Idiomas das aplicações. Feito isso é ir gerando todas as aplicações e tudo será feito automaticamente.

  2. Nunca atualize o Dicionário de Dados enquanto a aba de Idioma de Aplicações estiver aberta.

  3. Se precisar criar um novo campo na tabela - após gerado o idioma das aplicações - é só atualizar o Dicionário de Dados e os novos campos serão colocados no final da respectiva tabela (Idioma das Aplicações).

Fazendo assim tudo será automático, caso contrário só manualmente.

Ola Gesner,

Olha só, eu uso dicionário de dados em todas as minhas aplicações pois trabalho tudo multi idioma.
É mais trabalhoso mas o ganho em escala depois é grande.
Tudo o que o Mestre Jovito disse é verdade, e muito válido, mas gostaria de adicionar alguns pontos,
pois Eu já vi cada coisa sobre Dicionário de Dados que você nem acreditaria se eu te contasse.
Vou resumir algumas coisas que funcionam para mim.

  1. Mantenha o dicionário atualizado.
    Dentro do Dicionário de Dados, clique no botão recarregar.
    Se houver novas tabelas, o SC irá mostrar uma tab de novas tabelas. Ai vc seleciona as novas tabelas e adiciona ao dicionário.

  2. Matenha tabelas atualizadas
    Dentro do Dicionário de Dados, clique em Prosseguir na área de Sincronizar Tabelas.
    As tabelas que estão diferente do DB irão ficar em amarelo.
    Eu sempre seleciono gerar Índice nos arquivos de idioma com os labels dos campos tabela.
    Eu não seleciono sobrescrever indicies existetes nos arquivos de idioma. (pois ele mata a tua tradução, no meu caso)

Ao realizar este procedimento as tabelas desatualizadas ficarão com um icone bolinha de cor amarela
Na linha do icone amarelo, clique no link editar, e depois no botão atualizar. Isto vai fazer os novos campos serem carregados no Dicionário de dados (salvar o dicionário de dados)

  1. Agora, e só agora, clique no botão Prosseguir da área de Sincronizar Aplicações.
    Ao clicar em Prosseguir, depois dos dois passos anteriores, o SC deverá achar as aplicações que usam o dicionário de dados para esta tabela (atualizada).
    Ele vai te perguntar quais propriedades vc quer atualizar (label, tamanho, etc… )
    O Label é o padrão, Clique em Sincronizar.

Caso o SC informe que não existe aplicação utilizando existe dois casos possíveis
OU realmente não existe,
Ou existe e você precisará fechar o dicionário, fechar o SC, abrir tudo novamente e tentar.
Já aconteceu comigo de o SC só achar a aplicação na terceira tentativa.

Então meu amigo, é isto ai, 3 anos de experiência com dicionário de dados em 1 post.

Espero que ajude. Boa sorte.

Obrigado pelas dicas Cassio e Jovito.
Vou fazer um check list com as dicas citadas e ver se funciona.
Aparentemente, eu já fiz conforme citaram, me resta agora repetir por algumas “N” vezes conforme o Cassio mencionou.
Boa semana aos colegas.
G_

Alguém ai já “experimentou” o bug que o corre ao importar uma aplicação de outro projeto. Não consigo fazer com que o dicionário enxergue essa nova app nem com reza braba!!

Já “experimentei”, é bug mesmo, e preciso re-ler o banco de dados e gerar novamente. Infelizmente você perde a tradução!!! Sorry

Pois é… Isso mata qualquer estratégia de reutilizar apps em outros projetos, ou existe alguma possibilidade que não vejo!!!

O arquivo de idioma fica em uma pasta especifica.
Uma vez precisei utilizar uma traducao, eu exportei e importei o APP. e a traducao nao foi,
Eu fui e copiei diretamente do arquivo e copiei no novo arquivo de traducao (por favor do SC)
Funcionou.

Outra forma 'e exportar e importar a aplicacao toda (isto a traducao vai junto) e deletar o que nao vou usar.

sacou?

Cássio entendi não!!!

Vc diz exportar todas as aplicações do projeto de origem e importar todas no novo projeto ??? Ai é osso!!!

sim, eh osso.

Pode tentar por fora do SC. Nao recordo agora o diretorio, vejo para vc depois ok ?

Agradeceria!

Aqui,

O local onde o SC grava o idioma da aplicação é:

app/nome_da_aplicacao/_lib/lang

Nesta pasta, tem todos os arquivos de idioma, pt_br.lang.php é o Portugues Brasil, en_us.lang.php é o arquivo em Ingles, mesmo voce usando ingles from UK no meu caso.

Eu salvo este arquivo e copio para o novo aplicativo, isto já funcionou no passado. de uma aplicação para outra que tinha aplicações em comum.

ok ?

Desculpa a demora! Obrigado Cássio.