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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.07.2017, 10:40   #1  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,830 / 3708 (181) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Кто-нибудь пробовал использовать VS Code как редактор кода для ax7?
Кто-нибудь пробовал использовать Visual Studio Code как редактор кода для ax7?
https://code.visualstudio.com/
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
За это сообщение автора поблагодарили: Ace of Database (2).
Старый 15.12.2017, 21:05   #2  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,830 / 3708 (181) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Навижиноводы используют
dkatson: How to do AL VS Code for beginners. Start of video series.
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 16.12.2017, 00:37   #3  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,940 / 701 (27) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
-Dynamics 365Development & administration for Finance and Operations
--Develop and customize using Visual Studio
---Visual Studio tools
----Build operations
https://docs.microsoft.com/en-us/dyn...ild-operations
В комментариях:

cd C:\AOSService\PackagesLocalDirectory\Bin
for %P in (model1 model2 model3) DO xppc -modelmodule=%P -output="C:\AOSService\PackagesLocalDirectory\%P" -metadata="C:\AOSService\PackagesLocalDirectory" -verbose -doc -xref -log="c:\temp\buildmodelresult.txt" -referenceFolder="c:\aosservice\packageslocaldirectory"

Трудно поверить что нет возможности из командной строки. Но само наличие такой возможности и список утилит по всей видимости совершенно секретен. IDE это всегда графическая оболочка над командными утилитами.

Я бы рекомендовал посмотреть /? --help и подобное для получения справки по
\AosService\PackagesLocalDirectory\Bin\xppc.exe
\AosService\PackagesLocalDirectory\Bin\ModelUtil.exe
и что-там еще есть.

Последний раз редактировалось ax_mct; 16.12.2017 в 00:48.
За это сообщение автора поблагодарили: mazzy (2).
Старый 16.12.2017, 06:34   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,090 / 2285 (85) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Трудно поверить что нет возможности из командной строки. Но само наличие такой возможности и список утилит по всей видимости совершенно секретен.
Если включить детальное логгирование билда в вс, можно увидеть все, что вызывается с ключами.

Цитата:
IDE это всегда графическая оболочка над командными утилитами.
Даже если вы не знаете про smalltalk вспомните хотя бы Ax2009

Кроме компиляции есть еще синтаксическая подсветка, intellisence и прочее. Для VSCode этим занимается language service.

Я вполне себе редактирую иногда файлы в редакторе, потом вызываю коммандлайном пересбор модулей.

НО обычно я работаю в VS, а в VSCode только поиск и замену.
Еще в свое время делал синтаксическую разметку для FAR на основе XML и C# но как-то оказалось не сильно нужна - редактировать все равно проще в VS, а посмотреть по-быстрому можно и так.
За это сообщение автора поблагодарили: mazzy (2), ax_mct (3).
Старый 16.12.2017, 20:58   #5  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,940 / 701 (27) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Если включить детальное логгирование билда в вс, можно увидеть все, что вызывается с ключами.

Кроме компиляции есть еще синтаксическая подсветка, intellisence и прочее. Для VSCode этим занимается language service.

Я вполне себе редактирую иногда файлы в редакторе, потом вызываю коммандлайном пересбор модулей.

НО обычно я работаю в VS, а в VSCode только поиск и замену.
Еще в свое время делал синтаксическую разметку для FAR на основе XML и C# но как-то оказалось не сильно нужна - редактировать все равно проще в VS, а посмотреть по-быстрому можно и так.
Ценный совет и опыт. Получается что таки можно выработать приемы для ускорения и удобства без Visual Studio.

Цитата:
Сообщение от belugin Посмотреть сообщение
Даже если вы не знаете про smalltalk вспомните хотя бы Ax2009
Исключения подтверждают правило Да и думаю что даже для программиста AX термин "IDE" ассоциируется прежде всего с "внешними" IDE.

Удивительно знать что кто-то все-таки программирует в AX7 вне Майкрософта. Думаю что количество таких специалистов близко к количеству космонавтов. Поэтому действительно бесценный опыт.

