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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.11.2018, 06:44   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Набор утилит для разработки в D365
В процессе выполнения разработки в D365 наткнулся на то, что некоторые действия требуют довольно значительного числа дополнительных кликов и ввода одних и тех же данных. Поскольку в комплекте с VS идет Add-ins framework решил разработать несколько полезных утилит
  • Создание нового енума - создает enum, EDT для него, список значений можно вставлять из спецификации
  • Добавление полей в таблицу из Excel - описываете поля таблицы в шаблоне Excel, в один клик переносите это в таблицу(или экстеншн таблицы). Тулза создает EDT(если его нет), добавляет поле в таблицу, помещает его в группу, создает Relation на таблице если на EDT есть Reference table. Если убедить консультанта использовать шаблон и использовать текстовые формулы для получения имени поля и EDT из метки(те.. из "Slit width" получить SlitWidth поле и MYSlitWidth EDT, то задача редактирования таблиц резко упрощается
  • Создание простого справочника - создает таблицу с полями ID, Description и методом find, новый EDT для нее, форму в стиле Simple list и меню айтем. Cпасибо RDOL за идею, который реализовал нечто подобное еще для Ax3.0
  • Создание extension класса по объекту - создание класса экстеншена для таблиц, форм и классов. требует ввода префикса который подставляется в нужное место в соответсвии с рекомендациями МС
Сам проект выложил на модный нынче гитхаб https://github.com/TrudAX/TRUDUtilsD365
Так как этот проект наверное самое большое что я делал в C#, допускаю что некоторые вещи можно улучшить.
Буду раз любым замечаниям и предложениям, что еще можно добавить-улучшить. цель - сократить кол-во времени на разработку типовых спецификаций

Последний раз редактировалось trud; 09.11.2018 в 06:48.
За это сообщение автора поблагодарили: mazzy (20), fed (20), raz (15), belugin (20), sukhanchik (20), Logger (20), Ace of Database (20), AvrDen (1), Stitch_MS (9), Alex_KD (7), PavelX (2), Jorj (1), alex55 (3), Dreadlock (7), imir (2), A_BAS (2), Pokersky09 (2), skuull (18).
Старый 09.11.2018, 11:05   #2  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Если сделаете создание extension класса с extension методом по методу вообще цены ему не будет.
За это сообщение автора поблагодарили: trud (1), Logger (3).
Старый 09.11.2018, 11:34   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Большое спасибо за разработку и выкладывание ее в открытый доступ!
__________________
Возможно сделать все. Вопрос времени
Старый 09.11.2018, 13:20   #4  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Спасибо за тулзу!

Цитата:
Troubleshooting
Так же можно attach to process из Visual Studio прям из проекта.

Цитата:
Installation
...
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\agk3do44.e2i\AddinExtensions
Папка разная на разных VM.
Проще наверное так -
https://github.com/Microsoft/ssms-vi...nstallToVS.bat
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 09.11.2018, 13:30   #5  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Так же можно attach to process из Visual Studio прям из проекта.
О, а можно подробнее? сейчас дико неудобно с внешним отладчиком. Просто DLL то которая компилится как результат - она изначально лежит в другом месте. далее после билда автоматом запускается скрипт который вы привели и копирует ее в папку AddIns (это стандартный тип проекта AddIns)
Старый 09.11.2018, 14:33   #6  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от trud Посмотреть сообщение
О, а можно подробнее? сейчас дико неудобно с внешним отладчиком. Просто DLL то которая компилится как результат - она изначально лежит в другом месте. далее после билда автоматом запускается скрипт который вы привели и копирует ее в папку AddIns (это стандартный тип проекта AddIns)
Попробуй так -
Project->Property->Debug

Поменяй start action на - "start external program"
И укажи параметр -
Код:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
Никакие экстра скрипты не нужны. Батник только для установки.

Кстати, чтоб было легче установить, может создать отдельную папку Install или Setup и сбросить туда 3 файла - dll, pdb и bat?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: trud (10).
Старый 09.11.2018, 15:31   #7  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Попробуй так -
Project->Property->Debug

Поменяй start action на - "start external program"
И укажи параметр -
Код:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
Да, то что нужно, работает!
Старый 12.11.2018, 05:42   #8  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от skuull Посмотреть сообщение
Если сделаете создание extension класса с extension методом по методу вообще цены ему не будет.
Я так понял вы это добавили, спасибо

Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Кстати, чтоб было легче установить, может создать отдельную папку Install или Setup и сбросить туда 3 файла - dll, pdb и bat?
Добавил.
Сделал новый релиз, добавляющий новый Addins - Copy extension method и программу установки
https://github.com/TrudAX/TRUDUtilsD...tension-method
Старый 12.11.2018, 06:02   #9  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от trud Посмотреть сообщение
Я так понял вы это добавили, спасибо
Если хочешь сделать что-то хорошо как-нибудь, сделай это сам

Я был не уверен, лучше копировать метод или сразу создавать класс с методом, но потом подумал, что копировать надо много, а создавать 1 раз и оставил как есть.
За это сообщение автора поблагодарили: belugin (15), sukhanchik (8).
Старый 12.11.2018, 17:48   #10  
Pokersky09 is offline
Pokersky09
Участник
 
43 / 60 (3) ++++
Регистрация: 15.11.2012
Адрес: Turkey
Использовал тулзу для VS более шустрая прицепка к IIS,
в один клик цепляется к текущему IIS (один раз настроить), в целом уходит около 5 секунд с момента клика до точки остановки.

Мне очень не хватает возможности добавлять комментарии в код, в соответствии с наименованием проекта(например). Временно заюзал расширение VCmd, которое из TFS тянет текущий Work name. Но для этого надо поддерживать актуальным tfs (обычно актуализируем только перед чекином).

P.s. надеюсь ссылки на marketplace разрешены
За это сообщение автора поблагодарили: trud (3).
Старый 12.11.2018, 17:57   #11  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Я тоже использую Visual Commander, ничего лучше пока не встречал
Средство для простановки комментариев в AX7
Старый 10.01.2019, 15:36   #12  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Добавил еще несколько дополнений:
  • Генерация типового кода для классов RunBase и DataContract
  • Создание методов find, exists, findRecId - классическая вещь
  • Создание MenuItem по объекту
  • Создание Security privilege по MenuItem
Описание по ссылке https://github.com/TrudAX/TRUDUtilsD365
За это сообщение автора поблагодарили: Maximin (6), raz (5), sukhanchik (6), Ivanhoe (10), gl00mie (20).
Старый 20.01.2019, 11:55   #13  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Спасибо большое за ваш труд!
А можно попросить сделать установку и обновление с помощью пакета NuGet?
Было бы очень удобно.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Теги
d365, d365 for operations, полезное, утилиты

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Sumit Potbhare: Modern POS installation on Windows Laptop | D365 for Retail Blog bot DAX Blogs 0 24.10.2018 12:11
alirazazaidi: Production / Manufacturing courses D365 For Finance operations Courses Dynamics learning portal links Blog bot DAX Blogs 0 24.08.2018 20:15
D365 for FO Tips&Tricks: Calling PowerApps from D365 for Finance and Operations Blog bot DAX Blogs 0 14.08.2018 17:11
D365 FO - Ошибка: Module 'AAA' is missing the following dependencies: 'BBB' MarinaAX DAX: Программирование 4 21.07.2018 22:42
erconsult: Copy-paste automation in D365 FO with a keyboard emulator Blog bot DAX Blogs 5 10.01.2018 13:42
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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