Показать сообщение отдельно
Старый 11.02.2011, 18:13   #3  
rDenis2 is offline
rDenis2
Участник
 
62 / 36 (2) +++
Регистрация: 13.05.2010
Олег, спасибо за направление поиска. Вообщем решил так, проверяю тип драйвера принтера.

X++:
void createPrinterSet()
{
    PrintJobSettings            printJobSettings = new PrintJobSettings();
    int                         numberOfPrinters;
    int                         i;
    str                         tmpPrinterName;

    SysPrintOptions             sysPrintOptions;
    ;

    printerSet = new Set(Types::String);

    numberOfPrinters = printJobSettings.getNumberOfPrinters();

    for (i=1; i <= numberOfPrinters; i++)
    {
        tmpPrinterName      = printJobSettings.getPrinter(i);
        
                
        printJobSettings.deviceName(tmpPrinterName, ClassRunMode::ClientOrServer);
        sysPrintOptions = SysPrintOptions::construct(printJobSettings, 1);
        
        if(sysPrintOptions.parmPrinterDriverName() != 'Microsoft XPS Document Writer')
        {
            printerSet.add(tmpPrinterName);
        }
    }

}
Смущает только второй параметер, в SysPrintOptions - integer, описание не нашел нигде, поставил просто 1.