Fórum Impressão em Profundidade #285937
24/06/2005
0
Moderadores, não achei título mais apropriado, fiquem a vontade para editar.
Bom, oq eu quero é um pouco difícil pra explicar, mas vou tentar.
Estou desenvolvendo um sistema para impressão de tickets refeição.
As solicitações eu recebo através de um arquivo com um layout pré-definido, ele é mais ou menos assim...
No cabeçalho do arquivo é informado o tipo de ticket(Refeição ou Alimentação), vencimento e quantidade por talão(neste exemplo vou usar 7).
No corpo são feitas as solicitações, tipo...
Tickets de número 1 à 14 no valor de R$ 12 pro cliente XXXXXXX
Tickets de número 15 à 21 no valor de R$ 10 pro cliente YYYYYYYY
Tickets de número 22 à 28 no valor de R$ 10 pro cliente ZZZZZZZ
É basicamente isso...
Vamos ao problema...
Antes de mais nada estou usando o quickReport.
A impressão tem de ser feita em profundida.
Como assim?
Bom, vamos lá...
Numa folha de A4 dá pra imprimir 8 tickets...
[img:413c705623]http://www.brasilcidadao.org.br/folha.jpg[/img:413c705623]
O problema é que a máquina de corte monta os talões no momento do corte, e pra isso ser feito a impressão deveria ser assim...
Pra fazer 4 talões de 7 tickets nós usaríamos 4 folhas, que ao serem cortadas já estariam em sequencia.
Os cortes seriam feitos na linha vermelha...
[img:413c705623]http://www.brasilcidadao.org.br/folhas.jpg[/img:413c705623]
Deu pra entender?
Pra evitar o trabalho de ter q cortar e depois ordenar os números, a impressão já deve ser feita em profundidade.
Obrigatoriamente o intervalo da numeração dos tickets tem q ser divisível pela quantidade de tickets por talão. E no caso da qtda por talao ser impar, o último deve ser anulado, pois não tem condição de ele ser retirado.
A impressão de talões de cheque quando é impresso na gráfica é da mesma maneira, mas quando eh impresso em auto-atendimento ele sai sequenciada na mesma folha e nós temos que soltar o picote e ordenar a numeração.
Bom pessoal, naum sei se deu pra entender bem, mas gostaria de uma lógica pra se fazer isso...
Se vc teve paciência pra chegar até aqui, já é grande coisa! :lol:
Agradeço desde já!
Caninha51
Bom, oq eu quero é um pouco difícil pra explicar, mas vou tentar.
Estou desenvolvendo um sistema para impressão de tickets refeição.
As solicitações eu recebo através de um arquivo com um layout pré-definido, ele é mais ou menos assim...
No cabeçalho do arquivo é informado o tipo de ticket(Refeição ou Alimentação), vencimento e quantidade por talão(neste exemplo vou usar 7).
No corpo são feitas as solicitações, tipo...
Tickets de número 1 à 14 no valor de R$ 12 pro cliente XXXXXXX
Tickets de número 15 à 21 no valor de R$ 10 pro cliente YYYYYYYY
Tickets de número 22 à 28 no valor de R$ 10 pro cliente ZZZZZZZ
É basicamente isso...
Vamos ao problema...
Antes de mais nada estou usando o quickReport.
A impressão tem de ser feita em profundida.
Como assim?
Bom, vamos lá...
Numa folha de A4 dá pra imprimir 8 tickets...
[img:413c705623]http://www.brasilcidadao.org.br/folha.jpg[/img:413c705623]
O problema é que a máquina de corte monta os talões no momento do corte, e pra isso ser feito a impressão deveria ser assim...
Pra fazer 4 talões de 7 tickets nós usaríamos 4 folhas, que ao serem cortadas já estariam em sequencia.
Os cortes seriam feitos na linha vermelha...
[img:413c705623]http://www.brasilcidadao.org.br/folhas.jpg[/img:413c705623]
Deu pra entender?
Pra evitar o trabalho de ter q cortar e depois ordenar os números, a impressão já deve ser feita em profundidade.
Obrigatoriamente o intervalo da numeração dos tickets tem q ser divisível pela quantidade de tickets por talão. E no caso da qtda por talao ser impar, o último deve ser anulado, pois não tem condição de ele ser retirado.
A impressão de talões de cheque quando é impresso na gráfica é da mesma maneira, mas quando eh impresso em auto-atendimento ele sai sequenciada na mesma folha e nós temos que soltar o picote e ordenar a numeração.
Bom pessoal, naum sei se deu pra entender bem, mas gostaria de uma lógica pra se fazer isso...
Se vc teve paciência pra chegar até aqui, já é grande coisa! :lol:
Agradeço desde já!
Caninha51
Caninha51
Curtir tópico
+ 0
Responder
Posts
24/06/2005
Edilcimar
J1 := 1;
J := J1;
K := 35;
for I := J to K do
Begin
imprima -> aqui o processo de impressao
J := J + 7;
If J >= 28 then
Begin
J1 := J1 + 1;
J := J1;
End;
If J1 > 28 then
Break;
End;
O processo para numeração seria algo como isto, para a impressão manual serve, para a impressão com gerenciadores de impressão tem que adaptar
J := J1;
K := 35;
for I := J to K do
Begin
imprima -> aqui o processo de impressao
J := J + 7;
If J >= 28 then
Begin
J1 := J1 + 1;
J := J1;
End;
If J1 > 28 then
Break;
End;
O processo para numeração seria algo como isto, para a impressão manual serve, para a impressão com gerenciadores de impressão tem que adaptar
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)