P.S. Ошибка вышла. belugin таки сотрудник Майкрософта. Тогда даже и не знаю. В Штатах 46 активных космонавтов, в России 27 действующих космонавтов.
Возможно количество тех кто пишет не ядро AX7, а логику приложения, даже в Майкрософт близко к этим цифрам. По моим ощущениям

Количество же тех кто программирует вне Майкрософт - высадка на Луну, выход в открытый космос?

Последний раз редактировалось ax_mct; 16.12.2017 в 21:10.
Старый 17.12.2017, 12:13   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,090 / 2285 (85) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Я думаю что те idе, которые могут, используют API компилятора а не командую строку. Кто тому же часто у ide возникают потребности отличные от компилятора командной строки (например разобрать некомпилирующийся код для подсказок) и им приходится дублировать части компиляторов но с другими компромиссами.
Старый 17.12.2017, 21:37   #7  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,940 / 701 (27) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Я думаю что те idе, которые могут, используют API компилятора а не командую строку. Кто тому же часто у ide возникают потребности отличные от компилятора командной строки (например разобрать некомпилирующийся код для подсказок) и им приходится дублировать части компиляторов но с другими компромиссами.
Концептуально любой компилятор это утилита командной строки. Соответственно и все другие сопутствующие утилиты обязаны быть способны запускаться из командной строки.

Поэтому ожидаю что основные функции сборки зависимостей, компиляции и прочее типа работа с контролем версий финально есть запуск из командной строки внутри IDE которая просто помогает формировать данную строку.
P.S. Не факт конечно,
https://docs.oracle.com/javase/7/doc...vac/index.html
The compiler is a command line tool but can also be invoked using the Java Compiler API.
Но это неправильный мед и неправильные пчелы если то же самое нельзя запустить из командной строки.

Наряду конечно с такими полезностями как windows OS service xppcAgent который рекомендуется убивать каждый раз перед билдом И здесь кстати вопрос, а почему бы не сделать запускаемый файл командной строки со всеми оптимизациями включая перезапуск xppcAgent. Хотя я тут пас, возможно можно вообще без xppcAgent, не знаю.

Но пойнт в том что батник может кое-кому вернуть душевное здоровье Это ненормально для психики программиста работать с кодом как на ядерном реакторе, в костюме высшей защиты и не своими руками. Чем проще средства, тем лучше.

Текстовый редактор на выбор и пара батничков, все что нужно для счастья

Последний раз редактировалось ax_mct; 17.12.2017 в 21:44.
Старый 18.12.2017, 11:22   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,090 / 2285 (85) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Концептуально любой компилятор это утилита командной строки.
Концептуально любой фрукт это яблоко . Тут наверное нужно какое-то абстрактное слово, например, концептуально компилятор это функция.

Цитата:
есть запуск из командной строки внутри IDE которая просто помогает формировать данную строку.
Нафига IDE формировать какие-то там строки если есть API.

Цитата:
Наряду конечно с такими полезностями как windows OS service xppcAgent который рекомендуется убивать каждый раз перед билдом
Это не windows service а просто процесс

Цитата:
И здесь кстати вопрос, а почему бы не сделать запускаемый файл командной строки со всеми оптимизациями включая перезапуск xppcAgent. Хотя я тут пас, возможно можно вообще без xppcAgent, не знаю.
Его надо просто убить, он сам запустится если будет нужен. Перед компиляцией надо:
  • Убить агента (kill -name xppcagent)
  • Остановить IIS (iisreset -stop)
  • Остановить batch сервер (spsv *batch*)

Цитата:
Но пойнт в том что батник может кое-кому вернуть душевное здоровье Это ненормально для психики программиста работать с кодом как на ядерном реакторе, в костюме высшей защиты и не своими руками. Чем проще средства, тем лучше.
Такое можно организовать, и я иногда так делаю.

Цитата:
Текстовый редактор на выбор и пара батничков, все что нужно для счастья
Нормально функционирующий IDE все равно удобнее (правда на основе VSCode можно собрать IDE - с f12 рефакторингами и прочим, правда для AX пока никто не собрал).
За это сообщение автора поблагодарили: gl00mie (2).
Старый 18.12.2017, 18:16   #9  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,569 / 635 (25) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Удивительно знать что кто-то все-таки программирует в AX7 вне Майкрософта. Думаю что количество таких специалистов близко к количеству космонавтов. Поэтому действительно бесценный опыт.

