AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.01.2007, 16:15   #1  
Anders
Гость
 
n/a
Найти принтер по умолчанию в Аксе.
Необходимо определить из перечня принтеров: какой из них по умолчанию.

Мыслил решить следующим кодом, но ((( :

X++:
    printJobSettings    printJobSettings = new printJobSettings(connull(), true);
    str                 printerName;
    int                 z, numOfPrinters;

    for (z = 1; z <= numOfPrinters; z++)
    {
        printerName = printJobSettings.getPrinter(z);
        //info(strfmt("Принтер %1", printerName));
        printJobSettings.deviceName(printerName);
        if (printJobSettings.printerDefaultPriority())
        {
            ctrlSelectedPrinter_FLX.text(printerName);
            info(strfmt("Принтер по умлочанию %1", printerName));
        }
        ctrlSelectPrinter_FLX.add(printerName);
    }
Старый 25.01.2007, 17:10   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
После создания printJobSettings метод deviceName() указывает на принтер по умолчанию

PS посмотрите справку в Axapta по классу PrintJobSettings. Сразу на первой странице об этом пишут в примере
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 25.01.2007 в 17:12.
Старый 25.01.2007, 17:48   #3  
Anders
Гость
 
n/a
Спасибо.
Прочитал и справку прочитал ....
Но по факту (((((
Бодро пишет: "НЕДОСТУПЕН"

Хотя в Винде принтер есть.
Старый 25.01.2007, 17:48   #4  
Anders
Гость
 
n/a
И перечень принтеров формирует.
Старый 25.01.2007, 18:03   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А вы при создании класса не указывайте параметры
X++:
printJobSettings    printJobSettings = new printJobSettings();
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили:  (1).
Старый 25.01.2007, 18:18   #6  
Anders
Гость
 
n/a
Спасибо ))))) .... мдя .... заработался: "счастье есть - его не может не быть"

С меня пиво причитается ;-)
Старый 20.05.2011, 10:44   #7  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
? Старые принтеры
Заказы на продажу\Запросы\Счет на оплату\Показать\Оригинал Выдает ошибку "Невозможно обратиться к ххх принтеру", но сама печатная форма выводится нормально. Действительно, принтер (сетевой, прописан на терминале) ххх был когда то в системе, но его уже нет.
При этом если нажать на Печать в форме настроек принтера принтер по умолчанию определяется верно.

Попробовал чистить данные пользователя. Пересоздавал данные в Расчеты с клиентами\Настройки\Формы\Настройка форм\Управление печатью\Документы\Расчеты с клиентами\Счет на оплату.

Подскажите пожалуйста, где DAX 2009 SP1 RU6 сохраняет данные о принтерах которые когда то были в системе по умолчанию?

Попробовал job приведенный выше, принтер по умолчанию определяет не тот.
Старый 20.05.2011, 19:41   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
См. также Printer defaults to letter instead of A4 - how AX finds the default printer - там, в том числе, объясняется, как за счет использования "псевдопринтера" Аксапта нормально показывается отчеты, даже если к реальному принтеру обратиться не может.
За это сообщение автора поблагодарили: Daiver (1).
Старый 27.05.2011, 11:58   #9  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
Проблему решили.

Не верный принтер по умолчанию стоял на сервере где крутится AOS.
Есть подозрение на класс SalesPurchReport_RU, у него свойство RunOn: Server. В ряде методов дергаются настройки принтера через printJobSettings.
Старый 16.10.2014, 13:22   #10  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Добрый день, странная ситуация. Захожу под своим пользователем на терминальный сервер, принтер по умолчанию подтягивается тот который стоит у меня локально. Соответственно в аксапте по умолчанию тот же принтер. Затем захожу под другим пользователем на терминальный сервер. У этого пользователь свой принтер по умолчанию, но аксапта при попытке создания отчета определяет совершено другой! Но после нажатия кнопки "по умолчанию" принтер становиться правильным. Данные пользователя почистил выборочно, не помогло. Может просто все данные у него сбросить?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как найти файл? if_maks DAX: Программирование 8 01.02.2016 17:16
Найти ошибки компиляции Dozer DAX: База знаний и проекты 6 27.06.2008 23:13
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Значение по умолчанию параметра типа EDT c array elements либо просто массива HorrR DAX: Программирование 16 20.02.2008 19:18
автоматическая печать копии отчета на другой принтер lexx DAX: Программирование 0 27.09.2004 11:34

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:13.