Show/Hide Toolbars

Руководство администратора

Публикации (Прежний интерфейс)

Ссылки Назад Вверх Вперед

Публикация объектов позволяет использовать их вне "Первой Формы", внешними системами. При публикации создаются ссылки (Url), по которым можно обратиться к объектам напрямую. В настоящее время в "Первой Форме" можно публиковать SQL View и смарт-пакеты (пакеты действий).

SQL View динамически создают наборы данных в соответствии с определенным SQL-запросом в момент его выполнения. При этом обработка данных, хранящихся в системе "Первая Форма", выполняется непосредственно на SQL Server. Результаты вычислений могут быть сохранены в XML-файле. В дальнейшем эти данные могут использоваться следующими способами:

1. Данные могут быть загружены в Excel для дальнейшей обработки. Например, использование SQL View позволяет выгрузить в Excel большие и сложно структурированные объемы данных гораздо быстрее, чем с помощью встроенных механизмов экспорта данных из категорий "Первой Формы" в Excel;

2. Данные могут быть выгружены во внешние системы, в том числе с применением XSLT преобразований.

Пакеты действий могут использоваться при интеграции с внешними системами для выполнения POST и GET запросов к "Первой Форме", а также при расширении возможностей самой "Первой Формы" — например, для вывода дополнительной (расчетной) информации на карточку задачи, для изменения параметров задач по кнопке из портального блока и т.п.

warning_icon При публикации пакетов действий используется смарт-действие "HTTP ответ". Обратите внимание на необходимость очистки тела ответа от лишних символов.

Чтобы создать новый объект для публикации, нажмите кнопку + над списком. Для удаления объекта нажмите иконку !trashв конце соответствующей строки. Значения редактируются в окне публикации (открывается иконкой !pencilв колонке "Публикация").

publications_list

Список опубликованных объектов

Параметр

Описание

Активность публикации

При включенном флажке объект считается опубликованным и доступным для использования из внешних систем

Id

Уникальный номер опубликованного объекта, присваивается системой автоматически и не редактируется

Тип публикации

Возможные варианты:

Sql-view

Пакет действий

Публикация

По клику на иконку !pencilоткрывается окно редактирования конфигурации публикации.

В окне редактирования доступны ссылки (Url), по которым можно обратиться к объекту

Описание

Описание публикации (текстовое)

Объект доступа

По клику на иконку !pencilоткрывается окно редактирования конфигурации объекта доступа

В случае возникновения ошибки доступа (401 error) при переходе в публикацию, если в API  присутствует параметр URL ?auth=true, будет совершена переадресация на страницу авторизации в системе для ввода логина и пароля. В 257 версии страница логина указывается в ключе "AuthTokenLoginUrl" appsettings.json

Конфигурация публикации

Конфигурация публикации определяет название и активность объекта, а также параметры запросов (Post или Get).

publication_new_sql_view

Конфигурация публикации. Состав полей зависит от типа объекта и типа запроса

Параметр

Описание

Описание

Описание объекта в свободной форме. Желательно, чтобы описание отображало смысл объекта

Алиас

Уникальное название объекта (задается в свободной форме)

Тип публикации

Возможные значения:

Sql-view

Пакет действий

Тип запроса

Для SQL View доступен только метод Get, для пакетов действий — методы Get, Post, Put и Delete

Тип содержимого

(только для запросов с типом Post)

Возможные значения:

application/json

application/xml

application/x-www-form-urlencoded

multipart/form-data

plain text

text/xml

Параметры запроса

Передаваемые параметры необходимо задать в таблице. См. ниже

URL

Формируются автоматически на основании конфигураций публикации и объекта доступа.

Для SQL View формируются два URL для форматов csv и xml

Активность публикации

При включенном флажке объект считается опубликованным и доступным для использования из внешних систем. При обращении к объекту с отключенной активностью публикации возвращается ошибка 403

Объект

