{"id":29788076,"url":"https://github.com/mazzy-ax/sysargs","last_synced_at":"2025-07-27T20:12:03.136Z","repository":{"id":143642113,"uuid":"165471670","full_name":"mazzy-ax/SysArgs","owner":"mazzy-ax","description":"Helper methods for SysArgs class in Microsoft Dynamics AX (Axapta)","archived":false,"fork":false,"pushed_at":"2020-03-02T07:18:51.000Z","size":33,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-10-20T21:43:04.496Z","etag":null,"topics":["args","dynamics-ax"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mazzy-ax.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-01-13T06:02:33.000Z","updated_at":"2023-10-20T21:43:06.890Z","dependencies_parsed_at":null,"dependency_job_id":"3eb2b2d1-5eaa-4abd-acc9-4e425c1f0738","html_url":"https://github.com/mazzy-ax/SysArgs","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"purl":"pkg:github/mazzy-ax/SysArgs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazzy-ax%2FSysArgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazzy-ax%2FSysArgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazzy-ax%2FSysArgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazzy-ax%2FSysArgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mazzy-ax","download_url":"https://codeload.github.com/mazzy-ax/SysArgs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazzy-ax%2FSysArgs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267417664,"owners_count":24083839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["args","dynamics-ax"],"created_at":"2025-07-27T20:11:48.141Z","updated_at":"2025-07-27T20:12:03.129Z","avatar_url":"https://github.com/mazzy-ax.png","language":"Java","readme":"# SysArgs\n\n[project]:https://github.com/mazzy-ax/SysArgs\n[license]:https://github.com/mazzy-ax/SysArgs/blob/master/LICENSE\n\n[SysArgs][project] \u0026ndash; это набор методов на языке X++ для класса SysArgs в [Microsoft Dynamics AX 2009](ax2009), [Microsoft Dynamics AX 2012](ax2012) и [Axapta 4.0](ax4).\n\n* [Get методы](https://github.com/mazzy-ax/SysArgs/wiki/Get-methods) возвращают требуемое значение или бросают исключение\n* [Check методы](https://github.com/mazzy-ax/SysArgs/wiki/Check-methods) возвращают `boolean`, не бросают исключений\n* [Assert методы](https://github.com/mazzy-ax/SysArgs/wiki/Assert-methods) ничего не возвращают. Бросают исключение, если args не инициализирован или в аргументах не подходящие параметры. Статические методы.\n* [Ensure методы](https://github.com/mazzy-ax/SysArgs/wiki/Ensure-methods) возвращают исходный args. Бросают исключение, если в аргументах не подходящие параметры. Методы объекта особенно удобны в ax2012 при инициализации переменных.\n\nПодробнее в [wiki](https://github.com/mazzy-ax/SysArgs/wiki) проекта.\n\n## Пример 1\n\nСтало:\n\n```java\nreqTrans = SysArgs::getRecord(args, reqTrans.TableId);\n```\n\nВместо:\n\n```java\nif( args.dataset() == reqTrans.TableId \u0026\u0026 args.record().RecId )\n    reqTrans = args.record();\nelse\n    throw error(Error::missingFormActiveBuffer(element.name()));\n```\n\n## Пример 2\n\nСтало:\n\n```java\nSysArgs::assertCallerType(args, classnum(FormRun)); // пропустит дальше, если вызвали из формы. Иначе бросит исключение.\nif( SysArgs::checkRecord(args, tablenum(ProdTable)) )\n{\n    ...\n```\n\nВместо:\n\n```java\nif( args \u0026\u0026 args.caller() \u0026\u0026 args.dataset() == tablenum(ProdTable) \u0026\u0026 args.record().RecId )\n{\n    // проверили, что есть вызвавший класс. нет проверки, что вызвали именно из формы\n    ...\n```\n\n## Пример 3 для ax2012\n\nСтало:\n\n```java\npublic static void main(Args args)\n{\n    ProdTable prod = args.ensureCallerType(classnum(FormRun)).getRecord(prod.TableId);\n    ...\n```\n\nВместо:\n\n```java\npublic static void main(Args args)\n{\n    ProdTable prod;\n\n    if( args \u0026\u0026 args.caller() \u0026\u0026 args.dataset() == prod.TableId \u0026\u0026 args.record().RecId )\n    {\n        prod = args.record();\n        ...\n```\n\n## Благодарности\n\nСпасибо Роману Долгополову (RDOL, [db](https://axforum.info/forums/member.php?u=2836)), его код лежит в основе данного проекта.\n\n## ChangeLog\n\n* [CHANGELOG.md](CHANGELOG.md)\n* \u003chttps://github.com/mazzy-ax/SysArgs/releases\u003e\n\n## Помощь проекту\n\nБуду признателен за ваши замечания, предложения и советы по проекту как в разделе [Issues](https://github.com/mazzy-ax/SysArgs/issues), так и в виде письма на адрес \u003cmazzy@mazzy.ru\u003e\n\nМазуркин Сергей (mazzy)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazzy-ax%2Fsysargs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmazzy-ax%2Fsysargs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazzy-ax%2Fsysargs/lists"}