Показать сообщение отдельно
Старый 23.11.2007, 12:53   #1  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Thumbs up Dynamics и .net (Dot net rocks)
Давеча немного по разбирался, как же все таки пользовать .net c DAX. Прилагаю свои исследования на эту тему. С версии 4.0 можно использовать внешний код, то есть теперь не весь код может храниться в репозитарии, как это было в предыдущих версиях.
Для начала создаем тестовый проект на C# в vs 2005. Обзовем его MyFirstCLR.
Находим в solution explorer UnitTest1.cs. Меняем код на наш
Код:
namespace MyFirstCLR
{

    public class MyClass
    {
        public string sayRocks()
        {
            return "Dot net rocks!";
        }

        public int average(int a, int b)
        {
            return (a + b)/2;
        }
    }

}
Жмем на MyFirstCLR в контекстном меню build. Находим скомпиленную dll (по умолчанию она кладется в bin\Debug). Переносим MyFirstCLR.dll и MyFirstCLR.pdb в директорию Dynamics. Рекомендуется при многопользовательской работе класть в \%winnt%\assembly. В нашем случае упростим задачу и перенесем в C:\Program Files\Microsoft Dynamics AX\40\Client\Bin.
Далее в Dynamics в узле references создаем ссылку на нашу сборку (assembly).
Это кнопка обзор, находим нашу dll и жмем ок. Появляется ссылка MyFirstCLR.
Далее создаем задание (job)
X++:
static void MyFirstCLR(Args _args)
{
    MyFirstCLR.MyClass  mc;
    str                 s;
    int                 res;
    ;
    mc = new MyFirstCLR.MyClass();
    s = mc.sayRocks();
    print  s;
    res = mc.average(20,22);
    print  res;
    pause;
}