Fórum Impressão com VDOPrint #364291
25/09/2008
0
e não sai dai fica assim sem fazer nada, não imprime e naum faz nada...
alguem saberia m dizer oq pode ser isso....
obrigado...
Tchucky
Curtir tópico
+ 0Posts
25/09/2008
Microbios
Posta aí sua rotina pra gente dar uma olhada! Certamente é algum comando que você esqueceu, tipo um Table.Next ou coisa parecida... Isso já aconteceu comigo.
até!
R.Vital.
Gostei + 0
25/09/2008
Tchucky
tenho uma procedure q inicia o relatorio q contem o
VDOPrinter1.BeginDoc;
e uma outra procedure q termina o relatorio q contem o
iSoftPrinter1.EndDoc;
e a procedure de impressão é essa a baixo
procedure TFrmVendaExpressa.BtnImprimirClick(Sender: TObject);
begin
If db_vendas.IsEmpty then
Begin
Informar(´não há dados para Imprimir´);
Exit;
end;
IniciaRelatorio;
db_Clientes.close;
db_Clientes.open;
VDOPrinter1.Print(01,01, StringOfChar(´-´, 79) );
VDOPrinter1.DotMatrixSets.Font.Style :=[fsDmBold];
VDOPrinter1.Print(02,01, Centrar(FrmPrincipal.db_empresa.FieldByName(´NOME´).AsString,79) );
VDOPrinter1.DotMatrixSets.Font.Style :=[];
VDOPrinter1.Print(03,01, Centrar(FrmPrincipal.db_empresa.FieldByName(´ENDERECO´).AsString,79) );
VDOPrinter1.Print(04,01, Centrar(FrmPrincipal.db_empresa.FieldByName(´ENDERECO2´).AsString+´ ´+FrmPrincipal.db_empresa.FieldByName(´FONE´).AsString,79) );
VDOPrinter1.Print(05,01, StringOfChar(´_´, 79) );
VDOPrinter1.Print(06,01, ´Nº Controle.: ´+db_vendas.FieldByName(´CODIGO´).AsString +´ - ´+
´Data: ´+db_vendas.FieldByName(´EMISSAO´).AsString +´ - ´+
Copy(TimeToStr(time),1,5)+´h - ´+
´Vendedor: ´ + Copy(db_vendas.FieldByName(´NomeVendedor´).AsString,1,22) );
//====================================================================================================================
VDOPrinter1.Print(07,01, ´CNPJ/CPF....: ´ + db_Clientes.FieldByName(´CPF_CNPJ´).AsString );
VDOPrinter1.Print(07,50, ´I.E:/R.G: ´ + db_Clientes.FieldByName(´RG_IE´).AsString );
//====================================================================================================================
VDOPrinter1.Print(08,01, ´Cliente.....: ´ + db_Clientes.FieldByName(´CODIGO´).AsString+´-´+db_Clientes.FieldByName(´NOME´).AsString );
VDOPrinter1.Print(09,01, ´Endereco....: ´ + copy(db_Clientes.FieldByName(´ENDERECO´).AsString,1,35) );
VDOPrinter1.Print(09,55, ´CEP..: ´ + db_Clientes.FieldByName(´CEP´).AsString );
VDOPrinter1.Print(10,01, ´Bairro......: ´ + copy(db_Clientes.FieldByName(´BAIRRO´).AsString,1,40) );
VDOPrinter1.Print(10,55, ´Fone.: ´ + db_Clientes.FieldByName(´FONE´).AsString );
VDOPrinter1.Print(11,01, ´Cidade/UF...: ´ + db_Clientes.FieldByName(´NOME_CIDADE´).AsString+´-´+db_Clientes.FieldByName(´UF´).AsString );
VDOPrinter1.Print(12,01, ´Transp......: ´ + copy(db_vendas.FieldByName(´NomeTransportadora´).AsString,1,30) );
VDOPrinter1.Print(12,35, ´Referencia..: ´ + db_Clientes.FieldByName(´REFERENCIA´).AsString );
//====================================================================================================================
VDOPrinter1.DotMatrixSets.Font.Style:=[];
VDOPrinter1.DotMatrixSets.Font.Size := fsDefault;
VDOPrinter1.Print(13,01, StringOfChar(´-´, 79) );
VDOPrinter1.DotMatrixSets.Font.Style :=[fsDmBold];
VDOPrinter1.DotMatrixSets.Font.Size := fsCondensed;
//VDOPrinter1.Print(15,01, ´Codigo: Descricao: Qtd: Vl. Unit: Subtotal:´ );
VDOPrinter1.Print(14,01, ´Codigo: Descricao: Qtd: Vl. Unit: Subtotal:´ );
VDOPrinter1.DotMatrixSets.Font.Style:=[];
VDOPrinter1.DotMatrixSets.Font.Size := fsDefault;
VDOPrinter1.Print(15,01, StringOfChar(´-´, 79) );
//====================================================================================================================
wInteger[0] :=15;
wFloat[0] :=0;
db_VendasItens.first;
while not db_VendasItens.eof do
begin
wFloat[0] := wFloat[0] + db_VendasItens.FieldByName(´QTDE´).AsFloat ;
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, CampoTexto(db_VendasItens.FieldByName(´PRODUTO´).AsString, 11)+StringOfChar(´ ´, 3)+
CampoTexto(db_VendasItens.FieldByName(´DESCRICAO´).AsString, 33)+
CampoCodigo(db_VendasItens.FieldByName(´QTDE´).AsString, 05){+StringOfChar(´ ´, 1)}+
CampoValor(db_VendasItens.FieldByName(´VLR_UNIT´).AsFloat, 12)+
CampoValor(db_VendasItens.FieldByName(´VLR_TOTAL´).AsFloat, 11) );
db_VendasItens.next;
End;
db_VendasItens.first;
VDOPrinter1.DotMatrixSets.Font.Style:=[];
VDOPrinter1.DotMatrixSets.Font.Size := fsDefault;
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, StringOfChar(´-´, 79) );
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, ´Total............: ´+CampoValor(db_vendas.FieldByName(´TOTAL_NF´).AsFloat,08 ) );
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, StringOfChar(´-´, 79) );
// if FrmPrincipal.ADO_Parametros.FieldByName(´IMPRIMEFATURA´).AsString=´S´ then
begin
db_faturasimprimir.close;
db_faturasimprimir.open;
if db_faturasimprimir.RecordCount>0 then
begin
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, Centrar(´DADOS DAS FATURAS´,79));
inc(wInteger[0],1);
VDOPrinter1.Print(wInteger[0],01, ´Forma Pagamento..: ´+db_vendas.FieldByName(´NomeFormapagto´).AsString );
inc(wInteger[0],1);
VDOPrinter1.Print(wInteger[0],01, ´Fatura: Data: Vencimento: Valor: Situacao: ´ );
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, StringOfChar(´-´, 79) );
db_faturasimprimir.first;
while not db_faturasimprimir.eof do
begin
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, CampoTexto(db_faturasimprimir.FieldByName(´DOCUMENTO´).AsString , 11)+
CampoTexto(db_faturasimprimir.FieldByName(´DATA´).AsString, 14)+
CampoTexto(db_faturasimprimir.FieldByName(´VENCIMENTO´).AsString, 13)+
CampoValor(db_faturasimprimir.FieldByName(´VALOR´).AsFloat, 13)+StringOfChar(´ ´, 7)+
CampoTexto(db_faturasimprimir.FieldByName(´QUITADO´).AsString, 12) );
db_faturasimprimir.next;
End;
db_faturasimprimir.close;
//***
end;
End;
inc(wInteger[0],3);
VDOPrinter1.Print(wInteger[0],01, Centrar(´_________________________________________´,79) );
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, Centrar(´Assinatura do Cliente´,79) );
// avançar linhas
// for xAvanco:=0 to (FrmPrincipal.ADO_Parametros.FieldByName(´LINHA_AVANCAR´).AsInteger) do
begin
inc(wInteger[0]);
VDOPrinter1.Print(wInteger[0],01, ´ ´ );
end;
db_Clientes.close;
TerminaRelatorio;
end;Gostei + 0
26/09/2008
Microbios
Cara, que estranho... que versao é essa do VDO onde voce indica, linha e coluna a serem impressas? [b:aeab4d9654] VDOPrinter1.Print(01,01, [/b:aeab4d9654]
A que eu uso nao é necessário indicar a linha, voce coloca o comando, por exemplo:
[b:aeab4d9654]
VDOPrinter1.Print(01, Centrar(FrmPrincipal.db_empresa.FieldByName(´NOME´).AsString,79),true );
Onde, 01 e a coluna, e o true no final indica que é para saltar para a próxima linha.
Vai ver é esse o seu problema....
Dá uma checada no DEMO do VDO e certifique-se de que a sua versao é pra indicar linha e coluna mesmo. :wink: [/b:aeab4d9654]
Gostei + 0
26/09/2008
Tchucky
eu estou usando a ultima versão do VDOPrint...
ja olhei os exemplos todos e naum entendi o pq o meu sempre aparece aquele mensagem e naum gera nada...
Gostei + 0
11/02/2009
Walter Faria
VDODmPrinter1.BeginDoc;
VDOPrinter1.Print(01,01, StringOfChar(´-´, 79) );
VDOPrinter1.DotMatrixSets.Font.Style :=[fsDmBold];
VDOPrinter1.Print(02,01, Centrar(FrmPrincipal.db_empresa.FieldByName(´NOME´).AsString,79) );
VDOPrinter1.DotMatrixSets.Font.Style :=[];
VDOPrinter1.Print(03,01, Centrar(FrmPrincipal.db_empresa.FieldByName(´ENDERECO´).AsString,79) );
VDOPrinter1.Print(04,01, Centrar(FrmPrincipal.db_empresa.FieldByName(´ENDERECO2´).AsString+´ ´+FrmPrincipal.db_empresa.FieldByName(´FONE´).AsString,79) );
VDODmPrinter1.EndDoc(false);
Gostei + 0
14/02/2009
Dedi
o correto seria finalizar o mesmo que começou no caso VDOPrinter1.EndDoc;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)