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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2009, 18:56   #1  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Поиск в АОT на предмет использования метода с непустым аргументом
Собственно есть некий парм метод. Он используется примерно в 150 местах системы. Работает как и полагается парму на возврат и изменения значений. Нужно найти именно те места, где он работает на изменение. Использую поиск по узлам с критерием Containing text: имя_метода(/.+/), предполагая, что "/.+/" регулярное выражение, описывающее непустую строку. Точно знаю, что есть вызовы этого метода с параметрами, но система ничего не находит, стало быть использовал неправильное регулярное выражение. Кто подскажет корректное?
__________________
Axapta has seduced me deadly!
За это сообщение автора поблагодарили: miklenew (5).
Старый 18.09.2009, 19:21   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от HorrR Посмотреть сообщение
Использую поиск по узлам с критерием
?!?

Используйте перекрестные ссылки, чтобы найти эти места
http://axapta.mazzy.ru/lib/xref/
далее просто просмотрите руками.

Или напишите job, который ищет при помощи DictMethod в методе.
Но уверяю вас, вручную в перекрестных ссылках вы найдете гораздо быстрее, чем будете писать Job.

Вот например все parm*-методы из ax3.0, упорядоченные по убыванию числа использований:
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 443
Размер:	63.1 Кб
ID:	5149

в ax3.0 всего 25 parm-методов, которые используются больше 40 раз
и 5028 parm-методов, которые используются меньше 40 раз.
из них 1461 метод, который используются всего один раз.

Перекрестные ссылки - мощь и сила!
__________________
полезное на axForum, github, vk, coub.
Старый 18.09.2009, 19:30   #3  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Я говорю не о стандартных парм-методах. Я говорю скорее о кастомном методе-свойстве. Вот он, например, используется в 150 местах, а параметр принимает только в 3х например, я запарюсь искать в перекрестных.
__________________
Axapta has seduced me deadly!
Старый 18.09.2009, 19:41   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от HorrR Посмотреть сообщение
Я говорю не о стандартных парм-методах. Я говорю скорее о кастомном методе-свойстве. Вот он, например, используется в 150 местах, а параметр принимает только в 3х например, я запарюсь искать в перекрестных.
тогда парьтесь с регулярными выражениями, парьтесь, создавая job, который использует DictMethod среди 150 найденных перекрестных ссылок...
__________________
полезное на axForum, github, vk, coub.
Старый 18.09.2009, 19:43   #5  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Не доконца понял, что нужно.
Может это поможет.
Доработка к перекрёстным ссылок
Перекрёстные ссылки должны быть свежими иначе может появиться надпись сдвиг.
А так там в вашем случае насколько я понял будет либо пусто(0 параметров) либо 1(1 параметр передаёться).
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
За это сообщение автора поблагодарили: HorrR (1).
Старый 18.09.2009, 21:59   #6  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Для более точного поиска по элементам АОТ, применяя абсолютно любые критерии можно воспользоваться закладкой Filter в окне поиска по AOT (Ctrl+F):

Нажмите на изображение для увеличения
Название: AOTSearchFilter.png
Просмотров: 261
Размер:	61.4 Кб
ID:	5151

, где
[1] - закладка Filter
[2] - тело X++ метода. На входе метода параметры [3]. На выходе - true\false.
Короче говоря, можно написать абсолютно любой критерий, тут доступна вся мощь АОТ.

На рисунке текст метода для вашего случая, искал метод parmBuffer для записи.
За это сообщение автора поблагодарили: mazzy (5), AlGol (1), Logger (8), miklenew (5), r2d2 (1).
Старый 19.09.2009, 09:54   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Чё то никак не пойму как работает это конструкция со слэшами?
Кручу верчу, но смысла так и не понял.
X++:
static void Job6(Args _args)
{
    str _treenodesource = "   parmbuffer(true, true)   ";
;

    if(match("parmbuffer\\(.+\\)", _treenodesource))
        info("true");
    else
        info("false");
}
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 19.09.2009, 10:08   #8  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от miklenew Посмотреть сообщение
Чё то никак не пойму как работает это конструкция со слэшами?
Кручу верчу, но смысла так и не понял.
X++:
static void Job6(Args _args)
{
    str _treenodesource = "   parmbuffer(true, true)   ";
;

    if(match("parmbuffer\\(.+\\)", _treenodesource))
        info("true");
    else
        info("false");
}
Скобки - спец символ в регулярных выражениях, поэтому перед скобками ставим слеш (два слеша, т.к. просто слеш - спец. символ для строк).

Здесь описание ф-ции match
http://msdn.microsoft.com/en-us/library/aa886279.aspx
Но подозреваю, что у функции более богатый синтаксис, чем написано в MSDN (про скобки там почему-то не написано)
Старый 19.09.2009, 10:28   #9  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Скобки - спец символ в регулярных выражениях
Почему?
Если написать так
X++:
if(match("parmbuffer(true, true)", _treenodesource))
Найдёт? Найдёт.
А причём здесь точка и плюс?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 19.09.2009, 10:39   #10  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
1. Ф-я может вызываться с разным набором аргументов (по составу и содержанию). Как в таком случае искать будете?

2. регулярные выражения
Старый 19.09.2009, 15:35   #11  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Теперь понял как это работает.
Правда так и не понял, где ".+" откапали. Ну да ладно.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 20.09.2009, 07:46   #12  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
648 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Даже если сделать поиск по имя_метода(, то можно же посмотреть текст строки, где этот метод вызывается, не залезая в код. Там видно будет, что он с параметрами или без... А вообще перекрестные ссылки рулят!
__________________
// no comments
Теги
aot, метод, поиск

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поиск метода/класса Фаткуллов Ренат DAX: Функционал 3 14.08.2009 12:26
Проблема вызова метода доступа (Enum'ы!) Zoe DAX: Программирование 4 14.04.2008 23:48
Возможность использования Like в QueryBuildRange Koriolis DAX: Программирование 5 14.02.2005 17:43
Поиск использования класса Filip DAX: Программирование 6 16.08.2004 11:28
HB_Tutorial_setTmpData - пример использования метода setTmpData vitk DAX: База знаний и проекты 0 10.12.2001 15:26

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

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

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