Имя сохраненного SQL View в базе данных или название общего смарт-пакета с включенным флажком "Для публикаций".

Обратите внимание на особенности публикуемых смарт-пакетов

XSLT схема

(только для SQL View)

Указывается, если для запроса SQL View нужно определить схему для XSLT-преобразований. См. ниже

Параметры запроса

Столбец

Значение

Тип параметра

Для методов Get, Put и Delete используется тип QueryString, а для метода Post — QueryString и RequestBody (параметр RequestBody может содержать любые входящие и исходящие параметры)

warning_icon В SQL View параметры не используются

Ключ параметра

Имя параметра

Валидация параметра

Возможные варианты:

Строка

Число с плавающей точкой

Целое число

Дата

Обязательность параметра

Если флажок включен, то параметр обязателен. Если в запрос не передан какой-то из обязательных параметров, то в качестве результата запроса возвращается bad request

Формат даты

Формат даты в виде строки вида dd.MM.yyyy. См. здесь

Параметр задается только если в колонке "Валидация параметра" выбрано значение "Дата"

Массив

Возможные варианты:

Нет

Строка с разделителем. В этом случае в качестве параметра должна передаваться строка вида item1#item2#item3, где # — символ-разделитель (задается в параметре "Разделитель массива")

Массив JSON. В этом случае в качестве параметра должна передаваться строка вида ["item1", "item2", "item3"]

Разделитель массива

Символ разделителя в массиве (например, запятая).

Параметр задается только если в колонке "Массив" выбрано значение "Строка с разделителем"

Обратите внимание: в смарт-скриптах (LUA) в публикациях типа POST параметр находится в EVENTPARAMS.

Пример:

PARAMS = UTILS:json_decode(EVENTPARAMS["PublishedObjectParameters"]); --json входящих параметров

str = PARAMS["requestBody"]["data"]

Особенности публикуемых смарт-пакетов

warning_icon В опубликованном пакете действий последним должно быть смарт-действие "HTTP ответ" (см. Список возможных смарт-действий)

В смарт-выражения, которые создаются в этом смарт-пакете, передается параметр @eventParam0. Он содержит строку в формате JSON со всеми параметрами запроса.

publication_sql_params

Параметры запроса в публикации

Обращаться к значениям этих параметров можно через функцию JSON_VALUE:

JSON_VALUE(@eventParam0, '$.queryString.paramName')

Формирование тела ответа и кода ответа с помощью скрипта

Если в рамках публикации выполняется сложный высоконагруженный скрипт, который должен возвращать не только сам результат, но и признак успешности выполнения, используйте в публикуемом пакете два смарт-действия:

сначала "Выполнить sql скрипт" (раздел "Прочее") — в нем можно сформировать выражение формата JSON, которое будет содержать и тело ответа, и код ответа

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

Таким образом, скрипт не придется выполнять дважды.

XSLT-схема

Схема XSLT используется для преобразования данных в определенный XML формат, соответствующий потребностям какой-либо внешней системы.

Например, представление SQL View может содержать данные для отображения на сайте компании в каталоге товаров. Те же данные могут использоваться и для внутренней аналитики в Excel, и для выгрузки в учетную систему. В этом случае удобно для SQL View создать один или несколько шаблонов для преобразования данных в соответствующие форматы.  

Правила формирования схемы XSLT можно посмотреть здесь.

Если схема настроена, то при выгрузке XML производится трансформация по этому шаблону.

warning_icon Одно и то же представление SQL View может быть добавлено в список опубликованных несколько раз, и для каждой такой записи может быть настроен свой шаблон XSLT. Благодаря этому одни и те же данные, полученные из "Первой Формы", могут выгружаться в разных форматах для использования в разных внешних системах.

Конфигурация объекта доступа

Конфигурация объекта доступа определяет права доступа к объекту. Доступ выдается на уровне групп или с помощью смарт-выражения.

public_object

Конфигурация объекта доступа

Параметр

Описание

Описание

Название объекта (в свободной форме)

Разрешить анонимный доступ

Если флажок включен, опубликованный объект будет доступен без авторизации.

warning_icon Анонимные публикации должны предоставлять только ту информацию, которая не содержит коммерческой тайны

warning_icon Недопустимо использовать анонимные публикации для вызова действий в бизнес-процессах

warning_icon Если вы разрешаете анонимный доступ к объекту публикации, проверьте, внесены ли необходимые изменения в файл web.config (в частности, должна быть секция location для path="app/v1.2/api/publications" )

Право просмотра

Доступ к объекту на уровне групп.

Чтобы добавить группу, участники которой получат право просматривать отчет, нажмите кнопку + в блоке "Право просмотра". Выберите нужную группу из выпадающего списка. Чтобы сохранить внесенные изменения, нажмите кнопку !green_check, а чтобы отменить изменения — кнопку !RedCross_X в конце строки.

warning_icon Если указаны и группы, и смарт-выражение, то итоговый список доступа формируется как пересечение этих множеств (логическое И).

Специальное право

Доступ к объекту ограничивается специальным правом, которое выдается на группу

По смарт-выражению

Смарт-выражение должно возвращать массив ID пользователей. При редактировании смарт-выражения доступен контекст — JSON параметров опубликованного объекта.

warning_icon Если указаны и группы, и смарт-выражение, то итоговый список доступа формируется как пересечение этих множеств (логическое И).

По окончании настройки нажмите кнопку Сохранить.

Использование SQL View для работы в Excel

Для работы с динамической таблицей, формируемой в соответствии с представлением SQL View, используется приложение Excel. Чтобы загрузить данные, выполните импорт из файла XML.

Для Excel 2016

1. Скопируйте ссылку на XML-файл в опубликованном SQL View

sql_view_use_1

Ссылка на опубликованное представление SQL View

2. В файле Excel на закладке "Данные" выберите пункт "Из других источников" -> "Из импорта данных XML".

sql_view_use_6

Выбор источника данных

3. В открывшемся окне в поле "Имя файла" укажите строку вида

https://<сервер_1Формы>/app/v1.2/api/publications/data/sqlView1?contentType=xml

где sqlView1 — алиас опубликованного SQL View.

Затем нажмите кнопку Открыть.

sql_view_use_7

Импорт данных из SQL View

4. Выберите начальную ячейку, в которую будут импортированы данные, и нажмите кнопку ОК.  

sql_view_use_8

Выбор диапазона для вставки данных

После этого данные из представления SQLView будут загружены.

warning_icon Для работы с SQL View пользователь должен быть авторизован в Internet Explorer

Для более ранних версий Excel

1. Скопируйте ссылку на XML-файл в опубликованном SQL View

sql_view_use_1

Ссылка на опубликованное представление SQL View

2. В файле Excel на закладке "Данные" выберите пункт "Из Интернета"

sql_view_use_2

Выбор источника данных

3. В открывшемся окне в поле "Адрес" вставьте сохраненный адрес ссылки на опубликованный SQL и нажмите ввод.

Ссылка имеет вид:

https://<сервер_1Формы>/app/v1.2/api/publications/data/sqlView1?contentType=xml

где sqlView1 — алиас опубликованного SQL View.

Откроется содержимое XML-файла. Щелкните на значок sql_view_iconдля таблиц, которые нужно импортировать. Соответствующие блоки XML-файла будут выделены цветом. Затем нажмите кнопку "Импорт".

sql_view_use_3

Импорт данных из SQL View

4. В открывшемся окне подтвердите согласие на создание схемы на основе данных из XML-источника.

sql_view_use_4

Подтверждение импорта

5. Выберите начальную ячейку, в которую будут импортированы данные, и нажмите кнопку "ОК".  

sql_view_use_5

Выбор диапазона для вставки данных

После этого данные из представления SQLView будут загружены.

Полезные ссылки