LEITURA DE POSICAO NO CODIGO DE BARRA
olá.. pessoal, bom dia, preciso pegar a posição do valor no código de barra abaixo.
como estou fazendo está me retornando o valor de 105,00.
e preciso de retorne 1,05.
Dim Posicao
Dim Preco As Double
Posicao = [Ô]2602200001054[Ô]
Preco = Mid(Posicao, 10, 3)
MsgBox Format(Preco, [Ô]###,##0.00[Ô])
como estou fazendo está me retornando o valor de 105,00.
e preciso de retorne 1,05.
Dim Posicao
Dim Preco As Double
Posicao = [Ô]2602200001054[Ô]
Preco = Mid(Posicao, 10, 3)
MsgBox Format(Preco, [Ô]###,##0.00[Ô])
só muda o format assim
só uma pergunta como você vai fazer pra valores acima de 1,000,00 reais, ou até mesmo 100,00, pois seu mid terá que mudar, ou seja acredito que uma quantidade X de caracteres finais seja apenas para valor, ex: 0000105, ou seja reveja a posição inicial do mid.
MsgBox Format(Format(Preco, [Ô]@@@,@@[Ô]), [Ô]###,##0.00[Ô])
só uma pergunta como você vai fazer pra valores acima de 1,000,00 reais, ou até mesmo 100,00, pois seu mid terá que mudar, ou seja acredito que uma quantidade X de caracteres finais seja apenas para valor, ex: 0000105, ou seja reveja a posição inicial do mid.
perfeito marcelo, agora preciso de uma dica, tenho um campo onde pego o código de barra dos produtos cadastrados, até aÃ. tudo sertinho. mas tem tem a situação com as etiquetas impressa na balando [Ô]frutas, verduras etc.[Ô]. estou em dúvida, se tenho que usar outro diferenciar .
essim pego os produtos...
Private Sub TxtCodBarra_KeyPress(KeyAscii As Integer)
On Error GoTo Trataerro
If KeyAscii = vbKeyReturn Then
If Len(TxtCodBarra.Text) = 13 Then
Set Rst = New ADODB.Recordset
Sql = [Ô]Select Cod_Barra, Prod_Descricao_Completa, Vlr_Venda From Tb_Produtos[Ô]
Sql = Sql & [Ô] Where Cod_Barra =[ô][Ô] & TxtCodBarra.Text & [Ô][ô][Ô]
Rst.Open Sql, Conexao
If Rst.EOF = True Then
MsgBox ([Ô]Produto não Cadastrado ou Código Inválido[Ô]), vbExclamation, [Ô]ATENÇÃO[Ô]
TxtCodBarra.Text = [Ô][Ô]
TxtCodBarra.SetFocus
TxtQuant.Text = [Ô]1,000[Ô]
Exit Sub
Else
LblDescricao.Caption = Rst!Prod_Descricao_Completa
TxtVlr_Unit.Text = Format(Rst!Vlr_Venda, [Ô]###,##0.00[Ô])
Dim Qtd As Double
Qtd = Format(CDbl(TxtVlr_Unit.Text) * TxtQuant.Text, [Ô]###,##0.00[Ô])
TxtVlr_PrecoTotal.Text = Format(CDbl(Qtd), [Ô]###,##0.00[Ô])
Rst.Close
Set Rst = Nothing
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema[Ô]
End Sub
essim pego os produtos...
Private Sub TxtCodBarra_KeyPress(KeyAscii As Integer)
On Error GoTo Trataerro
If KeyAscii = vbKeyReturn Then
If Len(TxtCodBarra.Text) = 13 Then
Set Rst = New ADODB.Recordset
Sql = [Ô]Select Cod_Barra, Prod_Descricao_Completa, Vlr_Venda From Tb_Produtos[Ô]
Sql = Sql & [Ô] Where Cod_Barra =[ô][Ô] & TxtCodBarra.Text & [Ô][ô][Ô]
Rst.Open Sql, Conexao
If Rst.EOF = True Then
MsgBox ([Ô]Produto não Cadastrado ou Código Inválido[Ô]), vbExclamation, [Ô]ATENÇÃO[Ô]
TxtCodBarra.Text = [Ô][Ô]
TxtCodBarra.SetFocus
TxtQuant.Text = [Ô]1,000[Ô]
Exit Sub
Else
LblDescricao.Caption = Rst!Prod_Descricao_Completa
TxtVlr_Unit.Text = Format(Rst!Vlr_Venda, [Ô]###,##0.00[Ô])
Dim Qtd As Double
Qtd = Format(CDbl(TxtVlr_Unit.Text) * TxtQuant.Text, [Ô]###,##0.00[Ô])
TxtVlr_PrecoTotal.Text = Format(CDbl(Qtd), [Ô]###,##0.00[Ô])
Rst.Close
Set Rst = Nothing
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema[Ô]
End Sub
Não sei se entendi sua duvida, mas é assim frutas e legumes são cadastrados como produtos, isso é normal, a diferença é que a balança imprime o código de barra na hora, com o valor.
Trabalhei com padrão EAN a uns 10 anos atráz e na época os códigos internos tinham que começar com 20...........
Todos os demais códigos eram reservados ao padrão EAN13, obedecendo a nomenclatura padrão do orgão.
Todos os demais códigos eram reservados ao padrão EAN13, obedecendo a nomenclatura padrão do orgão.
isso. os produtos já estão cadastros, a dúvida é, ao passar a etiqueta no leitor, ele vai identificar qual a posição do dódigo do produto e fazer o mesmo processo no código ean13. ?.
mas claro que sem o valor do peso..
obs: sobre os valores acima de 1.000,00, ou 100,00, já havia percebido esse detalhe. qual seria a melhor forma de resolver ?
mas claro que sem o valor do peso..
obs: sobre os valores acima de 1.000,00, ou 100,00, já havia percebido esse detalhe. qual seria a melhor forma de resolver ?
na realidade vc terá de ver a regra de impressão veja como é pra balança toledo
Formato do EAN-13 nas impressoras Toledo
Não possuÃmos manual referente a código de barras. Existe uma associação que regulamenta o setor e tenta evitar que dois produtos tenham o mesmo código de barras. Não sei lhe dizer qual o nome desta associação, mas sei que as balanças comercias utilizam o padrão EAN-13 e os códigos dos produtos começam sempre com o numeral 2. Nossas balanças podem ser configuradas para imprimir o código de barras de várias formas, veja como é composto o EAN-13:
é formado por 13 números: 2CCCCCMXXXXXD, o primeiro dÃgito sempre será 2, os próximos 5 ou 6 números serão o código (C ou C+M), os próximos 5 ou 6 números serão o peso ou preço total (peso = X, preço total = M+X) e o último número é o dÃgito verificador (D).
Exemplo:
Foi efetuada uma venda de um produto com essas caracterÃsticas: Código = 19632, Peso = 1,120 kg, Preço p/ kg = 17,45 e Preço Total = R$19,54. Veja abaixo o que será impresso no código de barras da etiqueta:
1 - Balança configurada para imprimir o código de barras com 4 dÃgitos de código e preço total (configuração padrão de fábrica):
2963200019549.
2 - Balança configurada para imprimir o código de barras com 5 dÃgitos de código e preço total:
2196320019544.
3 - Balança configurada para imprimir o código de barras com 4 dÃgitos de código e peso / quantidade:
2963200011208.
4 - Balança configurada para imprimir o código de barras com 5 dÃgitos de código e peso / quantidade:
2196320011203.
5 - Balança configurada para imprimir o código de barras com 6 dÃgitos de código e peso / quantidade:
2019632011207.
ou seja como dito anteriormente o primeiro numero indica que o preçovem da balança os demais é só você seguir a regra
Formato do EAN-13 nas impressoras Toledo
Não possuÃmos manual referente a código de barras. Existe uma associação que regulamenta o setor e tenta evitar que dois produtos tenham o mesmo código de barras. Não sei lhe dizer qual o nome desta associação, mas sei que as balanças comercias utilizam o padrão EAN-13 e os códigos dos produtos começam sempre com o numeral 2. Nossas balanças podem ser configuradas para imprimir o código de barras de várias formas, veja como é composto o EAN-13:
é formado por 13 números: 2CCCCCMXXXXXD, o primeiro dÃgito sempre será 2, os próximos 5 ou 6 números serão o código (C ou C+M), os próximos 5 ou 6 números serão o peso ou preço total (peso = X, preço total = M+X) e o último número é o dÃgito verificador (D).
Exemplo:
Foi efetuada uma venda de um produto com essas caracterÃsticas: Código = 19632, Peso = 1,120 kg, Preço p/ kg = 17,45 e Preço Total = R$19,54. Veja abaixo o que será impresso no código de barras da etiqueta:
1 - Balança configurada para imprimir o código de barras com 4 dÃgitos de código e preço total (configuração padrão de fábrica):
2963200019549.
2 - Balança configurada para imprimir o código de barras com 5 dÃgitos de código e preço total:
2196320019544.
3 - Balança configurada para imprimir o código de barras com 4 dÃgitos de código e peso / quantidade:
2963200011208.
4 - Balança configurada para imprimir o código de barras com 5 dÃgitos de código e peso / quantidade:
2196320011203.
5 - Balança configurada para imprimir o código de barras com 6 dÃgitos de código e peso / quantidade:
2019632011207.
ou seja como dito anteriormente o primeiro numero indica que o preçovem da balança os demais é só você seguir a regra
Tópico encerrado , respostas não são mais permitidas