Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ax4
 
 
 
 
 
 
 
 
 
 
 
 

README.md

SysEnumerators

SysEnumerators - это набор классов на языке X++, который позволяет разработчику единообразно "пробежать" по:

  • интервалу чисел;
  • интервалу дат;
  • элементам контейнера;
  • элементам коллекций Аксапты (array, set, map, list, struct);
  • элементам enum;
  • элементам коллекций из .Net-пространства System.Collections (как с генериками, так и без них);
  • промаркированным на форме записям;
  • записям QueryRun, Query, select Table where...;
  • записям из коллекций RecordSortedList, RecordLinkList;
  • элементам TreeNode;
  • элементам коллекций Dict-классов;
  • XML-элементам;
  • файлам (CommaIo, AsciiIo, BinaryIo, TextIo);
  • строкам, словам и regexp-токенам из TextBuffer;
  • и прочим системным коллекциям Аксапты.

Подробнее о SysEnumerators для Microsoft Dynamics AX 2009 можно почитать в каталоге ax2009.

Пример использования SysEnumerators

SysEnumeratorExample03_Container

container c = ['a', 'b', 1, 'd', systemdateget(), 'f'];
SysEnumerator se = SysEnumerator::newFromContainer(c);

while( se.moveNext() )
{
    info(strfmt("%1", se.current()));
}

Больше примеров с описанием и скриншотами результатов можно найти в каталоге Examples.

Благодарности

Спасибо Ивану Захарову и Роману Долгополову (RDOL, db), на проекте которых я убедился что энумераторы реально снижают время разработки, а вопросы быстродействия энумераторов легко решаются после профилирования кода и выявления узких мест.

Спасибо Дмитрию Толстову (damn) за вклад в данный проект.

Disclaimer

  • Названия классов и методов, иерархия и порядок вызовов в наборе классов будут по возможности сохраняться, но это не гарантируется - в будущих версиях SysEnumerators все может измениться.
  • Код в xpp-файлах конвертирован из xpo только для удобства использования человеком. Оригиналом является код в xpo-проектах, отличия между xpo и xpp всегда трактуются в пользу текста из xpo-проектов.
  • Проект выложен "как есть" под лицензией MIT: вы можете использовать данный код как угодно безо всяких отчислений, автор не дает никаких гарантий и не несет ответственности за возможный эффект от использования кода на проектах.

ChangeLog

Помощь проекту

Буду признателен за ваши замечания, предложения, советы в разделе Issues и Pull requests по проекту, а также в виде письма на адрес mazzy@mazzy.ru

Мазуркин Сергей (mazzy)

About

The universal enumerator framework for Microsoft Dynamics AX (Axapta)

Topics

Resources

License

Packages

No packages published
You can’t perform that action at this time.