GARANTIR DESCONTO

Fórum Campo Codigo #355692

19/03/2008

0

:D Ola Delphianos de plantão...

Essa é para vcs, e para mim sera um grande aprendizado.

Digamos que acabamos de criar uma tabela no banco de dados do IBExpert como segue abaixo:

Campos

Id_Funcionario Integer
Nome_cli VarChar
Data_Cad Date
Data_Ani Date
Salario Numeric

No campo Id_Funcionario devera ser um campo automatico mas con digito verificador Segue exemplo abaixo:

Incrementando normalmente ele seria algo assim;

Código ===> 1 ou 00001

Mas devera ser conforme segue abaixo:

Código ===> 0001-7 para o Primeiro Funcionario

Código ===> 0001-4 para o Segundo Funcionario e assim por diante...

Alguem sabe como fazer isso no Delphi 7 usando firebird2.0 e o IbExpert.

Grato a quem puder me ajudar....


Sergio


Peterpan

Peterpan

Responder

Posts

20/03/2008

Webjoel

Olá!

Primeiro você tem que nos informar qual a lógica você usará para definir este dígito verificador, mas ao que tudo indica você terá dois campos, um para o código e outro para o dígito e terá que concatenar!

Mas nos diga a lógica desse seu código do funcionário, sem isso, não podemos ajudar!

E dá-lhe F9!


Responder

Gostei + 0

20/03/2008

Peterpan

Olá! Primeiro você tem que nos informar qual a lógica você usará para definir este dígito verificador, mas ao que tudo indica você terá dois campos, um para o código e outro para o dígito e terá que concatenar! Mas nos diga a lógica desse seu código do funcionário, sem isso, não podemos ajudar! E dá-lhe F9!


Caro amigo Delphino webjoel

Simples responder para vc, imagine que vc esta desenvolvendo um sistema para uma Loja de Materiais de Construção, existem varios produtos Exemplo:

Tubos de conexões, Sacos de Cimento, Cal, Areia Tipo(1), (2), Bloco Baianinho e Baianão etc...

Esses Materiais necessitam de codigos diferentes, sei que a auto numeração ja da um código para cada item desses produtos, mas esse digito servira apenas para distinguir o material na venda, apenas para uma segurança maior do Vendedor e do Cliente que o esta comprando.

Segue um exemplo Abaixo:

Tubo de Conexão Tigre 3/4 ==> Código 100-4

Tubo de Conexão Tigre 1/2 ==> Código 101-7

Tubo de Conexão Tigre 3/8 ==> Código 102-9

3m Cúbicos de Areia Tipo 1 Fina ==> Código 103-1

3m Cúbicos de Areia Tipo 2 Fina ==> Código 104-5

1 milheiro de Bloco Tipo Baianão ==> Código 105-3

1 milheiro de Bloco Tipo Baianinho ==> Código 106-6

e assim por diante...

E tbem leva-se em consideração na hora do balancete, fica mais fácil do setor de expedição/estoque fazer a contagem de cada material verificando assim qtas pecas existem de cada produto.

Espero ter ajudado

Abraços

Sergio


Responder

Gostei + 0

20/03/2008

Webjoel

Ok,

Neste caso então, você terá que criar esse código como um campo varchar, no caso eu aconselharia vc criar um generator pra essa tabela, e criar um campo varchar, onde você pegará o código do generatoor, + o ´-´ + o digito.

Isso você pode criar de várias maneiras, tanto fazendo o digito sendo um digito verificador, assim criando uma função para gerar esse numero a partir do valor do ganerator, a lógica da função você escolhe!

Mas evite usar esse campo como chave primária, crie dois tipos de codigo, un sequencia inteiro como chave primária, para ser usado pelo sistema e outro varchar com esse código que vc passou como varchar e usado pelo usuário.

E dá-lhe F9!


Responder

Gostei + 0

20/03/2008

Emerson Nascimento

o que você explicou não justifica o dígito verificador pois, como o prefixo não se repete, ele já tornaria o registro único.

o dígito verificador é utilizado para avaliar a legitimidade de um código.
por exemplo: num CPF, o dígito verificador serve para avaliar a consistência de um CPF.
no seu caso esse tipo de verificação não me parece necessária, mas pode ser implantada facilmente utilizando TRIGGER em conjunto com GENERATOR para preencher o código (ID).


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar