AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.09.2021, 06:56   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Утилиты разработчика для АХ2012(версия 2021 года)
Поскольку многие еще разрабатывают на АХ2012, давайте обсудим утилиты, которыми вы пользуетесь в настоящее время. Mazzy собрал довольно много ссылок на подобные утилиты в https://github.com/axforum/awesome-axforum , но многие довольно старые, интерестно какие из них актуальны на текущий момент
Напишу свой набор(часть еще нигде не выкладывалась)
Минимальная версия
Поскольку, работая в консалтинге приходится часто переключаться между проектами, данная версия содержит только основные, часто используемые утилиты
Проект содержит следующие элементы
Название: 01 - MinProjectsElements.png
Просмотров: 628

Размер: 28.7 Кб
Основные функции:
1.Простановка комментариев с автоматическим добавлением в проект
Позволяет описать текущий проект в коде(т.е. описание сохранится при перезаписи базы)
Нажмите на изображение для увеличения
Название: 02 - Comment Description.png
Просмотров: 86
Размер:	45.0 Кб
ID:	13227
Вызывается из 2-х мест:
Из кода, обрамляя выделенный текст комментариями, и добавляя текущий элемент в проект, при этом делая его активным
Нажмите на изображение для увеличения
Название: 02 - Comment Description2.png
Просмотров: 81
Размер:	66.3 Кб
ID:	13228
Нажмите на изображение для увеличения
Название: 02 - Comment Description3.png
Просмотров: 93
Размер:	85.8 Кб
ID:	13229
Из контекстного меню, добавляя текущий элемент в активный проект
2. Расширение формы перекрестных ссылок
Данное расширение добавляет 2 новых столбца, показывая текущую строчку кода для перекрестной ссылки
Нажмите на изображение для увеличения
Название: xRefReference.png
Просмотров: 78
Размер:	39.5 Кб
ID:	13236
Незаменимая вещь при различных поисках элементов, которые используются во многих местах
3. Расширение класса EditorScripts
Содержит разные полезные функции:
  • Открытие текущего выделенного элемента
  • Автогенерация методов find, extist.
  • Шаблоны кода для типовых операций типа обработка выделенных записей в форме
Название: EditorScriptsExtensions.png
Просмотров: 637

