Etiquetas de estoque

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Etiquetas de estoque

Mensagem por rbonotto »

Olá,

Pareceia tão fácil....mas me embananei....

Tenho uma tabela de estoque com os campos:
- descricao
- codigo
- preco
- qtde

o meu chefe pediu para fazer etiquetas ( cinco colunas ), e o faceiro aqui disse: xá comigo !

Eu fiz...mas só sai uma etiqueta por produto, algo do tipo assim:

Código: Selecionar todos

WHILE !EOF()

   gera_var() ** esta funcao pegua a descricao, codigo e valor dos primeiros cincos registros, onde desc=descricao, cCod=codigo e nPrc=preco

   @ PROW+X1, COLUM1 SAY cDesc1
   @ PROW     , COLUM2 SAY cDesc2
   @ PROW     , COLUM3 SAY cDesc3
   @ PROW     , COLUM3 SAY cDesc4
   @ PROW     , COLUM3 SAY cDesc5

   @ PROW+x2, COLUM1 SAY cCod1
   @ PROW     , COLUM2 SAY cCod2
   @ PROW     , COLUM3 SAY cCod3
   @ PROW     , COLUM3 SAY cCod4
   @ PROW     , COLUM3 SAY cCod5

   @ PROW+X3,  COLUM1 SAY nPrc1
   @ PROW      , COLUM2 SAY nPrc2
   @ PROW      , COLUM3 SAY nPrc3
   @ PROW      , COLUM3 SAY nPrc4
   @ PROW      , COLUM3 SAY nPrc5
END
O resultado foi uma etiqueta por item de estoque.....mãããããããããsssss o que o chefe
quer é que saiam o numero de etiquetas de cada produto de acordo com a quantidade
deste no estoque.

Por exemplo:

Lapis numero 15 preto tem 25 no estoque
Caneta azul tem 33 no estoque
estojo lapis de cor tem 48 no estoque

Se fosse um a um seria fácil, mas ele quer marcar com X os items a sairem e o programa faz a impressão de todas as etiquetas, imprime
15 do lapis preto, depois 33 da caneta, depois 48 do estojo e ai por diante....

Alguém ja teve experiencia em gerar etiquetas assim, ou poderia me dar alguma luz ? estou a mais de uma semana
quebrando a cuca...

Desde já, obrigado.
mixsistemas@gmail.com
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Não entendi bem onde está o problema, mas se o seu chefe quer imprimir etiquetas apenas dos ítens selecionados, o primeiro passo é justamente oferecer esse recurso a ele. Pelo que você comenta, isso não parece ser o problema. Ou é?

Uma vez que o "alvo" esteja definido e separado, você terá de fazer exatamente o que faz: usar uma função que recupere as informações das cinco primeiras etiquetas para imprimir as linhas.

Outra dúvida: se o seu chefe vai marcar o que será impresso, o que tem a ver a quantidade em estoque com a impressão em si? Acho que o estoque nesse caso seria irrelevante, não?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Re: Etiquetas de estoque

Mensagem por rbonotto »

Obrigado pela atenção !

Acho que me expressei mal, o recurso de oferecer a seleção está ok.

O problema é que tem que imprimir o número de etiquetas que esta no campo QTDE do banco de dados, mas não só de um
item, de todos os que ele selecionou. Ficaria algo assim:

Imagine que tnha no banco de dados:

codigo descricao valor qtde
0001 caneta 1,50 4
0028 lapis 0,98 3
0032 estojo 2,25 2

Caneta Caneta Caneta Caneta Lapis
cod.0001 cod.0001 cod.001 cod.0001 cod.0028
r$ 1,150 r$ 1,50 r$ 1,50 r$ 1,50 r$ 0,98

Lapis Lapis Estojo Estojo
cod.0028 cod.0028 cod.0032 cod.0032
r$ 0,98 r$ 0,98 r$ 2,25 r$ 2,25


Acho que me expilquei melhor agora.

Dificil de solucionar ??
mixsistemas@gmail.com
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Agora entendi.
Acho que o melhor caminho é você povoar uma matriz com as repetições necessárias e imprimir de 5 em 5 elementos dessa matriz. Sua função Gera_Var() pode fazer isso. Assim que ler um ítem que foi selecionado, ela repete as informações tantas vezes quanto forem necessárias, incluindo os elementos que forem necessários. Se a quantidade de ítens*repetições não se tornar um problema (pode ficar grande) será bem simples de fazer.
Há uma outra forma que imagino, mas aí seria bem mais complexo, embora não acarrete qualquer problema com relação ao volume da matriz de trabalho. Mas veja se dá pra seguir a dica que expus. Se não for possível assim, podemos discutir essa outra forma.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Re: Etiquetas de estoque

Mensagem por rbonotto »

Ok, sem querer abusar...ja abusando...seria possivel um exemplo de como preencher esta matriz ? são tres linhas em cada etiqueta(descricao, codigo e valor), como fazer tres linhas em uma matriz ?

Abs
mixsistemas@gmail.com
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Re: Etiquetas de estoque

Mensagem por rubens »

Imagino que se voce criar um loop tb resolve o problema...

While !eof()
nQtde := qtde
For x = 1 to nQtde
@ prow()+1,coluna say codigo
@ prow()+1,coluna say descricao
@ prow()+1,coluna say qtde
next
dbskip()
Enddo

Aí voce incrementa com quantas colunas quer...
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Etiquetas de estoque

Mensagem por rochinha »

Amiguinho,

Veja:

Código: Selecionar todos

USE estoque
SET FILTER TO ItensEscolhidos
do while !eof()
    nQtde := qtde
    For x = 1 to nQtde
          aadd( aMatriz, { codigo, descricao, valor } )
    next
    dbskip()
Enddo
Como usar:

Código: Selecionar todos

For x = 1 to len( aMatriz )
     @ prow()+1,coluna say aMatriz[ 1 ]
     @ prow()+1,coluna say aMatriz[ 2 ]
     @ prow()+1,coluna say aMatriz[ 3 ]
next
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Re: Etiquetas de estoque

Mensagem por rbonotto »

Beleza ! valeu pessoal !

Problema resolvido, com direito a tapinha nas costas do chefe hehehe, este forum é 100 % show de bola. :{ :-Y
mixsistemas@gmail.com
Responder