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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2005, 12:59   #21  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
PHP код:
form ClassFactory.FormRunClass(new Args(formstr(CustTable))); 
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 18.05.2005, 08:41   #22  
chi is offline
chi
Участник
 
80 / 13 (1) ++
Регистрация: 21.01.2004
Для чего был задан вопрос?
Хотелось бы сказать, для чего изначально был задан вопрос.
Хочется реализовать следющую возможность. Щелкаешь правой кнопкой на любом гриде любой формы и среди прочих элементов меню появляется "Экспорт в Excel".
Старый 18.05.2005, 09:19   #23  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
! Re: Для чего был задан вопрос?
Цитата:
Изначально опубликовано chi
Хотелось бы сказать, для чего изначально был задан вопрос.
Хочется реализовать следющую возможность. Щелкаешь правой кнопкой на любом гриде любой формы и среди прочих элементов меню появляется "Экспорт в Excel".
Например в LedgerJournalTrans и рабочая станция свободна от работы на неопределенное время

Подумайте хорошенько, на счет того, что в любом гриде, экспорт в Excel очень медленная операция. К тому же, небольшие таблицы, можно спокойно переносить через буфер обмена, что в принципе быстрее.
Старый 18.05.2005, 10:21   #24  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Re: Для чего был задан вопрос?
Цитата:
Изначально опубликовано chi
Хотелось бы сказать, для чего изначально был задан вопрос.
Хочется реализовать следющую возможность. Щелкаешь правой кнопкой на любом гриде любой формы и среди прочих элементов меню появляется "Экспорт в Excel".
Я реализовал добавлением menuItem в init() класса SysSetupFormRun. Теперь на всех формах есть возможность экспорта в Эксель.
Еще правил SysTableForm, что бы использовать функциональность "Автоотчета", для экспорта в Excel.
Вариантов здесь много..
__________________
С уважением, Вячеслав.
Старый 18.05.2005, 10:25   #25  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Re: Re: Для чего был задан вопрос?
Цитата:
Изначально опубликовано Lemming

Например в LedgerJournalTrans и рабочая станция свободна от работы на неопределенное время

Подумайте хорошенько, на счет того, что в любом гриде, экспорт в Excel очень медленная операция.
Если как раз хорошо думать , то отсутствие стандартного решения печати в другие мелкософтовские приложения, есть серьезный минус.
Касаемо LedgerJournalTrans - а если зафильтроваться , то экспорт только нужных данных занимает не так уж и много времени.

Цитата:
Изначально опубликовано Lemming
К тому же, небольшие таблицы, можно спокойно переносить через буфер обмена, что в принципе быстрее.
А если нужное мне поле на другой закладке грида ?
__________________
С уважением, Вячеслав.
Старый 18.05.2005, 10:36   #26  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Цитата:
А если нужное мне поле на другой закладке грида ?


