EasyGrid
EasyGrid – это полноценный редактируемый грид для MS CRM на основе HTML5.
На этом закончим с лирикой и перейдем к демонстрации 🙂
Установка
- Скачайте и импортируйте в CRM Решение EasyGrid;
- Откройте страницу настройки Решения EasyGrid:
- На вкладке Install нажмите Assign Role, чтобы назначить Роли безопасности, поставляемые с решением (и которые нужны для его функционирования), всем текущим пользователям CRM;
- На вкладке Translation измените/переведите (если хотите) метки для контрола EasyGrid.
Настройка
Откройте Расширенный поиск и найдите все записи объекта Easy Queries. C помощью данного объекта описывается конфигурация одного или нескольких экземпляров EasyGrid. Создайте новую запись Easy Queries:
- Задайте имя и нажмите сохранить – появятся дополнительные опции;
- В основной текстовой области пропишите FetchXml-запрос (составить который можно в Расширенном поиске), с помощью которого будут отбираться записи для экземпляра EasyGrid. Например такой:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"> <entity name="contact"> <attribute name="fullname" /> <attribute name="telephone1" /> <attribute name="contactid" /> <attribute name="preferredappointmentdaycode" /> <attribute name="birthdate" /> <attribute name="parentcustomerid" /> <order attribute="fullname" descending="false" /> <filter type="and"> <condition attribute="parentcustomerid" operator="eq" uitype="account" value="#id" /> <condition attribute="statecode" operator="eq" value="0" /> </filter> </entity> </fetch>
Запрос может быть динамическим. Для этого в запросе можно использовать следующие переменные:
- #id: GUID текущей записи (если грид располагается на форме). Соответственно не может использоваться вне формы (например, на Панелях мониторинга);
- #userid: GUID текущего Пользователя;
- #today: текущая дата;
- #yearx9: (целое число) текущий год + 9;
- #yearx_9: (целое число) текущий год — 9;
- #monthx9: (целое число) текущий месяц + 9;
- #monthx_9: (целое число) текущий месяц — 9;
- #text: используется как поисковый паттерн для диалогов лукапа.
- После задания FetchXml-запроса все атрибуты, которые в нем отбираются, будут выведены в настроечную область под запросом. Для этих атрибутов в зависимости от их типа можно задать следующие параметры:
- Отображаемое имя;
- Ширина поля;
- Видимость;
- Возможность редактирования.
Каждый из лукап-атрибутов можно дополнительно настроить, нажав на кнопку шестеренки справа от них:
- Определить FetchXml-запроса, с помощью которого будут отбираться записи для диалога лукапа записи.
Внимание: необходимо сохраните параметр #text в условии запроса, чтобы работали поисковые функции в диалоге лукапа; - Задать отображаемое имя для полей, выводимых в диалоге лукапа, а также их ширину.
- Определите (над FetchXml-запросом) элементы интерфейса грида:
- Цвет фона;
- Определите какие кнопки будут доступны пользователю грида:
- Удаления;
- Активация/деактивация;
- Обе.
- Определите, как будет происходить добавление новой записи:
- Открываться форма создания новой записи;
- Создание записи в самом гриде. В этом случае Вы можете определить дефолтные значения полей для вновь создаваемой записи.
Сохраните и закройте запись Easy Queries.
Внедрение
Далее необходимо грид где-то разместить. В целом опции три:
- Форма;
- Панель мониторинга;
- Отдельная страница доступная с панели навигации.
Рассмотрим пример с выносом грида на форму Организации:
- Вынесите на форму Веб-ресурс ake_/html/EasyGrid.html;
- Поставьте галку передачи в Веб-ресурс кода объекта и ID записи;
- В параметрах перечислите GUID’ы созданных запросов (выводятся на форме карточки Easy Queries). При этом Вы можете перечислить несколько запросов – каждый на отдельной строке – тогда в гриде будет список, с помощью которого Вы сможете переключаться между запросами;
- На вкладке Форматирование задайте:
- Количество строк (рекомендуется не менее 10);
- Поставьте галку автоматического разворачивания на весь экран;
- Режим скролинга: всегда;
- Уберите границу.
Сохраняемся, публикуемся и идем смотреть 🙂
Вячеслав здравствуйте,
Считаю необходимым сказать, что с Вашей стороны было бы правильным указывать на первоисточники проектов, информацию по которым вы публикуете в своем блоге.
В данном случае https://easygrid.codeplex.com
Кроме того, ссылки на скачивание с Вашего ресурса тоже устареют со временем и, IMHO, так же лучше давать link to download на оригиналы.
С уважением, Фират Вакильев.
Реальный минус это формат полей, особенно даты и boollean.