Ver Mensaje Individual
  #6  
Antiguo 23-08-2007
luchifer luchifer is offline
No confirmado
 
Registrado: jul 2007
Ubicación: Santa Cruz - Bolivia
Posts: 50
Reputación: 0
luchifer Va por buen camino
Impresion directa

Perdon me equivoquede rutina pra enviar a excel los datos del query. Aqui t va la rutina para impresion directa

procedure TFpto_pollo.imprime_fac(stdoc, stipo:shortstring;sndoc:integer);
Var MyPrinter: TextFile;
xcan, xdes, xval, xtot, xpag, xcam:shortstring;
xsum:real;
begin
AssignFILE(MyPrinter,'LPT1');
ReWrite(MyPrinter);
Write(MyPrinter, CHR(27) + CHR(64)); // Inicializar Impresora
//Write(MyPrinter, CHR(27)+CHR(67)+CHR(44)); // Fijar Tamaño en Lineas
Write(MyPrinter,CHR(27)+ CHR(103)); // Tipo de Letra Chicas
//Write(MyPrinter,CHR(27)+CHR(197)); // Negrita
//Write(MyPrinter,CHR(27)+CHR(179)+CHR(28)); // Espacio entre Lines
if stipo='FAC' then Writeln(MyPrinter,'MICROMARKET VIA RAPIDA') else Writeln(MyPrinter,'POLLOS ROSS');
if stipo='FAC' then Writeln(MyPrinter,'AV.ROQUE AGUILERA ESQ.RADIAL CASTILLA') else Writeln(MyPrinter,'AV.SANTOS DUMONT CASI 4TO ANILLO');
if stipo='FAC' then Writeln(MyPrinter,'NIT 2642735017 TELF.3513621') else Writeln(MyPrinter,'NO ES FACTURA TELF.3533417');
if stipo='FAC' then Writeln(MyPrinter,'FACTURA : '+wnrofac.text+' ALFAB.'+walfab.text);
if stipo='FAC' then Writeln(MyPrinter,'NR.ORDEN:'+wnorden.text+' FECHA:'+datetostr(now));
if wnomfac.Text<>'' then
Writeln(MyPrinter,'Senores : '+wnomfac.text)
else
Writeln(MyPrinter,'Senores : Clientes Varios');
//----------------------------
if wnit.Text<>'' then
Writeln(MyPrinter,'NIT : '+wnit.text)
else
Writeln(MyPrinter,'PARA SERVIRSE EN :'+tbl_gloprod.fieldbyname('refer').asstring);
//------------------------------
tbl_gloprod.Locate('tdoc;ndoc',VarArrayOf([stdoc,sndoc]),[loCaseinsensitive]); //loCaseInsensitive
Writeln(MyPrinter,'-------------------------------------');
Writeln(MyPrinter,' Cant. Producto Valor ');
Writeln(MyPrinter,'-------------------------------------');
xsum:=0;
tbl_movpro.Locate('tdoc;ndoc',VarArrayOf([stdoc,sndoc]),[loCaseinsensitive]); //loCaseInsensitive
while not tbl_movpro.Eof and (tbl_movpro.FieldByName('tdoc').AsString=stdoc) and (tbl_movpro.FieldByName('ndoc').AsInteger=sndoc) do
begin
xcan:=format('%6.2f',[tbl_movpro.fieldbyname('cant').asfloat]);
xdes:=copy(tbl_movpro.fieldbyname('descri').AsString,1,20);
xval:=format('%8.2f',[tbl_movpro.fieldbyname('valor_bs').asfloat]);
xsum:=xsum+tbl_movpro.fieldbyname('valor_bs').asfloat;
Writeln(MyPrinter,xcan+' '+xdes+' '+xval);
tbl_movpro.Next;
end;
Writeln(MyPrinter,'-------------------------------------');
xtot:=format('%8.2f',[xsum]);
xpag:=format('%8.2f',[strtofloat(wpagbs.text)]);
xcam:=format('%8.2f',[strtofloat(wcamb.text)]);
Writeln(MyPrinter,' Total Facturado : '+xtot);
Writeln(MyPrinter,' Total Pagado : '+xpag);
Writeln(MyPrinter,' Cambio : '+xcam);
Writeln(MyPrinter,'-------------------------------------');
if stipo='FAC' then Writeln(MyPrinter,'MICROMARKET VIA RAPIDA LE AGRADECE') else Writeln(MyPrinter,'POLLOS ROSS LE AGRADECE');
Writeln(MyPrinter,'POR SU PREFERENCIA '+stdoc+'-'+inttostr(sndoc));
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
Writeln(MyPrinter,'');
//Write(MyPrinter,#12); // Expulsar la Hoja
System.CloseFile(MyPrinter);
end;

Y funciona re bien
Responder Con Cita