Melhor Pratica pra o código ser calculado apenas quando efetivamente incluído.

Boa Tarde,

Pessoal, na versão 8 para calcular os códigos fiz assim.

Criei uma função passando a empresa e a tabela.

Então criei um evento BeforeInsert, passava:

{Código} = CalculaCodigo(‘TabelaTal’,‘EmpresaTal’);

E no AfterInsert

{Código} = ‘’;

Funcionou beleza, ou seja o código somente seria calculado ao efetivar o registro no banco (isso para não ficar pulando códigos vazios). No tipo de campo eu colocava label, funcionou beleza, agora com o SC9 o mesmo não funciona tive que passar o campo pra Texto e incluir que é label nas opções.

Talvez isso não seja uma boa pratica mas foi como consegui. terei que alterar tudo mesmo, ou existe algum parâmetro que o faça funcionar como no 8 ?

Claudney

Nada galera, no 9 não deu certo mesmo, ainda apanhando.
Funcionava beleza no 8 era so por que o text = label, bem fácil, agora no 9 não funfa mesmo.

E o que é pior, o cadastro de empresas funciona e os produtos não, mesmo jeito.

Claudney

Valeu pela dica Claudney, tenho situações parecidas com a sua, ficarei atento nas conversões para o V9 !

Para resolver tive que fazer assim, orientado pelo pessoal do SC.

Deixar o tipo do campo como texto ou numéricos

Incluir valor padrão

Espaço em branco para text

0 para numéricos

agora no OnScriptInit

sc_field_readonly({Codigo});

Ai funciona, vou fazer isso nos outros 161 formulários.

Abraços.

Claudney