Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

mazzy-ax/SysEnumerators

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.