Показать сообщение отдельно
Старый 10.12.2008, 20:24   #6  
Shirmin Oleg is offline
Shirmin Oleg
Участник
 
89 / 35 (2) +++
Регистрация: 26.03.2004
В самих printJobSettings размера листа нет, смысл этого метода - прграммно получить доступ к настройкам принтера через его стандартный диалог (настройки печати) и потом сохранить их где нам удобно, а непосредственно перед печатью подменить эти настройки сохраненными.

X++:
 container params;
  SysPrintOptions  sysPrintOptions;
  SysPrintOptions  clientSysPrintOptions;
  PrintJobSettings pjs;
  
  pjs = new PrintJobSettings();
  sysPrintOptions       = SysPrintOptions::construct(pjs, 63);
  clientSysPrintOptions = SysPrintOptions::create(sysPrintOptions.pack());
  sysPrintOptions.updatePrintJobSettings(clientSysPrintOptions.pack());

 
  if(sysPrintOptions.openPrinterPropertiesDialog())
    {
      sysPrintOptions.updatePrintJobSettings(clientSysPrintOptions.pack());
      params = pjs.packPrintJobSettings();
    }
при запуске этого кода сначала откроется окно свойств печати (там Вы можете установить все как Вам нужно), после закрытия окна свойств (через "ОК") настройки будут сохранены в переменную "params".

При печати отчета сохраненные настройки и заменяем ими "родные"
X++:
  PrintJobSettings pjs = new PrintJobSettings(params);
  element.printJobSettings(pjs.packPrintJobSettings());
За это сообщение автора поблагодарили: Ace of Database (4), S.Kuskov (1), ALMO (1).