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


Caninha51

Caninha51

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar