Web-сервис для взаимодействия с платформой
Данный раздел содержит демонстрационный вариант Web-сервиса, содержащего пример взаимодействия с платформой Docsvision.
Ссылка на пример на GitHub: ExternalWebService.
-
Получите информацию о карточке документа по её идентификатору.
-
Создайте карточку документа по переданной модели.
-
Обновите данные карточки документа.
-
Удалите карточку документа по её идентификатору.
-
Измените состояние карточки документа.
-
Прикрепите файл к карточке документа.
-
Получите файл по его идентификатору.
-
Получите результат выполнения расширенного отчета.
Пример рассчитан на версию Web-клиента 6.1 или выше.
-
Microsoft Visual Studio 2022.
Сборка и установка
-
Откройте
/Samples.sln
-
Соберите проект
Others > ExternalWebService > WebService
-
Соберите проект
Others > ExternalWebService > WebServiceClient
-
На сервере Docsvision установите Docsvision Resource Kit. С помощью утилиты DVCardManager загрузите в БД Docsvision библиотеку
ReportsLibrary
из каталогаExternalWebService\CardDefs\ReportsLibrary
.Подробное описание процедуры загрузки пользовательской библиотеки карточек содержится в руководстве разработчика Docsvision.
-
Перезапустите dvwebclient.
Проверка примера
-
Отредактируйте в файле
SamplesOutput\ExternalWebService\WebService\appsettings.json
параметрыServerAddress
иBaseName
так, чтобы они указывали на рабочий сервер Docsvision и базу. -
Запустите dvwebclient из папки
SamplesOutput\ExternalWebService\WebService
.-
На Windows запустите
WebService.exe
из под учетной записи Docsvision Web-клиента. -
На Linux запустите командой
dotnet WebService.dll
-
Для запуска под нужной учетной записью можно задать параметры
SystemUserAccount
иSystemUserPassword
вappsettings.json
.
-
-
Запустите приложение
SamplesOutput\ExternalWebService\WebServiceClient\WebServiceClient.exe
. В выводе консоли отобразится результат выполнения операций.
Каталог "CardDefs"
Содержит описание библиотеки ReportsLibrary
с одним расширенным отчетом, который возвращает описание карточки (поле description
) по её идентификатору.
<?xml version="1.0" encoding="utf-8"?>
<CardLibrary xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="D030376C-1F99-445B-9455-01538CB11461" Alias="ReportsLibrary" ControlInfo="" IconFile="" Version="1" MsiProductCode="" MsiPackageName="">
<Name>
<LocalizedString Language="en">ReportsLibrary</LocalizedString>
<LocalizedString Language="ru-RU">ReportsLibrary</LocalizedString>
</Name>
<Reports>
<Report Alias="TestReport" ID="85701F4B-61FF-4A33-ADD1-959B471E7558" SQLFile="">
<Name>
<LocalizedString Language="en">TestReport</LocalizedString>
</Name>
<Parameter Type="uniqueidentifier" Name="CardId" />
<SqlFiles>
<SqlFile ServerType="mssql">Sql\TestReport.sql</SqlFile>
<SqlFile ServerType="pgsql">PgSql\TestReport.sql</SqlFile>
</SqlFiles>
<Result>
<ResultSet Name="dvtable_report_result_{85701f4b-61ff-4a33-add1-959b471e7558}">
<Column Name="Description" DataType="String" Size="255" Nullable="true" />
</ResultSet>
</Result>
</Report>
</Reports>
<Log>
<Name />
</Log>
</CardLibrary>
Проект "WebService.Interfaces"
Проект содержит общие модели для веб-сервиса и клиентского приложения.