![]() |
#1 |
Участник
|
![]()
All, помогите получить в lookup на форме список подключенных принтеров.
|
|
![]() |
#2 |
экс-модератор
|
см. \Forms\SysPrintForm\methods\buildPrinterComboBox
|
|
![]() |
#3 |
Участник
|
там список формируется через
sysPrintOptions = SysPrintOptions::construct(object, str2int(args.parm())); а object потрошится до RunBaseReport и RunBase а моя форма прямого отношения к отчетам не имеет тогда как его обмануть с этим object'ом |
|
![]() |
#4 |
экс-модератор
|
обманывайте внаглую
PHP код:
|
|
![]() |
#5 |
Moderator
|
Список принтеров можно получить через системный класс PrintJobSettings напрямую, без всяких мапов
__________________
Андрей. |
|
![]() |
#6 |
Участник
|
всем спасибо - заработало
|
|
![]() |
#7 |
Модератор
|
PHP код:
|
|
|
За это сообщение автора поблагодарили: Lemming (1), AvrDen (1). |
![]() |
#8 |
Участник
|
Понадобилось получить список принтеров. Нашел эту тему, очень лаконичное решение!!! Отлично!!!
Но есть одно но. Георгий, если в ax2009 поставить точку останова в этом job, то axapta умирает, причем так, что ее остатки (дебагер) можно снять только через диспетчер задач ![]() Любопытно. Сталкивался ли кто с подобным? C уважением, Дмитрий |
|
![]() |
#9 |
Участник
|
DmitryK, можно делать так и никто не умирает
![]() X++: static void ShowListOfPrinters(Args _args) { printJobSettings printJobSettings; sysPrintOptions sysPrintOptions; map printerMap; mapIterator mapIterator; ; printJobSettings = SysPrintOptions::newPrintJobSettingsOnServer(); sysPrintOptions = new sysPrintOptions(); sysPrintOptions.setPrintJobSettings(printJobSettings); sysPrintOptions.buildPrinterMap(); printerMap = sysPrintOptions.getPrinterMap(); mapIterator = new mapIterator(printerMap); mapIterator.begin(); while (mapIterator.more()) { info(mapIterator.value()); mapIterator.next(); } } |
|
|
За это сообщение автора поблагодарили: DmitryK (1). |
![]() |
#10 |
Участник
|
Спасибо, попробуем на прочность
![]() Удивительно, что предыдущий код работает без отладчика С уважением, Дмитрий |
|