8-800-700-15-02

Звонок по России
бесплатный

info@i-neti.ru

ax

asd

Генеральный директор Dynamics AX / 365 Шри Шринивасан (Sri Srinivasan) покинул Майкрософт

Дата публикации: 13.03.2018

Перевод материала Джейсона Гумперта, редактора MSDynamicsWorld.com. Источник по ссылке.

Шри Шринивасан, один из наиболее долго работающих менеджеров в команде Microsoft Dynamics, объявил о том, что он покидает Майкрософт.

 
asd

X ++ в AX7: Объявление переменных в коде. Часть 14

Дата публикации: 18.10.2017

Какую цену вы бы заплатили, чтобы иметь возможность делать так в X ++?

for (int i = 1; i <= n; i++)   

{
}    

Или так:

 
asd

X++ в AX7: Ключевое слово Const. Часть 13

Дата публикации: 12.10.2017

В AX7 X++ теперь поддерживается ключевое слово const. Его семантика аналогична семантике в C#

Если вкратце, то это позволяет вам определять члены в классе и переменные в методе, они могут быть проинициализированы только в объявлении. Компилятор заменит ссылки-константы значениями. Другими словами значение константы должно быть определено в момент компиляции. 

Это убийственная «фича»! Она позволяет избавиться от большинства случаев использования макросов. 

 
asd

X++ в AX7: Методы расширения. Часть 12

Дата публикации: 28.09.2017

Вы когда-нибудь сталкивались с тем, что Microsoft предоставил класс или таблицу в которой не достает методов, которые облегчили бы вашу жизнь? Если это так, у вас может возникнуть соблазн добавить его самостоятельно, используя перекрытие. И вы наверняка заплатите за это при обновлении!

Вы будете довольны, сейчас AX7 X ++ поддерживает методы расширения, подобно C#.

 
asd

X++ в AX7: Ключевое слово Readonly. Часть 11

Дата публикации: 14.09.2017

В AX7 X++ сейчас есть поддержка ключевого слова readonly. Семантика идентична readonly в C#.

Вкратце: это позволяет вам определять члены класса, которые могут быть проинициализированы только при объявлении или в конструкторе того же класса.

class MyClass 
{  
    readonly str identifier = "XYZ";  
    readonly str identifier2;  

 

 
asd

X++ в AX7: вещественные типы данных. Часть 10

Дата публикации: 07.09.2017

В AX2012 переменные типа real компилируются как тип System.Decimal при компилировании CIL. В AX7 это является единственным возможным вариантом.

Основное отличие между этими вариантами в максимальном возможном значении:

AX 2012:
AX 7:

~ 9*10^127
~ 8*10^28

Оба значения достаточно велики в большинстве случаев в практике ERP систем, но всё же есть вероятность получения ошибки.

 
asd

X++ в AX7: Internal keyword. Часть 9

Дата публикации: 31.08.2017

Internal – ключевое слово в синтаксисе X++. Его семантика аналогична семантике в C#. Когда вы помечаете класс или метод как internal, тогда он доступен только в той модели, в которой он определен.

internal class MyInternalClass 
{  
    internal void myInternalMethod() 
    {  
    }  
}

 
asd

X ++ в AX7: Статическая подписка на событие. Часть 7

Дата публикации: 24.08.2017

В AX2012 мы добавили работу с событиями. К сожалению, мы перевернули подписку, на часть событий, с ног на голову. В модели метаданных вы были вынуждены изменять издателя, когда добавляли подписчика.

Это привело к интрузивной кастомизации.  И таким образом решает большую часть задач.

В AX7 это было откорректировано. Сейчас вы можете подписаться на событие используя атрибут SubscribesTo.

 
asd

X++ в AX7: ключевые слова Client/Server. Часть 6

Дата публикации: 16.08.2017

В AX7 весь код X ++, без исключения, работает на уровне сервера. Компилятор игнорирует ключевые слова client и server.

Когда вы сталкиваетесь с чем то, из следующего списка, удаляйте это без сожаления:

 
asd

X++ в AX7: Статические члены класса. Часть 5

Дата публикации: 04.05.2017

Теперь можно задавать переменные класса как статические. Семантика точно такая же, как в C#, а именно: все экземпляры класса смогут использовать такой элемент, и, если один класс установит значение, другой класс может получить его.

Очевидно, что использовать это следует с осторожностью. Но есть несколько случаев, где это может пригодиться, например, сейчас намного упростилась реализация шаблона проектирования singleton.

Пример: