воскресенье, 23 октября 2016 г.

Советы начинающим разработчикам DAX (часть 1)

Введение

В этом посте я хочу поделиться некоторыми полезными советами начинающим разработчикам Dynamics AX. Во второй части я затрону некоторые тонкости разработки в X++.

Группы полей таблиц

Каждое поле таблицы, которое планируется отображать на формах, лучше помещать в группы. Рассмотрим таблицу BankAccountTable и, например, группу полей Description (Описание). Обратите внимание, что поля в группе полей Description соответствуют группе Описание на форме:
Если в таблице создать новое поле и добавить его в группу полей Description, то оно автоматически появится и в группе на форме:

Однако, нельзя добавить в группу на форме поле, которое не состоит в этой группе используя механизм Drag&Drop. Все дело в том, что свойство DataGroup на форме определено группой полей таблицы, тем не менее можно добавлять элементы на форму вручную, если удалить значение свойства DataGroup.

Формы в DAX: поиск, изменение, поля и методы

Когда только начинаешь изучать AX, не сразу понятно, как найти конкретную форму и какие поля и методы используются на форме.
Откройте форму, которая вам нужна, вызовите контекстное меню на самой форме и выберите Персонализация:
На вкладке Информация вы найдете название формы в AOT и, кликнув на Правка, откроете форму прямо в AOT:

На вкладке Выходная форма для любого выделенного поля формы в поле Системное имя указан источник в формате table.fieldname (таблица.поле):
Если значение table.fieldname заканчивается на (), то поле является display- или edit-методом:

Перенос и вставка полей

Если в редакторе формы в AOT вы перенесете поля, используя механизм Drag&Drop (попросту перетянули), из Data Source (источник данных) в раздел Design (дизайна формы) они не всегда оказываются там, где нужно. Перетянуть потом поле вверх или вниз по списку полей является не самой простой и легкой задачей. Самым простым способом является использование клавиши [Alt] вместе со стрелками [Вверх]/[Вниз]. Для этого выделите поле, нажмите [Alt] и, не отпуская, нажимайте стрелку [Вверх] или [Вниз] в зависимости от того, где вам необходимо разместить поле.
Первоначальная форма:
Добавление поля:

Перемещение поля:


Надеюсь, советы будут полезными.

Happy DAXing!

вторник, 11 октября 2016 г.

Удаление установленных экземпляров портала мобильных устройств

Введение

Недавно я разместил 2 поста о том, как установить и настроить портал мобильных устройств, в этом посте я расскажу о том, как правильно удалить один или более экземпляров портала. 

Удаление экземпляра Портала мобильных устройств

Для удаления экземпляра портала необходимо запустить установку Microsoft Dynamics AX 2012 и выбрать Установить Компоненты Microsoft Dynamics AX:
Когда дойдете до шага выбора между добавлением и удалением компонентов, выберите Удалить компоненты и нажмите Далее:
На следующем шаге отметьте пункт Портал мобильных устройств склада:
На следующем шаге необходимо выбрать какой из экземпляров будет удален, при этом можно удалить только один экземпляр портала за раз, и выбрать можно только по номеру экземпляра:
Теперь я хочу обратить внимание на мой предыдущий пост. Как вы видите, здесь нет никакой информации, чтобы можно было понять где какой экземпляр портала. В предыдущем посте о портале мобильных устройств я упоминал, что лучше оставлять номера экземпляров в именах web-сайтов в  Internet Information Server.
Я хочу удалить экземпляр, относящийся к немецкой компании (DEMF), поэтому я понимаю, что мне нужно удалить экземпляр 02. Итак, мы можем выбрать экземпляр и продолжить процедуру удаления. На итоговой форме остается только нажать только кнопку Удалить:
После окончания операции выбранный мобильный портал будет удален и больше не будет доступен для подключения.

Кое-что еще…

Операция удаления сама не все удаляет. Если у вас есть файлы, которые вы настраивали сами в папке портала, то эти файлы не будут удалены.
Для окончательного удаления этих файлов вам придется вручную очистить папку портала.
Это все. До встречи!
Happy DAXing!

Настройка и обслуживание нескольких Порталов мобильных устройств

Введение

В одном из предыдущих постов я рассказал, как установить Портал мобильных устройств. В этом посте я расскажу, как установить несколько порталов для работы с мобильными устройствами на складе. 
Если в организации несколько компаний, то может возникнуть необходимость использовать складские терминалы сбора данных для каждой компании отдельно. Подобных опций для смены компании вы не найдете ни в настройках Портала мобильных устройств, ни в настройках самой Microsoft Dynamics AX 2012 R3. Как упоминалось ранее, Портал мобильных устройств (WMDP) взаимодействует с внутренними пользователями AX, у которых есть настроенная по умолчанию компания.
Таким образом, для соединения с Порталом для определенной компании необходим отдельный пользователь с этой настроенной для него по умолчанию компанией.

В зависимости от нагрузки на IIS сервер, используемый для Портала и нагрузки на сам Портал может понадобиться установка еще одного Портала на другой сервер. Я не занимался тестированием загрузки WMPD, поэтому не могу дать детальной информации по масштабированию, однако, исходя из личного опыта, могу лишь сказать, что Портал не является узким местом и современный даже не самый мощный сервер вполне потянет работу с сотней пользователей, гораздо важнее производительность сервера БД.
Установка Портала на другой сервер производится так же, как я уже описывал в одном из прошлых постов. Для соединения необходимо задать новое имя сервера и номер порта. Т.к. это уже другой сервер, то порт может быть тем же самым.

Но сейчас более интересен вопрос можно ли установить несколько порталов на один сервер и как это сделать. Приступим!

Установка дополнительного Портала мобильных устройств

Необходимо запустить установщик Microsoft Dynamics AX и выбрать пункт Установить Компоненты Microsoft Dynamics AX:
На шаге выбора добавления или удаления компонентов выберите Добавить или изменить компоненты:

На шаге Добавить или изменить компоненты вы увидите, что некоторые компоненты отмечены и не активны для изменения. Эти компоненты уже установлены на машину и не могут быть установлены еще раз. Портал мобильных устройств склада уже установлен, но пункт для установки активен, значит можно установить несколько экземпляров. Отмечаем пункт и нажимаем Далее для продолжения:
В окне конфигурации портала необходимо указать Имя пользователя, которое связано с другой компанией по умолчанию. Порт веб-сайта должен быть отличен от уже используемого для портала/ов порта. В своей предыдущей установке я использовал порт 8010. Я укажу порт 8020, который больше нигде не используется:
Когда вы закончите установку, то можете открыть Диспетчер служб IIS и увидеть там новый экземпляр приложения:
Имя нового экземпляра отлично от первого установленного. Если установить третий экземпляр портала, то номер в названии экземпляра увеличится.
Сайт приложения ссылается на папку на сервере:
Обратите внимание, что для нового экземпляра Портала создалась новая подпапка в Папке портала. После окончания установки вы сможете полноценно использовать ее для работы с мобильными устройствами (ТСД).

Кое-что еще...

Обратите внимание, что файлы для каждого экземпляра Портала хранятся в отдельных папках. Так, если вы изменяете, например, файлы CSS стилей, или добавляете новые в первый экземпляр Портала, то нужно будет скопировать эти файлы и для других экземпляров Портала, если хотите, чтобы они там действовали. Это также относится и к изменениям в файлах ASP.NET и других файлах.
Чтобы было проще ориентироваться в установленных порталах в Диспетчере служб IIS, их можно переименовать. Можно использовать в названиях ID компаний, как в примере ниже:
После переименования сайтов нет необходимости в перезапуске сервисов. О том, почему у меня в названиях сайтов сохранены номера я расскажу в следующем посте.
На этом все. До встречи!
Happy DAXing!