17.06.2009, 16:53 | #8 |
Administrator
|
есть 2 варианта: первый и второй
первый: 1. перед печатью подменяем принтер в 78-й таблице 2. печатаем 3. восстанавливаем настройку выглядит так 1. IF _PrinterSelection.GET(USERID,0) THEN BEGIN _OldPrinter := _PrinterSelection."Printer Name"; _PrinterSelection."Printer Name" := Васья; _PrinterSelection.MODIFY(); END ELSE BEGIN _PrinterSelection.INIT(); _PrinterSelection."User ID" := USERID; _PrinterSelection."Report ID" := 0; _PrinterSelection."Printer Name" := Васья; _PrinterSelection.INSERT(); END; 2. Report.print!!! 3. _PrinterSelection.GET(USERID,0); IF _OldPrinter <> '' THEN BEGIN _PrinterSelection."Printer Name" := _OldPrinter; _PrinterSelection.MODIFY(); END ELSE _PrinterSelection.DELETE(); _____________________________________________________________ второй: создаем юнит NewCU со свойством SingleInstanse Трю: там пишем: SetPrinter(_PrinterName : Text[250]) PrinterName := _PrinterName; и GetPrinter() : Text[250] EXIT(PrinterName); дорабатываем 1 кю FindPrinter IF NewCU.GetPrinter <> '' THEN EXIT(NewCU.GetPrinter); при запуске отчета из любой ф-ции делаем так: 1. NewCU.SetPrinter(Васья) 2. Report.print!!! 3. NewCU.SetPrinter('') |
|