Sistema Ordem de Serviço
preciso de uma idéia pra fazer o seguinte, tenho q fazer um cadastro de O.S. só q vai funcionar da seguinte maneira,
O código da O.S. ( chave primária) vai ter 13 dígitos, só q os quatro primeiros dígitos vão ser fixos, por exemplo
0200000000001
0200123625362
e o resto dos 9 dígitos vai ser auto incremente, de 1 em 1, como posso fazer isso, sendo q os 4 números fixos vão ter 2 sequências, sendo uma:
0200
e a outra
0500
Preciso de uma luz pra resolver.
Grato pela atenção.
O código da O.S. ( chave primária) vai ter 13 dígitos, só q os quatro primeiros dígitos vão ser fixos, por exemplo
0200000000001
0200123625362
e o resto dos 9 dígitos vai ser auto incremente, de 1 em 1, como posso fazer isso, sendo q os 4 números fixos vão ter 2 sequências, sendo uma:
0200
e a outra
0500
Preciso de uma luz pra resolver.
Grato pela atenção.
Piassa
Curtidas 0
Respostas
Piassa
08/08/2004
sobe
GOSTEI 0
Ronaldo.cutu
08/08/2004
qual o banco de dados que vc usar
GOSTEI 0
Piassa
08/08/2004
qual o banco de dados que vc usar
interbase6
GOSTEI 0
Titanius
08/08/2004
Olá,
Podes criar um GENERATOR, chamado GEN_OS.. ele vai guardar os increnmentos da numeracao... já que voce vai usar os primeiros numeros fixos, podemos fazer o seguinte:
Amigo neste código usei o Query do componente MDO, mude a linha de criacao do Query para o componente que você está usando, ou apenas adicione um componente da paleta no Form e pronto... aih nao precisa cria-lo..
Espero ter ajudado,
abracos.
Podes criar um GENERATOR, chamado GEN_OS.. ele vai guardar os increnmentos da numeracao... já que voce vai usar os primeiros numeros fixos, podemos fazer o seguinte:
var Generator: integer; NovoCodigo: string; begin cQuery := TMDOQuery.Create(Application); cQuery.Database := MDODatabase1; with cQuery do begin // pega o valor incrementado no banco e incrementa mais 1 SQL.Add(´select gen_id(GEN_OS, 1) from rdb$database´); Open; // joga o valor em uma variavel Generator := cQuery.Fields[0].AsInteger; // formata a variavel com os 4 primeiros numeros fixos e o // resto com o numero gerado e caso nao seja de 9 posicoes, // preenche o resto com 0 NovoCodigo := 0500 + FormatFloat(´000000000´, Generator); cQuery.Free; end;
Amigo neste código usei o Query do componente MDO, mude a linha de criacao do Query para o componente que você está usando, ou apenas adicione um componente da paleta no Form e pronto... aih nao precisa cria-lo..
Espero ter ajudado,
abracos.
GOSTEI 0
Piassa
08/08/2004
vlw titanius, vou tentar desse jeito
GOSTEI 0