Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 29/04/2008
Paulao Paulao is offline
Miembro
 
Join Date: Sep 2003
Location: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 23
Paulao Va por buen camino
Impression TextFile

tengo una impression que deberia imprimir asi. Si hay una forma de pago, entonces imprime una linea e despues el registros del banco. Pero si hay dos o mas forma de pago, entonces, imprime un linea, todos los valores de la tabla e despues otra linea. Pero solo necesito hacer com que alguns texto no se imprimido en el relatorio, como sigue abajo:

Hoy estas asi:
-----------------------------------------------
00001 00458 93,00 Cartao de Credito
00001 00458 45,00 Cartao de Credito
-----------------------------------------------
pero debe estar asi:
-----------------------------------------------
00001 00458 93,00 Cartao de Credito
45,00 Cartao de Credito
-----------------------------------------------

Mira que la venta y el numero de la fatura solo mostra una vez, pero el nombre de la form de pago y el valor, no, deben siempre ser impresso.
Reply With Quote
  #2  
Old 29/04/2008
BlueSteel's Avatar
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Join Date: May 2003
Location: Concepción - Chile
Posts: 2,310
Poder: 26
BlueSteel Va por buen camino
Wink

Hola Paulao...

Podrias poner algo de codigo para ver como lo imprimes o estas utilizando algun Reporteador ???

Salu2
__________________
BlueSteel
Reply With Quote
  #3  
Old 29/04/2008
MaMu's Avatar
MaMu MaMu is offline
Miembro
 
Join Date: Apr 2006
Location: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
TextFile? estas imprimiendo directamente al canvas de la impresora? una matricial? No usas reporteador, sino que imprimis directamente el txt con la data?

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Reply With Quote
  #4  
Old 30/04/2008
ContraVeneno's Avatar
ContraVeneno ContraVeneno is offline
Miembro
 
Join Date: May 2005
Location: Torreón, México
Posts: 4,740
Poder: 26
ContraVeneno Va por buen camino
Pues tendrías que genrar el archivo de texto con un ciclo While.

Pones primero el encabezado que quieres y mientras sea el mismo, vas agregando el detalle, si cambia, agregas el nuevo encabezado
__________________

Reply With Quote
  #5  
Old 30/04/2008
Paulao Paulao is offline
Miembro
 
Join Date: Sep 2003
Location: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 23
Paulao Va por buen camino
Bueno, resolvi asi: Yo tenia um While con la tabla pricipal, entonces en cada registro, yo hizo un otro select usando las llaves del registro principal. Hizo otro select y hizo mi impression dentro deste while. Abajo mi codigo: Se que pude estar mas limpio mi codigo, pero estoy sin tiempo para hacer un codigo mejor. Quando quitar la instalacion en todas las filiales, y yo poder dormir por lo menos, 6 horas, entoces voy a mejorar el codigo, pero fue el que yo tuvo que hacer las prisas.

Quote:
var
lin,sParc, nRec:Integer;
sCupom,
sForma: string;
bNovaLinha,
bImprimeTitulo,bDevDoa: Boolean;
nVal_Parcouble;
cdsGeral: TClientDataSet;
begin
cdsGeral := TClientDataSet.Create(nil);
cdsGeral.RemoteServer := DM_Principal.scConsulta;
cdsGeral.ProviderName := 'dspTB_SAC_NF_PAGAMENTO';

sForma := '';
sParc := 0;
nVal_Parc := 0;
nRec := 0;

bNovaLinha := False;
bImprimeTitulo := False;
bDevDoa := False;

vTotal_Dia := 0;
vTotal_Geral := 0;
lin := 0;
DM_Principal.CDS_CNS_VENDAS.First;
while not DM_Principal.CDS_CNS_VENDAS.Eof do
begin
inc(lin);
sCupom := DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString;
if DM_Principal.CDS_CNS_AUX.Locate('NU_NF;NU_CX;SR_NF',VarArrayOf([
DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,
DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_CX').AsString,
DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString]), []) then
begin
sForma := DM_Principal.CDS_CNS_AUX.FieldByName('DESCRICAO').AsString;
sParc := DM_Principal.CDS_CNS_AUX.FieldByName('QT_PARC').AsInteger;
nVal_Parc := DM_Principal.CDS_CNS_AUX.FieldByName('VL_PAG').AsFloat;
end;

with cdsGeral do
begin
Close;
CommandText :=
' SELECT ' +
' PAGTO.NU_NF,PAGTO.NU_CX, ' +
' PAGTO.SR_NF,PAGTO.VL_PAG, ' +
' FORMA.DESCRICAO ' +
' FROM ' +
' TB_SAC_NF_PAGAMENTO PAGTO INNER JOIN TB_SAC_FORMA_PAGTO FORMA ' +
' ON(FORMA.CD_F_PAG = PAGTO.CD_F_PAG) ' +
' WHERE ' +
' PAGTO.NU_NF = ' + DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString + ' AND ' +
' PAGTO.NU_CX = ' + DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_CX').AsString + ' AND ' +
' PAGTO.SR_NF = ' + QuotedStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString);
Open;
end;