P.S. Ошибка вышла. belugin таки сотрудник Майкрософта. Тогда даже и не знаю. В Штатах 46 активных космонавтов, в России 27 действующих космонавтов.
Возможно количество тех кто пишет не ядро AX7, а логику приложения, даже в Майкрософт близко к этим цифрам. По моим ощущениям

Количество же тех кто программирует вне Майкрософт - высадка на Луну, выход в открытый космос?
Кстати тоже обратил на это внимание, так как и предложений даже на буржуйских сайтах о работе по D365 или AX7 равно нулю.
__________________
Axapta book for developer
Старый 18.12.2017, 20:53   #10  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,940 / 701 (27) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от MikeR Посмотреть сообщение
Кстати тоже обратил на это внимание, так как и предложений даже на буржуйских сайтах о работе по D365 или AX7 равно нулю.
Ну несколько космонавтов принадлежащих корпорации "Всех на небеса" на орбите таки летают.

Предложения по найму космонавтов тоже есть но это наверное в другую тему типа ""Ну и хде?" как например Вот мы и нашли этих 43 AX7 клиентов? Или это не AX7/D365?

Цитата:
Сообщение от belugin Посмотреть сообщение
Нафига IDE формировать какие-то там строки если есть API.

Его надо просто убить, он сам запустится если будет нужен. Перед компиляцией надо:
  • Убить агента (kill -name xppcagent)
  • Остановить IIS (iisreset -stop)
  • Остановить batch сервер (spsv *batch*)

Нормально функционирующий IDE все равно удобнее (правда на основе VSCode можно собрать IDE - с f12 рефакторингами и прочим, правда для AX пока никто не собрал).
Спасибо. Действительно полезно.
Насчет IDE в целом, непроклятым программистам важна полная поддержка командная строки в IDE чтобы любую кнопку можно было скриптом. Иначе IDE просто не будет популярна.

И если бы я проектировал IDE то вызывал бы все (P.S. понятно что не подсказки ) именно формированием командной строки. Так проще на самом деле для архитектуры, тестирования и поддержки.

То что даже VS показывает во время билда что-за утилиты и с какими параметрами вызываются уже ставит под сомнение что вызовы через API.
В том же Eclipse https://git.eclipse.org/c/ думаю что можно и коде найти как именно оно реализовано. Но это не так важно, важно то что программировать в AX7 можно и без VS
Салют орбите!

Последний раз редактировалось ax_mct; 18.12.2017 в 20:55.
Старый 19.12.2017, 08:54   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,090 / 2285 (85) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от ax_mct Посмотреть сообщение
То что даже VS показывает во время билда что-за утилиты и с какими параметрами вызываются уже ставит под сомнение что вызовы через API.
Для X++ VS вызывает xppc.exe - его можно просто увидеть в списке задач. Для C# он не пишет ключей и в списке задач светится MSBuild, скорее всего вызывает таску через API как и netbeans, например.

