Dúvida em Numeração SISBOV

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Dúvida em Numeração SISBOV

Mensagem por Marcos »

Tenho uma dúvida em relação a uma situação. A Numeração para Rastreabilidade Bovina exigida pelo SISBOV é composta por 16 Números (Ex. 0105510404922961) em um dado momento do controle vamos precisar do número do Manejo que compreende 6 números que fazem parte desta numeração que citei, neste caso são os números 492296, ao identificar o gado no curral tanto faz o operador informar o número com 16 dígitos ou o Manejo que também acha-se o animal, agora minha pergunta, compensa gravar o número de manejo separado no banco ou na hora de fazer a busca usa uma função e descarta-se os números desnecessários ?
Se for gravar o Manejo direto no banco, como posso através de uma função gravar somente os 6 números referente ao Manejo para não precisar digitar novamente no sistema ?

Marcos.
Editado pela última vez por Toledo em 13 Set 2017 20:08, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o [x]Harbour.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Dúvida em Numeração SISBOV

Mensagem por Toledo »

Se entendi direito, seria isto:

Código: Selecionar todos

cRastre:="0105510404922961"

cManejo:=SUBS(cRastre,10,6)
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida em Numeração SISBOV

Mensagem por Itamar M. Lins Jr. »

Ola!
Foram feitas algumas perguntas:
compensa gravar o número de manejo separado no banco ou na hora de fazer a busca usa uma função e descarta-se os números desnecessários ?
Eu gravaria o numero com 16 dígitos.
Para procurar usaria, por exemplo o sinal "$" ou a tal pesquisa incremental.
A medida que digitar os números o sistema vai achando fazendo o tal "LIKE" em SQL ou o ORDWILDSEEK em DBF, assunto muito discutido aqui no forum. Basta pesquisar aqui no forum para achar.
Ao Toledo:
como posso através de uma função gravar somente os 6 números
cManejo:=SUBS(cRastre,10,6)
, não seria SUBSTR() ?


Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Dúvida em Numeração SISBOV

Mensagem por Toledo »

Itamar, desculpe, é costume meu, mas tanto faz usar SUBSTR() ou SUBS()... funciona do mesmo jeito. Nome abreviado da função SUBSTR() = SUBS() ou SUBST()... dependendo do nome da função, pode abreviar até 3 ou 4 letras.

Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dúvida em Numeração SISBOV

Mensagem por JoséQuintas »

O que compõe a primeira parte do código? não são números fixos conforme determinada situação?
Se o arquivo ficar muito grande, pode deixar a pesquisa mais lenta ao pesquisar somente parte do código.

Opção 1: Gravar o código invertido, assim um SEEK resolve

Opção 2: Indexar por Substr( Código, 11, 6 ) + Substr( Código, 1, 10 )

Opção 3: Gravar em duas partes, indexar por parte1 + parte2 ou parte2 + parte1

Melhor analisar as possibilidades, de acordo com o que achar mais interessante para a sua necessidade.
Em duas partes pode ser interessante para o caso de usar depois MySQL ou outra base de dados.

Nota: Indexar por Substr() é pra ficar compatível com outras RDDs e Advantage Database por exemplo, não fosse isso, poderia usar Left() e Right()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Dúvida em Numeração SISBOV

Mensagem por Marcos »

Obrigado a todos pelo retorno, estou usando o Mysql como BD, na pratica como seria o uso do SUBSTR() para funcionar ?
Tenho o seguinte código:

Código: Selecionar todos

@ 100,005 textbox tbox_003;
  of form_animais;
  height 027;
  width 200;
  value x_numero_sisbov;   // [0105510404922961] aqui seria os 16 digitos
  numeric;
  font 'tahoma' size 010;
  backcolor _fundo_get;
  fontcolor _letra_get_1
@ 100,215 textbox tbox_004;
  of form_animais;
  height 027;
  width 200;
  value x_numero_manejo; // [492296] com base no textbox 003 gostaria de gerar esta numeração, quando o usuário pular para o textbox_004
  numeric;
  font 'tahoma' size 010;
  backcolor _fundo_get;
  fontcolor _letra_get_1
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dúvida em Numeração SISBOV

Mensagem por JoséQuintas »

xii... não tem nada a ver com Substr() ou numeração SISBOV, e sim com a LIB gráfica....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida em Numeração SISBOV

Mensagem por Itamar M. Lins Jr. »

Ola!
Tem que mover o tópico para a LIB gráfica que está usando. Parece Hwgui.
Ai, também já é outra pergunta, sem ser sobre a string de 16 dígitos.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Dúvida em Numeração SISBOV

Mensagem por Marcos »

Estou usando a lib gráfica Minigui.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida em Numeração SISBOV

Mensagem por Itamar M. Lins Jr. »

Ola!
Tá mandando informações, a conta gotas rsrsrs!
Veja a opção WHEN ai da Minigui.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Dúvida em Numeração SISBOV

Mensagem por Toledo »

Amigo, tente o seguinte:

Código: Selecionar todos

@ 100,215 textbox tbox_004;
  of form_animais;
  height 027;
  width 200;
  value x_numero_manejo;
  numeric;
  font 'tahoma' size 010;
  backcolor _fundo_get;
  fontcolor _letra_get_1;
  on gotfocus form_animais.tbox_004.Value:=VAL(SUBSTR(STRZERO(form_animais.tbox_003.Value,16),10,6))
Obs.: não testei, mas acho que vai funcionar.

Atenção: este tópico, futuramente, será movido para a seção MINIGUI.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Dúvida em Numeração SISBOV

Mensagem por Marcos »

:)) :)) :)) :D :D Resolvido, com a opção do Toledo, obrigado ao Toledo e a todos que escreveram. Até a próxima.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Responder