Problema ao imprimir nota fiscal
Olá Pessoal, esse trecho de código abaixo imprime nota fiscal, mas quando o usuario desmarca a opção de deixar visivel o código do produto, nao aparece o código do produto,
nem descrição nem unitario... nao aparece nada. Eu queria que quando o usuario desmarcasse a opção de deixar visivel o cod do produto, apenas o código desaparecesse
// XPrint é o componente da impressão
with XPrint do
begin
for I := 1 to 75 do
begin
//Verifica se o dado do arquivo ini está aparecendo. Se estiver, continua..
if ConverteStrToLog(ArqNF.ReadString('NOTA','Visivel_'+StrZero(I,02),'F')) then
begin
//Posição do campo
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);
// StrToInt(FormVendas.ArqIni.ReadString('COMANDO', 'ACK', '0'));
coluna_C19 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(19,02),'1'),1);
coluna_C20 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(20,02),'1'),1);
coluna_C21 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(21,02),'1'),1);
coluna_C22 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(22,02),'1'),1);
coluna_C24 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(24,02),'1'),1);
coluna_C27 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(25,02),'1'),1);
Coluna_C28 := StrToIntDef(ArqNF.ReadString('NOTA', 'coluna_'+StrZero(26,02),'1'),1);
linha_c16 := StrToIntDef(ArqNF.ReadString('NOTA', 'linha_'+StrZero(16,02),'1'),1);
// coluna_C46 := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(46,02),'1'),1);
Condensado_C := False; //apartir da aqui começa os itens da nota
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
begin
impf(linha_c,coluna_c19,TabGlobal.DITNF.pro_codigo.Conteudo,[comp20]);
impf(linha_c,coluna_c20,TabGlobal.DITNF.pro_descricao.Conteudo,[comp20]);
impf(linha_c,coluna_c21,MascValor(TabGlobal.DITNF.pro_quantidade.Conteudo,'Z9'),[comp20]);
impf(linha_c,coluna_c22,TabGlobal.DPRODUTO.uni_codigo.Conteudo,[comp20]);
impf(linha_c,coluna_c24,MascValor(TabGlobal.DITNF.pro_venda.Conteudo,'ZZZ.ZZ9,99'),[comp20]);
//Aqui ele ta imprimindo o total dos produtos de cada item
impf(linha_c,coluna_c27,MascValor(TabGlobal.DITNF.inf_total.Conteudo,'ZZZZ.ZZ9,99'),[comp20]);
impf(linha_c,coluna_c28,MascValor(TabGlobal.DITNF.pro_icms.Conteudo,'Z9,99'),[comp20]);
end
else
imp(linha_c,coluna_c19,TabGlobal.DITNF.pro_codigo.Conteudo);
imp(linha_c,coluna_c20,TabGlobal.DITNF.pro_descricao.Conteudo);
imp(linha_c,coluna_c21,MascValor(TabGlobal.DITNF.pro_quantidade.Conteudo,'Z9'));
imp(linha_c,coluna_c22,TabGlobal.DPRODUTO.uni_codigo.Conteudo);
imp(linha_c,coluna_c24,MascValor(TabGlobal.DITNF.pro_venda.Conteudo,'ZZZ.ZZ9,99'));
imp(linha_c,coluna_c27,MascValor(TabGlobal.DITNF.inf_total.Conteudo,'ZZZZ.ZZ9,99'));
imp(linha_c,coluna_c28,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;//Esse end é o end que verifica se é visivel
end;
end;
XPrint.fechar;
XPrint.Free;
DadosNF.Free;
ArqNF.Free;
Quando o I é igual a 19 ou Pos_Campo é igual a 18 é porque está na posição do código do produto na stringlist.
Alguem poderá me ajudar? :o
Discussão (2)
Carregando comentários...