Размер: 34.0 Кб
Расширенная версия
Для тех проектов, на которых приходится более серьезно разрабатывать, есть более расширенная версия, которая состоит из следующих элементов(многие из которых переехали в D365FO - https://github.com/TrudAX/TRUDUtilsD365 )

Форма DEVEnumCreator для быстрого создания енумов
Название: DEVEnumCreator.png
Просмотров: 625

Размер: 14.3 Кб

Форма DEVRunBaseBuilder для быстрого создания классов RunBase с параметрами
Нажмите на изображение для увеличения
Название: DEVRunBaseBuilder.png
Просмотров: 78
Размер:	37.0 Кб
ID:	13232

Форма DEVTableBuilder для быстрого создания простых справочников (создает таблицу, форму для нее и меню айтем)
Нажмите на изображение для увеличения
Название: DEVTableBuilder.png
Просмотров: 73
Размер:	15.9 Кб
ID:	13233

Форма DEVLabelsCreateInfo – позволяет создать метки у выбранных элементов.

Довольно удобная утилита, которая позволяет не тратить время на создание меток во время разработки, а создать их в конце разработки.Очень не хватает такого в D365FO
Механизм работы следующий – ставится галка Set hook, далее запускается стандартная проверка Best practice
Нажимается кнопка Refresh, которая показывает все найденные ошибки BP с типом Нет метки
Далее нужно нажать кнопку Set label action – она для каждого найденного предупреждения проставит предполагаемое действие, например создать Метку, Использовать существующую или пропустить
Следующая кнопка – Create labels – создает метки в меточном файле
Кнопка Replace text with labels – проставляет созданные метки в найденные элементы
Нажмите на изображение для увеличения
Название: CreateLables.png
Просмотров: 74
Размер:	41.1 Кб
ID:	13230

Расширение формы SysCompareForm – автоматом нажимает кнопку Сравнить при открытие формы Compare
Расширение формы SysImportDialog – позволяет делать Check-out при импорте элементов
Таблица для логирования с сохранением стека вызова DEVDebugInfo::logEvent(
Модуль Security development tool
Ряд вспомогательных джобов
Название: SampleJobs.png
Просмотров: 638

Размер: 19.9 Кб
Оба проекта можно скачать здесь https://github.com/TrudAX/TRUDScript.../master/AX2012

Комментарии приветствуются
За это сообщение автора поблагодарили: mazzy (10), AlGol (4), Vadik (1), dn (6), sukhanchik (20), Logger (10), Ace of Database (10), S.Kuskov (10), SRF (5).
Старый 09.09.2021, 11:10   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Прикольно.

Не увидел DEVtoolbar.
Без него никак. FormDigger опять же нужен.
Старый 09.09.2021, 11:11   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от trud Посмотреть сообщение
Оба проекта можно скачать здесь https://github.com/TrudAX/TRUDScript.../master/AX2012
Спасибо!
эту ветку в awesome-axforum добавил.

маленькая просьба по оформлению:

ты публикуешь машинно читаемые xpo-файлы.
это текстовый файл, который очень не удобно читать человеку.
можешь ли ты дополнительно к xpo добавить человеко-читаемые xpp-файлы с методами?

автоматически человеко-читаемые тексты можно выделить при помощи xpoTools
я обычно делаю build.ps1, чтобы xpp-файлы генерировались автоматом.
см. например, https://github.com/mazzy-ax/SysConfigFile
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: trud (2), Logger (3).
Старый 09.09.2021, 11:12   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
А с чем связан интерес к 2012-й ?
Те, кто работает с 365-й обычно брезгливо кривятся при упоминании старушек
Старый 09.09.2021, 11:18   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Logger Посмотреть сообщение
А с чем связан интерес к 2012-й ?
Те, кто работает с 365-й обычно брезгливо кривятся при упоминании старушек
ой, а можно этот оффтопик в отдельную ветку?
пожалуйста-пожалуйста-пожалуйста.

очень хочется, чтобы эта ветка содержала только по теме - утилиты разработчика
__________________
полезное на axForum, github, vk, coub.
Старый 09.09.2021, 11:21   #6  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Круто! Надо назвать этот набор утилит Axapta Gold и выпустить компакт-диск.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/
За это сообщение автора поблагодарили: mazzy (2).
Старый 09.09.2021, 12:59   #7  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Из нестандартного - использую инкрементную компиляцию группы объектов (классов\таблиц) + в проекте реализована такая возможность - одной кнопкой выполнить инкрементную компиляцию всех объектов, которые в него входят, не знаю, может быть это реализовано в каком то из наборов утилит.
__________________
Sergey Nefedov
Старый 09.09.2021, 13:23   #8  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от Logger Посмотреть сообщение
А с чем связан интерес к 2012-й ?
В контексте утилит 2012 интересно другое, runbase вроде как Deprecated в 2012 и по-хорошему вместо него надо использовать SysOperation, но вот парадокс DEVRunBaseBuilder есть, а DEVSysOperationBuilder нет
__________________
Sergey Nefedov
Старый 09.09.2021, 13:41   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,325 / 3548 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от SRF Посмотреть сообщение
В контексте утилит 2012 интересно другое, runbase вроде как Deprecated в 2012 и по-хорошему вместо него надо использовать SysOperation, но вот парадокс DEVRunBaseBuilder есть, а DEVSysOperationBuilder нет
Предполагаю - потому что в D365FO RunBase перестал быть Deprecated, в связи с чем особого смысла в 2012 менять свои привычки с RunBase на SysOperation - нет.
Другое дело, что да, DEVSysOperationBuilder для ассортимента был бы удобен, но автору большое спасибо уже за то, что есть - а остальное - думаю каждый может доделать в соответствии со своими пожеланиями
__________________
Возможно сделать все. Вопрос времени
Старый 09.09.2021, 14:04   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от SRF Посмотреть сообщение
В контексте утилит 2012 интересно другое, runbase вроде как Deprecated в 2012 и по-хорошему вместо него надо использовать SysOperation, но вот парадокс DEVRunBaseBuilder есть, а DEVSysOperationBuilder нет
Ну ответ же очевиден. Наверняка код перенесен из предыдущих версий, в которых еще не было SysOperation. И не дошли руки написать вариант для него.
За это сообщение автора поблагодарили: sukhanchik (4).
Старый 09.09.2021, 14:46   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от mazzy Посмотреть сообщение
ты публикуешь машинно читаемые xpo-файлы.
это текстовый файл, который очень не удобно читать человеку.
можешь ли ты дополнительно к xpo добавить человеко-читаемые xpp-файлы с методами?
создал pull request.
посмотреть как это будет выглядеть можно здесь
https://github.com/mazzy-ax/TRUDScri.../master/AX2012
__________________
полезное на axForum, github, vk, coub.
Старый 09.09.2021, 17:55   #12  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от Logger Посмотреть сообщение
Прикольно.

Не увидел DEVtoolbar.
Без него никак. FormDigger опять же нужен.
А можете ссылку на исходники дать? или то что есть на форуме актуально? Я использовал на нескольких проектах, это да, удобно, но нужно контролировать проект чтобы такое поставить.

Цитата:
Сообщение от SRF Посмотреть сообщение
Из нестандартного - использую инкрементную компиляцию группы объектов (классов\таблиц) + в проекте реализована такая возможность - одной кнопкой выполнить инкрементную компиляцию всех объектов, которые в него входят, не знаю, может быть это реализовано в каком то из наборов утилит.
Я такого не видел, сбрасывайте сюда если есть

Цитата:
Сообщение от SRF Посмотреть сообщение
В контексте утилит 2012 интересно другое, runbase вроде как Deprecated в 2012 и по-хорошему вместо него надо использовать SysOperation, но вот парадокс DEVRunBaseBuilder есть, а DEVSysOperationBuilder нет
Мне лично SysOperation кажется менее удобным, но в целом с замечание верное. Если вы пользуетесь SysOperation, можете написать примеры когда которые надо генерить(лучше для D365FO)? Сейчас есть класс который генерит дата провайдер и контроллер https://github.com/TrudAX/TRUDUtilsD...-class-builder
Если есть идеи что туда еще можно добавить, пришлите плиз код и как он должен генериться, я добавлю
По поводу устаревания. Я так понял сейчас Micorosft сделала Process Automation Framework, чтобы быть в тренде надо уже писать на нем https://docs.microsoft.com/en-us/dyn...tion-framework
За это сообщение автора поблагодарили: SRF (2).
Старый 10.09.2021, 10:11   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Там есть несколько вариантов помимо этих
https://github.com/AXTRACK/dax2012toolset
http://axcoder.blogspot.com/2012/02/...or-ax2012.html

Вот тут была подборка тем про расширение редактора
Editor extensions и регистр символов

тоже полезно

Последний раз редактировалось Logger; 10.09.2021 в 10:22.
Старый 10.09.2021, 10:15   #14  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Девтулбар покажется не всем удобным к установке.
Под это дело я реанимировал старика Sidax (главным образом ради удобного поиска по меню)
Его удобно переносить - одна форма и все.

Что исправлено:
1. Модифицирован код (системные классы Binary* в 2012-й поменялись - изменилось имя)
2. Исправлена обработка кликов в дереве с перечнем окон.
3. Исправлен плавающий баг при обходе меню. Он приводил к тому что поиск нестабильно работал. Чаще не срабатывал чем срабатывал.
4. Подчищена ругань на бестпрактис.

Там еще надо код прилизывать, но руки не доходят. Выкладываю как есть со всеми ошметками.
Вложения
Тип файла: zip sidax2012.zip (69.4 Кб, 124 просмотров)
За это сообщение автора поблагодарили: dn (6), trud (2).
Старый 10.09.2021, 10:23   #15  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Вот такой скрипт думаю не помешает.
После инсталяции Map вдруг cтал Table?!

Можно повесить на кнопку.
Хотя у меня до сих пор в джобе болтается.
Старый 10.09.2021, 10:30   #16  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от trud Посмотреть сообщение
А можете ссылку на исходники дать? или то что есть на форуме актуально?
Ограничить передвижение окон пределами главного окна АХ
вроде бы это последнее что было

Цитата:
Сообщение от trud Посмотреть сообщение
Я использовал на нескольких проектах, это да, удобно, но нужно контролировать проект чтобы такое поставить.
попробуйте Sidax
Там все в одной форме.
Пришел увидел, загрузил, перед уходом убил.
Старый 13.09.2021, 09:00   #17  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от trud Посмотреть сообщение
Мне лично SysOperation кажется менее удобным, но в целом с замечание верное. Если вы пользуетесь SysOperation, можете написать примеры когда которые надо генерить(лучше для D365FO)?
Да это не замечание было, а скорее реальность, я поэтому и написал слово парадокс . Просто, если бы SysOperation эффективно заменил runbase, то наверняка и builder был бы уже давно.

Я в основном использую Runbase, SysOperation время от времени.

Проект по инкрементной компиляции для нескольких объектов во вложении (ax2012 r3, но думаю и для младших версий можно использовать), автора я не знаю.
Вложения
Тип файла: zip PrivateProject_CompileForwardMultiSelect.zip (23.5 Кб, 147 просмотров)
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: trud (2), Ace of Database (3).
Старый 16.09.2021, 13:42   #18  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Вот этот фикс ещё используем Определение SysOperationController в диалоге.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: sukhanchik (4).
Старый 17.09.2021, 01:49   #19  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
Круто! Надо назвать этот набор утилит Axapta Gold и выпустить компакт-диск.

Axapta Golden Age Center
За это сообщение автора поблагодарили: Ace of Database (2), SRF (1).
Старый 17.09.2021, 17:12   #20  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
Цитата:
Сообщение от trud Посмотреть сообщение
Мне лично SysOperation кажется менее удобным,
Почему?
Теги
dev toolbar, sidax, тулбар

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axinthefield: Dynamics 365 Monthly Update - August 2021 Blog bot DAX Blogs 0 09.08.2021 22:12
Trace Parser. Error: Incorrect or missing MOF file, import is not available. Poleax DAX: Администрирование 6 13.05.2011 10:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:52.