-----------------
Поторопился =((...

Данная проблема наблюдается, если на форме на первой закладке используется не грид, а так все поля попадают, если формулировка именно грид, то хватает буфера обмена.
Старый 18.05.2005, 12:00   #27  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Для чего был задан вопрос?
Цитата:
Изначально опубликовано chi
Хотелось бы сказать, для чего изначально был задан вопрос.
Хочется реализовать следющую возможность. Щелкаешь правой кнопкой на любом гриде любой формы и среди прочих элементов меню появляется "Экспорт в Excel".
Я рекомендую вам изменить задачу.

1.
Но любой форме УЖЕ можно построить автоотчет
http://axapta.mazzy.ru/lib/autoreport/

2.
Запрограммируйте вывод любого отчета в Эксель (или купите готовый в Коламбусе)
Добавьте либо канал вывода Эксель, либо формат файла xls.

Наслаждайтесь
__________________
полезное на axForum, github, vk, coub.
Старый 12.03.2007, 08:31   #28  
Gorynych is offline
Gorynych
Участник
 
15 / 17 (1) ++
Регистрация: 28.02.2006
И все таки можно в контекстное меню добавить свой пункт?
Удобным было бы, например, туда добавить Копировать и Вставить, как в Win.

Без перекрывания метода context на формах.

Нашел еще вот тут про это
контекстное меню

Судя по ответам никак, но все таки....

Последний раз редактировалось Gorynych; 12.03.2007 в 08:41.
Старый 12.03.2007, 12:01   #29  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Если достаните доступ к системному классу "FormRun"... тогда можно :P
Старый 12.03.2007, 12:06   #30  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
К нему-то как раз прицепиться можно. Но увы, к FormRun доступа недостаточно.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 13.03.2007, 18:04   #31  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Можно.

Во вложении dll, с помощью которой это можно сделать.

Использовать просто - создать экземплять класса DLL для этой библиотеки. Пока он будет находиться в памяти добавляются три пункта к стандартному меню:
-Копировать
-Вставить
-Выделить все

Dll можно добавить в class declaration класса info и создавать экземпляр в startupPost() - функционал будет работать до закрытия Axapta

X++:
DLL dll;
;
dll = new Dll("AxPopup.dll");
проверял на sp3 cu1, sp5 kr2

Если надо будет что-то добавить - говорите, посмотрю что можно сделать
Вложения
Тип файла: rar AxPopup.rar (4.8 Кб, 183 просмотров)
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: raz (3), kashperuk (6), oip (8), gl00mie (4), Eldar9x (2), klimova_m (1).
Старый 10.01.2009, 15:13   #32  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
Небольшой комментарий:

в 4-ой аксапте когда попуп меню строится через PopuMenu класс - сразу теряется стиль меню (Office 2003), а когда вызывется super(handle) - то меню выглядит как надо. Поэтому когда потребовалось добавить свой пункт меню, причём в определённую позицию (PopupMenu.insertItem - на самом деле делает AppendMenu - добавление в конце) пришлось прямо на контроле (StringEdit ячейке Grid) писать:

X++:
//TE-rko
public int showContextMenu(int _menuHandle)
{
    #WinApi
    #define.filterByLocaLang(100)
    #define.UserDLL('USER32')
    int selection;

    DLL         _winApiDLL      = new DLL(#UserDLL);
    DLLFunction _insertMenu    = new DLLFunction(_winApiDLL, 'InsertMenuW');

    ;
    _insertMenu.returns(ExtTypes::DWord);
    _insertMenu.arg(ExtTypes::DWord,
                     ExtTypes::DWord,
                     ExtTypes::DWord,
                     ExtTypes::DWord,
                     ExtTypes::WString);

    _insertMenu.call(_menuHandle, 2, #MF_BYPOSITION + #MF_STRING, #filterByLocaLang, "Filter by local name");

    selection = super(_menuHandle);

     switch (selection)
    {
        case #filterByLocaLang:
            element.filterByLocalLang(); //моя реакция на меню
            break;
    }

    return selection;
}
Старый 20.07.2009, 17:05   #33  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
?
Цитата:
Сообщение от AndyD Посмотреть сообщение
Можно.

Во вложении dll, с помощью которой это можно сделать.

Использовать просто - создать экземплять класса DLL для этой библиотеки. Пока он будет находиться в памяти добавляются три пункта к стандартному меню:
-Копировать
-Вставить
-Выделить все

Dll можно добавить в class declaration класса info и создавать экземпляр в startupPost() - функционал будет работать до закрытия Axapta

X++:
DLL dll;
;
dll = new Dll("AxPopup.dll");
проверял на sp3 cu1, sp5 kr2

Если надо будет что-то добавить - говорите, посмотрю что можно сделать

в акс 4.0 это будет работать? хочу добавить
-Копировать
-Вставить
-Выделить все
Старый 21.01.2010, 12:06   #34  
Nikolaich is offline
Nikolaich
Участник
 
238 / 10 (1) +
Регистрация: 15.12.2004
в 3шке работает идеально а в 4-ке нет - проверял, та же технология размещения для инициализации в StartupPost не работает, видимо DLL для 4-ки не подходит
Старый 07.07.2011, 17:10   #35  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Цитата:
Сообщение от Bars Посмотреть сообщение
Может таким же как я новичкам поможет , чтобы долго не лазить....
Все взято из SysHelp.

PHP код:
public int showContextMenu(int _menuHandle)
{

    
PopupMenu popupMenu PopupMenu::create(_menuHandle,this.hWnd());

    
int test;
    
int selection;
    ;

    
popupMenu.insertBreak();

    
test        popupMenu.insertItem("Test");
    
selection   popupMenu.draw();

    switch (
selection)
    {
    case 
test:
             
Info("Test");
             return 
0;
     default:
            return 
selection;
    }

return 
selection;
 } 
Спасибо еще раз за помощь всем )))
Но оно же работает на определенной ячейке, а как сделать чтобы на всей строке работало?
Старый 27.05.2014, 15:11   #36  
userax2009 is offline
userax2009
Участник
 
24 / 10 (1) +
Регистрация: 16.05.2014
мне надо, чтобы по нажатию правой кнопки мышки на ячейке грида любой формы была новая надпись в контекстном меню "История", которая открывает форму, показывающую историю существования данной ячейки. Открывающаяся форма создана с помощью таблицы логирования, куда заносятся данные, какое действие с каким полем какой таблицы было сделано. Таблица имеет вид: Код таблицы \ Код поля \ Действия \ Новое значение \ Старое значение\ Время.
Есть идеи как это реализовать ?
Старый 27.05.2014, 15:46   #37  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А пункт меню "Паспорт записи" вас чем не устраивает?
Старый 28.05.2014, 09:41   #38  
userax2009 is offline
userax2009
Участник
 
24 / 10 (1) +
Регистрация: 16.05.2014
Как обьяснили, паспорт записи не удобный для пользователей, имеет лишние поля, поэтому надо делать так, как я описал выше
Старый 28.05.2014, 10:34   #39  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
В случае с паспортом записи, там очень к стати промежуточный диалог есть для выбора конкретного действия, можно просто туда свою кнопку добавить и все.
Старый 28.05.2014, 12:49   #40  
userax2009 is offline
userax2009
Участник
 
24 / 10 (1) +
Регистрация: 16.05.2014
а как это поможет моей задаче ?
Теги
download, faq, законченный пример, контекстное меню, полезное, программно, хак

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
"Зависание" при вызове SysSetupForm из контекстного меню slava DAX: Администрирование 3 12.09.2012 16:13
Переименование контекстного меню NetBus DAX: Программирование 2 17.02.2009 18:37
"Классическое" главное меню в 4.0... glibs DAX: База знаний и проекты 3 11.04.2007 09:58
Как получить TreeNode выделенного узла в АОТ при вызове контекстного меню? Beast-L DAX: Программирование 6 22.01.2007 16:28
Работа с главным меню в Axapta Alexey DAX: Программирование 0 04.01.2002 23:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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