IDE надо не только запустить компилятор, но и получать информацию о прогрессе и даже промежуточные результаты разбора кода на не полностью компилящемся файле. До Roslyn, насколько я знаю, в VS было даже некоторое дублирование - для IDE был отдельный парсер.
За это сообщение автора поблагодарили: ax_mct (3).
Старый 19.12.2017, 17:04   #12  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,569 / 635 (25) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Предложения по найму космонавтов тоже есть но это наверное в другую тему типа ""Ну и хде?"
Я вот что думаю, может предложить выкупить Нуралиеву у вендора права на третью версию, портировать её на Linux и будет счастье всем. Очень здорово будет и в плане импорта замещения.
Очень может статься, что индо мигранты в менеджменте поиграются еще годик другой и закроют проект,, как убыточный. Как это было с XBOX.
Отличную технологию бросили и побежали срубать бабла, тут полным полно Левшей ходит.
__________________
Axapta book for developer
Старый 19.12.2017, 17:59   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
2,986 / 1610 (59) ++++++++
Регистрация: 12.10.2004
Цитата:
Сообщение от MikeR Посмотреть сообщение
Я вот что думаю, может предложить выкупить Нуралиеву у вендора права на третью версию, портировать её на Linux и будет счастье всем.
Миша, а ему-то это зачем ?
Или это ты такой троллинг решил устроить.
Старый 19.12.2017, 21:11   #14  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,940 / 701 (27) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от MikeR Посмотреть сообщение
Я вот что думаю, может предложить выкупить Нуралиеву у вендора права на третью версию, портировать её на Linux и будет счастье всем. Очень здорово будет и в плане импорта замещения.
Очень может статься, что индо мигранты в менеджменте поиграются еще годик другой и закроют проект,, как убыточный. Как это было с XBOX.
Отличную технологию бросили и побежали срубать бабла, тут полным полно Левшей ходит.
Цитата:
Сообщение от Logger Посмотреть сообщение
Миша, а ему-то это зачем ?
Или это ты такой троллинг решил устроить.
Создал тему. Для Левшей.
Выкупить Аксапту 3.0, портировать её на Linux и будет счастье всем.
Старый 02.01.2018, 16:46   #15  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
575 / 37 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от MikeR Посмотреть сообщение
Кстати тоже обратил на это внимание, так как и предложений даже на буржуйских сайтах о работе по D365 или AX7 равно нулю.
Интересные у вас сайты. С лета прилетают на почту предложения вакансий на 7-ку в различные штаты США, Канады и порой даже Европа вклинивается.
Старый 23.01.2018, 07:54   #16  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
506 / 330 (13) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от mazzy Посмотреть сообщение
Кто-нибудь пробовал использовать Visual Studio Code как редактор кода для ax7?
https://code.visualstudio.com/
Угу. Далеко от идеала, спасибо архитектору, который решил хранить код в XML.

Проблема в том что код надо все время конвертировать из/в XML вместо того чтобы хранить как есть.



Чтобы попробовать, установите расширения в VS Code -


  • Запускайте VS Code под админом
  • Поддерживает только классы и таблицы и только редактирование (создать новый обьект не получится)
  • Понимает только скомпилированые обьекты (если создаете новый обьект в VS, откомпилируйте проект)
  • Работает только на D365 Dev Box (обычные tools должны быть установлены)
  • Расцветка ошибок иногда ошибается на 1 строку
  • В Update 12 поменять залоченый модели не получится (в Update 11 вроде как работает)
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0

Последний раз редактировалось Alex_KD; 23.01.2018 в 07:58.
За это сообщение автора поблагодарили: belugin (10), mazzy (10), sukhanchik (10), ax_mct (10), skuull (7).
Старый 23.01.2018, 09:18   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,090 / 2285 (85) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Угу. Далеко от идеала, спасибо архитектору, который решил хранить код в XML.
Это мешает и в VS, но сделано для поддержки хранения изменений по слоям
Старый 23.01.2018, 13:12   #18  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
506 / 330 (13) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от belugin Посмотреть сообщение
Это мешает и в VS, но сделано для поддержки хранения изменений по слоям
Можно было сделать слой = branch в VSTS или GIT.
Метадата = атрибуты как в C#.
Я правильно понимаю что в runtime в D365 понятие слоев не существует?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 23.01.2018, 14:30   #19  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,090 / 2285 (85) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Да в принципе я согласен что слои - это бранчи для бедных (если не брать рантайм в расчет). Но я не уверен, что введение бранчей вместо слоев это просто - надо рассмотреть все сценарии включая например апгрейд со слоистой версии.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: How to assign an LTL Freight class code to an item using Nation Motor Freight Classification (NMFC) codes Blog bot DAX Blogs 0 25.03.2015 01:13
goshoom: Custom rules for Code Upgrade Tool Blog bot DAX Blogs 0 15.12.2014 02:11
Aх 2012 Редактор кода Eldar9x DAX: Программирование 4 29.07.2013 04:40
Формирование штрих-кода: Code-128 A, B, C Hyper DAX: Программирование 3 11.06.2010 13:03
Пробовал ли кто-нить использовать Axapta как COM-клиент? Andronov DAX: Программирование 3 18.03.2003 09:12
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:10.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.