Реализация чтения записи раздела [Контакты] через стороннее приложение
1. Создать и настроить проект консольного приложения C#
- Используя среду разработки Microsoft Visual Studio (версии не ниже 2017), создайте проект консольного приложения Visual C#.
Работа в Microsoft Visual Studio подробно описана в статье Разработать C# код в пользовательском проекте.
- Укажите в качестве названия проекта, например, DataServiceSelectExample.
- Свойству проекта Target framework установите значение ".NET Framework 4.7".
- В секцию References проекта добавьте зависимости от библиотек:
- System.Web.Extensions.dll — библиотека классов, входящая в .NET Framework.
- Terrasoft.Core.dll — библиотека основных классов серверного ядра приложения. Находится по пути ...\Terrasoft.WebApp\bin\Terrasoft.Core.dll.
- Terrasoft.Nui.ServiceModel.dll — библиотека классов служб приложения. Находится по пути ...\Terrasoft.WebApp\bin\Terrasoft.Nui.ServiceModel.dll.
- Terrasoft.Common.dll — библиотека основных классов серверного ядра приложения. Находится по пути ...\Terrasoft.WebApp\bin\Terrasoft.Common.dll.
- В файл исходного кода приложения добавьте директивы using.
2. Добавить объявление полей и констант
Добавление полей и констант в исходный код приложения необходимо выполнить для доступа к возможностям сервиса работы с данными DataService.
Здесь объявлены три строковых константных поля, с помощью которых формируются пути выполнения запросов на аутентификацию и запросов на чтение данных. Данные об аутентификации будут сохранены в поле AuthCookie.
3. Добавить метод, выполняющий аутентификацию
Для доступа создаваемого приложения к сервису работы с данными DataService необходимо выполнить аутентификацию.
4. Реализовать запрос на добавление записи
Поскольку объявленная ранее константа selectQueryUri содержит путь для отправки данных в формате JSON, то отправляемые данные необходимо предварительно сконфигурировать в виде строки, содержащей описание JSON-объекта, соответствующего контракту данных SelectQuery. Это можно сделать непосредственно в строчной переменной, однако намного удобнее и безопаснее с точки зрения возможности возникновения ошибок создать экземпляр класса SelectQuery, заполнить его свойства, а затем сериализовать его в строку.
5. Выполнить POST-запрос к DataService
- Создайте экземпляр класса HttpWebRequest.
- Заполните свойства экземпляра.
- Присоедините к запросу созданную ранее строку с JSON-объектом.
- Выполните и обработайте результат запроса к сервису работы с данными DataService.
Реализация чтения записи раздела [Контакты] через Creatio IDE
1. Добавить кнопку в раздел Контакты
- Cоздайте пакет и установите его в качестве текущего.
- Создайте схему замещающей модели представления раздела Контакты (Contacts).
- На панели дизайнера нажмите кнопку
и создайте локализуемую строку.
Для созданной строки установите:
- Код (Code) — "SelectQueryContactButtonCaption".
- Значение (Value) — "Выбор контактов" ("Select contacts").
- В массив diff добавьте конфигурационный объект с настройками расположения кнопки на странице.
2. Добавить метод-обработчик события нажатия кнопки
Чтобы при нажатии на созданную в разделе Контакты (Contacts) кнопку читались записи с заданными параметрами, в секцию methods замещающей схемы модели представления добавьте метод-обработчик события нажатия кнопки onSelectQueryContactClick.
В front-end части ядра приложения отсутствует класс, аналогичный классу SelectQuery для back-end части. Для выбора данных раздела необходимо использовать класс Terrasoft.EntitySchemaQuery. Подробнее о свойствах и методах этого класса можно узнать в Библиотеке JS классов.
Результат выполнения примера
После сохранения схемы и обновления страницы приложения с очисткой кэша в разделе Контакты (Contacts) появится кнопка Выбор контактов (Select contacts). В консоли браузера кнопка отобразит записи с заданными параметрами.
