Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maxtecomp

Imprimindo notafiscal

Recommended Posts

ola , preciso de uma ajuda urgente tenho uma fução que imprime uma determinada nota fiscal , so que quando eu possa os parametros de coluna e linha para imprimir ele não consegue fazer a impressão correta.

 

exemplo de como fica.

 

 

Codigo Descrição un valor_un total

 

cod: 1

cod: 2

cod: 255

cod: 85

cod: 48 Ovos de leite

leite de coco

bolo grand

laranja de nó

pão francês 1

2

3

5

3 12,00

1,00

1,00

1,00

1,00 12,00

2,00

3,00

5,00

3,00

 

Obs: eu percebo que as colunas estão funcionado mas a linha não tem alguma coisa de errado no codigo gostria de uma ajuda. irei postar o codigo para melhor entender.

 

 

// Aqui começa realmente a impressao do nota fiscal...

with XPrint do

begin

for I := 1 to 75 do

begin

if ConverteStrToLog(ArqNF.ReadString('NOTA','Visivel_'+StrZero(I,02),'F')) then

begin

Pos_Campo := I - 1;

Condensado_C := ConverteStrToLog(ArqNF.ReadString('NOTA','Condensado_'+StrZero(I,02),'F'));

linha_C := StrToIntDef(ArqNF.ReadString('NOTA','linha_'+StrZero(I,02),'1'),1);

coluna_C := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(I,02),'1'),1);

if NF_Condensada then

Condensado_C := False;

if (Pos_Campo >= 18) and (Pos_Campo <= 25) then

begin

TabGlobal.DITNF.First;

while not TabGlobal.DITNF.Eof do

begin

TabGlobal.DPRODUTO.Filtro.Text := 'pro_codigo = '+#39+TabGlobal.DITNF.pro_codigo.Conteudo+#39;

TabGlobal.DPRODUTO.AtualizaSql;

TabGlobal.DPRODUTO.First;

if Pos_Campo = 18 then // Código

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DITNF.pro_codigo.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DITNF.pro_codigo.Conteudo);

end

else if Pos_Campo = 19 then // Descricao

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DITNF.pro_descricao.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DITNF.pro_descricao.Conteudo);

end

else if Pos_Campo = 20 then // Qtde

begin

if TabGlobal.DITNF.pro_quantidade.Conteudo > 0 then

if Condensado_c then

impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_quantidade.Conteudo,'ZZZZ9,99'),[comp20])

else

imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_quantidade.Conteudo,'ZZZZ9,99'));

end

else if Pos_Campo = 21 then // UN

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DPRODUTO.uni_codigo.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DPRODUTO.uni_codigo.Conteudo);

end

else if Pos_Campo = 22 then // CT

begin

if Condensado_c then

begin

impf(linha_c,coluna_c-3,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,01,01),[comp20]);

impf(linha_c,coluna_c,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,02,04),[comp20]);

end

else

begin

imp(linha_c,coluna_c-3,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,01,01));

imp(linha_c,coluna_c,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,02,04));

end

end

else if Pos_Campo = 23 then // Unitário

begin

if TabGlobal.DITNF.pro_venda.Conteudo > 0 then

if Condensado_c then

impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_venda.Conteudo,'ZZZ.ZZ9,99'),[comp20])

else

imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_venda.Conteudo,'ZZZ.ZZ9,99'));

end

else if Pos_Campo = 24 then // Total

begin

if TabGlobal.DITNF.inf_total.Conteudo > 0 then

if Condensado_c then

impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.inf_total.Conteudo,'ZZZZ.ZZ9,99'),[comp20])

else

imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.inf_total.Conteudo,'ZZZZ.ZZ9,99'));

end

else if Pos_Campo = 25 then // ICMS

begin

if TabGlobal.DITNF.pro_icms.Conteudo > 0 then

if Condensado_c then

impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_icms.Conteudo,'Z9,99'),[comp20])

else

imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_icms.Conteudo,'Z9,99'));

end;

Inc(linha_c);

TabGlobal.DITNF.Next;

end;

end

else if Pos_Campo = 53 then

begin

if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_1.Conteudo) <> '' then

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_1.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_1.Conteudo);

Inc(Linha_c);

end;

if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_2.Conteudo) <> '' then

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_2.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_2.Conteudo);

Inc(Linha_c);

end;

if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_3.Conteudo) <> '' then

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_3.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_3.Conteudo);

Inc(Linha_c);

end;

if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_4.Conteudo) <> '' then

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_4.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_4.Conteudo);

Inc(Linha_c);

end;

if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_5.Conteudo) <> '' then

begin

if Condensado_c then

impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_5.Conteudo,[comp20])

else

imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_5.Conteudo);

Inc(Linha_c);

end;

end

else

begin

if Condensado_c then

impf(linha_c,coluna_c,DadosNF[Pos_Campo],[comp20])

else

imp(linha_c,coluna_c,DadosNF[Pos_Campo]);

end;

end;

end;

end;

XPrint.fechar;

XPrint.Free;

DadosNF.Free;

ArqNF.Free;

end;

 

no aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Delphi > Artigos, Tutoriais e Matérias (Delphi) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Delphi

 

maxtecomp, seja bem vindo ao Fórum iMasters, primeiramente conheça nossas regras: Regras do Fórum

 

Não duplique suas dúvidas, não tem necessidade de postar duas vezes sua dúvida. Apaguei seu tópico: Ajuda urgente imprimir em Laboratório de scripts (Delphi)

 

Poste dúvidas na área principal de Delphi como pode ter visto no aviso este sub-fórum é destinado apenas para postagem de scripts prontos e testados para auxiliar os demais membros.

Não é permitido a abertura de tópicos com dúvidas. Para isso, use o Fórum de Delphi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.