Доброго времени суток.
Наткнулся на очередную фичу Аксапты. Метод
typeCnt() класса
Dictionary в AX 4.0 и AX 2009 почему-то возвращает на
единицу больше существующих EDT(в AX 3.0 работает нормально). Ниже приведенный job наглядно это демонстрирует.
X++:
static void SRF_TestDictionaryTypeCnt(Args _args)
{
Dictionary dictionary = new Dictionary();
ExtendedTypeId currentTypeId;
Counter typeCnt;
;
for (currentTypeId = dictionary.typeNext(0); currentTypeId; currentTypeId = dictionary.typeNext(currentTypeId))
{
typeCnt++;
}
info(strfmt("%1", dictionary.typeCnt() - typeCnt));
}
У меня результат в AX 3.0 -
0 (результат вполне ожидаем), а вот в AX 4.0 и AX 2009 job упорно выдает
- 1 !!!!
Все бы ничего, если бы при использовании других
xxxCnt() и
xxxNext() методов класса
Dictionary результат тоже был
1 (объяснялось бы проще - изменился принцип работы методов
xxxCnt()) однако это не так, результат такой же как и в AX 3.0 -
0.
OFFTOPIC : В голову почему-то приходит фраза: "О, женщина. Как ты не постоянна", которую я не много перефразировал
Цитата:
О, Аксапта. Как ты не постоянна
но из-за того непостоянства мне нравиться с ней работать, поскольку не знаешь, где и когда будет "подвох"