Для тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше (25 минут):Воякс И.И. (Woyax) программист MS Dynamics AX (DДля тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше (25 минут):Воякс И.И. (Woyax) программист MS Dynamics AX (D

Воякс И.И. (Woyax) программист MS Dynamics AX (D365FO): 2 Часть (запрос объектов, перекрёстные ссылки, первый код)

Для тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше (25 минут):

Воякс И.И. (Woyax) программист MS Dynamics AX (D365FO): 2 Часть (запрос объекта, перекр ссылки, код)
rutube.ru

Продолжаем обучать Ивана Ивановича Воякс (он же Woyax) особенностям работы программистом MS Dynamics AX 2012 (и любые версии, включая D365 FO).

Начало тут:

Воякс И.И. (Woyax) программист MS Dynamics AX (D365FO): 1 Часть (ТЗ, проект, меню, консультация)
Для тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше...
habr.com

Эта часть посвящена трём важным и интересным вещам:

  1. Научили Воякс путешествовать по системе и запрашивать необходимые ему для выполнения задач или для анализа объекты

  2. Научили Воякс пользоваться перекрёстными ссылками

  3. Сформировали концепцию того, как и в каком виде Воякс будет предлагать модифицировать код и объекты системы

Первые два пункта должны быть особенно интересны консультантам и тем, кто работает в поддержке по MS Dynamics AX.

В первой части мы продемонстрировали, как Воякс оказывает консультации по работе какой-либо операции или алгоритма.

Рис. 1 Консультация (общий вопрос)
Рис. 1 Консультация (общий вопрос)

Консультант указывает название операции или путь к пункту меню и задаёт один или несколько вопросов. Воякс определяет по названию системный объект, анализирует код и отвечает на вопросы.
Теперь форма для консультаций доступна по горячим клавишам из любой формы или диалогового окна в системе (в том числе из диалоговых окон для SysOperation). Из любого места в системе: горячие клавиши – ваш вопрос по функционалу – Воякс определяет объект, анализирует код и отвечает на ваш вопрос.

Рис. 2 Горячие клавиши запуска консультации и определение объекта
Рис. 2 Горячие клавиши запуска консультации и определение объекта
  1. Запросы дополнительных объектов

    Ранее Воякс анализировал только тот объект (форму или класс), который указан в форме Консультация, но для полного ответа на вопрос иногда могут понадобиться другие объекты системы, вызываемые этим объектом. В «Расширенном» режиме консультации Воякс запросит дополнительные объекты системы, если посчитает, что они необходимы для более полного ответа на вопрос.

    Рис. 3 Запрос объекта системы в расширенном режиме консультации
    Рис. 3 Запрос объекта системы в расширенном режиме консультации

    Так в нашем примере отвечая на вопрос об активности кнопки на форме LedgerJournalTable, Воякс принял решение, что необходимо ещё дополнительно запросить и проанализировать класс управления этой формой LedgerJournalFormTable. В ручном режиме консультант или пользователь нажимает ещё раз «Вопрос –> Ответ» - этим действием он разрешает и предоставляет Воякс запрашиваемый объект.

    Рис. 4 Запрос ещё одного объекта в рамках расширенной консультации
    Рис. 4 Запрос ещё одного объекта в рамках расширенной консультации

    После анализа класса LedgerJournalFormTable Воякс решил, что неплохо бы ещё глянуть таблицу LedgerJournalTable. И в результате: «На основе анализа таблицы LedgerJournalTable и ранее предоставленных классов и формы можно дать окончательный ответ на вопроc…», а также «Исходя из предоставленного кода, дополнительных объектов для анализа не требуется. Ответ сформулирован полностью.»
    Можно использовать автоматический режим расширенной консультации, когда Воякс сам общается с системой.

    Рис. 5 Автоматический режим расширенной консультации
    Рис. 5 Автоматический режим расширенной консультации

    Мы ограничиваем свободное общение максимальным количеством запросов от Воякс и осуществляем контроль за разрешениями на предоставление объектов. Таким образом, консультация выглядит так: задаем вопрос, Воякс общается с системой, запрашивая у неё необходимое количество объектов для точного и полного ответа, мы получаем итог этого общения и результат анализа.

  2. Перекрёстные ссылки

    Если в момент вызова формы Консультация мы стоим на элементе формы, под которым скрывается реальное поле таблицы, то у нас появляется дополнительная опция в консультациях: Информация о поле.

    Рис. 6 Опция в Консультации: информация о поле
    Рис. 6 Опция в Консультации: информация о поле

    Воякс с помощью перекрёстных ссылок перебирает объекты, использующие это поле, анализирует и составляет итоговое описание с учетом всех объектов. По пунктам выделяет каждое использование.

    Рис. 7 Анализ объектов по перекрестным ссылкам
    Рис. 7 Анализ объектов по перекрестным ссылкам

    На любом поле на любой форме (настройки, справочники, журналы, операции и т.д.) можно одной кнопкой получить полное описание всего, что происходит с этим полем в системе, для чего, где и как оно используется.

    Рис. 8 Полное описание функционала, связанного с полем
    Рис. 8 Полное описание функционала, связанного с полем

    Больше интересных примеров в видео.

  3. Предложение по классу

    От консультаций вернёмся к разработке и продемонстрируем на простых задачах, как Воякс предлагает изменения в коде в соответствии с техническим заданием. В отдельной форме указываем название модифицируемого класса и суть задачи-изменения.

    Рис. 9 Концепция предложения изменения класса
    Рис. 9 Концепция предложения изменения класса

    По кнопке «Предложение» Воякс формирует код в соответствии с заданием и отображает его в стандартной форме сравнения объектов. Код отмечен комментариями с кодом текущего проекта, кодом разработчика и датой изменения. Мы можем принять это изменение полностью или частично стандартными инструментами.

    Рис. 10 Ещё одно изменение
    Рис. 10 Ещё одно изменение

    В дальнейшем планируется таким образом отображать все предложения Воякс в рамках проекта-модификации по изменению всех объектов системы (классов, форм, таблиц и т.д.) с возможностью принять все изменения не глядя (при условии исправления всех ошибок компиляции – это отдельная тема для рассмотрения) и сразу перейти к тестированию.

Мощный вывод

В совокупности комбинируя 1-ый и 2-ой пункты можно получить ответы на 99,99% вопросов по функционалу системы. Система перестаёт быть «чёрным ящиком» и становится абсолютно прозрачной. Это даже не какой-то особый продвинутый поиск по базе знаний. Существование самой базы знаний и описаний функционалов утрачивает актуальность - любые описания с любой детализацией и точные ответы на конкретные вопросы доступны «на лету». Если дать доступ к этим инструментам продвинутым пользователям, то упраздняется поддержка. Частично утрачивается ценность тех давно работающих на сильно переписанных или полностью «своих» приложениях консультантов с их уникальными знаниями текущей функциональности. Пропадает необходимость ковыряться в старых задачах и технических заданиях. Снижается (причём кардинально) порог входа консультанта в новое для него приложение. Для получения ответов на вопросы, консультаций и анализа кода и объектов больше не нужны программисты. Нет необходимости вести и поддерживать документацию с описанием функциональности системы. Стирается граница возможностей анализа системы между пользователем, консультантом и программистом: пользователям не нужен консультант, а консультантам не нужен программист в контексте таких задач. Воякс путешествует по системе и пользуется перекрёстными ссылками – это весь набор инструментов, который использует программист для анализа. В этой части Воякс на 99,99% выполняет работу, которую раньше выполнял программист. Выполняет значительно (в 10-ки раз) быстрее, давая подробные описания.


По анализу системы на этом можно поставить точку, но вот к запросам объектов и перекрёстным ссылкам мы ещё вернёмся, когда Воякс будет определять места для внесения изменений в код и объекты, которые подлежат изменениям.


Отдельно отметим, что Воякс может также работать со всеми версиями MS Dynamics AX, включая D365FO (Microsoft Dynamics 365 Finance and Operations) .


А мы двигаемся дальше – учим Воякс предлагать решения по доработкам классов, форм, таблиц, выполнять более сложные составные технические задания.

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.