Реализация создания новой записи в разделе [Контакты] через стороннее приложение
1. Создать и настроить проект консольного приложения C#
- Используя среду разработки Microsoft Visual Studio (версии не ниже 2017), создайте проект консольного приложения Visual C#.
Работа в Microsoft Visual Studio подробно описана в статье Разработать C# код в пользовательском проекте.
- Укажите в качестве названия проекта, например, DataServiceInsertExample.
- Свойству проекта 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. Реализовать запрос на добавление записи
Поскольку объявленная ранее константа insertQueryUri содержит путь для отправки данных в формате JSON, то отправляемые данные необходимо предварительно сконфигурировать в виде строки, содержащей описание JSON-объекта, соответствующего контракту данных InsertQuery. Это можно сделать непосредственно в строчной переменной, однако намного удобнее и безопаснее с точки зрения возможности возникновения ошибок создать экземпляр класса InsertQuery, заполнить его свойства, а затем сериализовать его в строку.
5. Выполнить POST-запрос к DataService
- Создайте экземпляр класса HttpWebRequest.
- Заполните свойства экземпляра.
- Присоедините к запросу созданную ранее строку с JSON-объектом.
- Выполните и обработайте результат запроса к сервису работы с данными DataService.
Реализация создания новой записи в разделе [Контакты] через Creatio IDE
1. Добавить кнопку в раздел Контакты
- Cоздайте пакет и установите его в качестве текущего.
- Создайте схему замещающей модели представления раздела Контакты (Contacts).
- На панели дизайнера нажмите кнопку и создайте локализуемую строку.
Для созданной строки установите:
- Код (Code) — "InsertQueryContactButtonCaption".
- Значение (Value) — "Добавить контакт" ("Add contact").
- В массив diff добавьте конфигурационный объект с настройками расположения кнопки на странице.
2. Добавить метод-обработчик события нажатия кнопки
Чтобы при нажатии на созданную в разделе Контакты (Contacts) кнопку добавлялась запись с заданными параметрами, в секцию methods замещающей схемы модели представления добавьте метод-обработчик события нажатия кнопки onInsertQueryContactClick.
Реализация класса InsertQuery для front-end части ядра приложения отличается от реализации класса InsertQuery для back-end части. Так, для создания параметров предусмотрен метод setParameterValue, а для выполнения запроса — метод execute. Узнать о свойствах и методах класса InsertQuery, реализованного в front-end части ядра приложения, можно в Библиотеке JS классов.
Результат выполнения примера
После сохранения схемы и обновления страницы приложения с очисткой кэша в разделе Контакты (Contacts) появится кнопка Добавить контакт (Add contact). Кнопка добавляет контакт с заданными параметрами.