if (cdsGeral.IsEmpty) and (DM_Principal.CDS_CNS_VENDAS.RecordCount > 0) then
begin
//Imprime transferencias e doacoes
bDevDoa := True;
if sParc > 0 then
Writeln(prn,AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_BOL').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString,3) +
' ' + AjustaNum(FormatFloat('0.00',DM_Principal.CDS_CNS_VENDAS.FieldByName('VL_BRUTO').AsFloat),11) +
' ' + AjustaStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('ST_CANC').AsString,9) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('CD_FUNC').AsString,8) +
' ' + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) + '[' + AjustaNum(IntToStr(sParc),1)+ 'X]' +
AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9))
else
Writeln(prn,AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_BOL').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString,3) +
' ' + AjustaNum(FormatFloat('0.00',DM_Principal.CDS_CNS_VENDAS.FieldByName('VL_BRUTO').AsFloat),11) +
' ' + AjustaStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('ST_CANC').AsString,9) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('CD_FUNC').AsString,8) +
' ' + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) +
' ' + AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9));
end;

while not cdsGeral.Eof do
begin
if cdsGeral.RecordCount > 1 then
begin
bNovaLinha := True;
if cdsGeral.RecNo = 1 then
bImprimeTitulo := True
else
bImprimeTitulo := False;
end;

if not bNovaLinha then
begin
if sParc > 0 then
Writeln(prn,AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_BOL').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString,3) +
' ' + AjustaNum(FormatFloat('0.00',DM_Principal.CDS_CNS_VENDAS.FieldByName('VL_BRUTO').AsFloat),11) +
' ' + AjustaStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('ST_CANC').AsString,9) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('CD_FUNC').AsString,8) +
' ' + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) + '[' + AjustaNum(IntToStr(sParc),1)+ 'X]' +
AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9))
else
Writeln(prn,AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_BOL').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString,3) +
' ' + AjustaNum(FormatFloat('0.00',DM_Principal.CDS_CNS_VENDAS.FieldByName('VL_BRUTO').AsFloat),11) +
' ' + AjustaStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('ST_CANC').AsString,9) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('CD_FUNC').AsString,8) +
' ' + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) +
' ' + AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9));
end
else
begin
if bImprimeTitulo then
begin
if sParc > 0 then
Writeln(prn,AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_BOL').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString,3) +
' ' + AjustaNum(FormatFloat('0.00',DM_Principal.CDS_CNS_VENDAS.FieldByName('VL_BRUTO').AsFloat),11) +
' ' + AjustaStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('ST_CANC').AsString,9) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('CD_FUNC').AsString,8) +
' ' + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) + '[' + AjustaNum(IntToStr(sParc),1)+ 'X]' +
AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9))
else
Writeln(prn,AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_BOL').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('NU_NF').AsString,6) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('SR_NF').AsString,3) +
' ' + AjustaNum(FormatFloat('0.00',DM_Principal.CDS_CNS_VENDAS.FieldByName('VL_BRUTO').AsFloat),11) +
' ' + AjustaStr(DM_Principal.CDS_CNS_VENDAS.FieldByName('ST_CANC').AsString,9) +
' ' + AjustaNum(DM_Principal.CDS_CNS_VENDAS.FieldByName('CD_FUNC').AsString,8) +
' ' + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) +
' ' + AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9));
end
else
Writeln(prn, RelRepStr(' ', 49) + AjustaStr(cdsGeral.FieldByname('DESCRICAO').AsString,18) +
' ' + AjustaNum(FormatFloat('0.00',cdsGeral.FieldByName('VL_PAG').AsFloat),9));
end;

cdsGeral.Next;

if cdsGeral.Eof then
Writeln(prn, RelRepStr('-', 80));

bNovaLinha := False;
end;//Fim do while do cdsGeral

DM_Principal.CDS_CNS_VENDAS.Next;

if (DM_Principal.CDS_CNS_VENDAS.Eof) and (bDevDoa) then
begin
Writeln(prn, RelRepStr('-', 80));
bDevDoa := False;
end;


if lin > 56 then
begin
Cabecalho;
end;
end;//Fim do while principal
FreeAndNil(cdsGeral);
end;
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Impression en red Paulao Varios 3 31/03/2008 19:57
Impression TextFile e Fuentes em negro Paulao Impresión 2 18/03/2008 14:44
Impression TextFile Paulao Impresión 0 13/03/2008 12:50
Problema con TextFile ElDioni Varios 3 20/09/2005 20:37


All times are GMT +2. The time now is 21:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi