убрал примеры sql
This commit is contained in:
@ -133,9 +133,9 @@ CN=service ldap lexema,OU=Technical Accounts,OU=ЦифроваяПомощь,OU=
|
||||
## Привязка КЭП
|
||||
|
||||
!!! question
|
||||
При привязке УКЭП к пользователю ошибка: ` /#/view/ECPCertificateApplicationForm/1474:1 Access to XMLHttpRequest at 'http://localhost:9421/' from origin 'http://ecm-demo.dev.lan' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.`
|
||||
При привязке УКЭП к пользователю ошибка: ` /#/view/1474:1 Access to XMLHttpRequest at 'http://localhost:9421/' from origin '' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.`
|
||||
|
||||
В конфигурационном файле (файл CSPServer.exe с расширением .config) в секции AvailableDomains должен быть прописан адрес сайта, например: https://demo-ecm.lexema.ru/. Подробнее про привязку токенов по КЭП можно ознакомиться в соответствующем [разделе](../Настройка для токенов КЭП/index.md)
|
||||
В конфигурационном файле (файл CSPServer.exe с расширением .config) в секции AvailableDomains должен быть прописан адрес сайтаы. Подробнее про привязку токенов по КЭП можно ознакомиться в соответствующем [разделе](../Настройка для токенов КЭП/index.md)
|
||||
|
||||
## Использование Crontab для сервиса sheduler
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
Существует строго определённый набор значений поля "Id", приведённый в [таблице ниже](#таблица). Соответствующее им поле "Name" заполняется произвольно. В справочнике «Итоговые выборки поисковой системы» этим значениям будут поставлены в соответствие поля в таблицах, по которым будет осуществляться поиск и фильтрация документов с вложениями.
|
||||
|
||||
### Примеры поисковых запросов
|
||||
<!-- ### Примеры поисковых запросов
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
@ -255,9 +255,9 @@ SELECT t."VCode" AS "DocCode", t."TypeName" AS "DocType" FROM rp."RP_WorkContrac
|
||||
<td>NumDoc, DateDoc</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</table> -->
|
||||
|
||||
## Итоговые выборки поисковой системы
|
||||
<!-- ## Итоговые выборки поисковой системы
|
||||
|
||||
Чтобы открыть справочник «Итоговые выборки поисковой системы», необходимо в меню в папке "Администрирование", подпапке "Документооборот", подпапке "Поисковая система" выбрать пункт «Итоговые выборки поисковой системы».
|
||||
|
||||
@ -322,7 +322,7 @@ WHERE 1 = 1
|
||||
|
||||
<!--  -->
|
||||
|
||||
В табличную часть "Фильтры" указывается следующее:
|
||||
<!-- В табличную часть "Фильтры" указывается следующее:
|
||||
|
||||
**CUser - Создатель документа**
|
||||
```sql
|
||||
@ -437,7 +437,7 @@ and
|
||||
where an."id" = 'Subtype'
|
||||
and t."DocumentSubtype"::text = an."value"::text
|
||||
)
|
||||
```
|
||||
``` -->
|
||||
|
||||
## Настройка документов
|
||||
|
||||
@ -445,7 +445,7 @@ and
|
||||
|
||||

|
||||
|
||||
## Примеры настраиваемых выборок
|
||||
<!-- ## Примеры настраиваемых выборок
|
||||
|
||||
### Настраиваемая выборка "Приложение"
|
||||
|
||||
@ -453,11 +453,11 @@ and
|
||||
| ------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Contractor | Контрагент | and exists(<br> select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'Contractor' and an."value" = cast(t."Contractor" as character varying)<br>) |
|
||||
| Contract | Договор | and exists(<br> select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'Contract' and an."value" = cast(t."Contract" as character varying)<br>) |
|
||||
| CUser | Создатель документа | and exists(<br> select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'CUser' and an."value" = cast(t."CUser" as character varying)<br>) |
|
||||
| Initiator | Инициатор | and(<br> exists(<br> select 1<br> from "tmp_anFilters_for_documentSearch" as an<br> join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName"<br> where an."id" = 'Initiator'<br> and r."Initiator" = an."value"<br> )) |
|
||||
| CUser | Создатель документа | and exists(<br> select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'CUser' and an."value" = cast(t."CUser" as character varying)<br>) | -->
|
||||
<!-- | Initiator | Инициатор | and(<br> exists(<br> select 1<br> from "tmp_anFilters_for_documentSearch" as an<br> join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName"<br> where an."id" = 'Initiator'<br> and r."Initiator" = an."value"<br> )) |
|
||||
| StageUser | Участник маршрута | and <br> exists(<br> select 1<br> from "tmp_anFilters_for_documentSearch" as an<br> join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName"<br> join comdoc."RouteStage" as s on s."PCode" = r."VCode"<br> join comdoc."StageItem" as i on i."PCode" = s."VCode"<br> where an."id" = 'StageUser'<br> and r."RouteStatus" NOT IN (4)<br> and i."StageUser" = an."value"<br> ) |
|
||||
| SignatoryUser | Работник | and(exists( select 1 from "tmp_anFilters_for_documentSearch" as an join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" where an."id" = 'SignatoryUser' and r."DocType" = 'EmployeeStatement' and r."Initiator" = an."value" ) or exists( select 1 from "tmp_anFilters_for_documentSearch" as an join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" join comdoc."RouteStage" as s on s."PCode" = r."VCode" join comdoc."StageItem" as i on i."PCode" = s."VCode" where an."id" = 'SignatoryUser' and r."DocType" = 'LND' AND r."RouteStatus" NOT IN(4) AND s."IsMarked" IS NOT true AND COALESCE(i."DocumentAction", 0) IN (20, 30) and i."StageUser" = an."value" ) or exists( select 1 from "tmp_anFilters_for_documentSearch" as an join comdoc."ReadListItem" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" where an."id" = 'SignatoryUser' and r."DocType" = 'LND' and r."DocflowUser" = an."value" ) or exists( select 1 from tmp_anFilters_for_documentSearch" as an join dfd."EmpowermentWorkerDetail" as ewd on ewd."PCode" = t."VCode" JOIN rp."RP_Person" AS p ON ewd."PersonId" = p."VCode" JOIN rp."RP_PersonContact" AS pc on p."VCode" = pc."Pcode" where an."id" = 'SignatoryUser' and t."TypeName" = 'EmpowermentConstructor' and pc."IdTypeContact" = 6 and pc."Code" = an."value" ) ) |
|
||||
|
||||
| SignatoryUser | Работник | and(exists( select 1 from "tmp_anFilters_for_documentSearch" as an join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" where an."id" = 'SignatoryUser' and r."DocType" = 'EmployeeStatement' and r."Initiator" = an."value" ) or exists( select 1 from "tmp_anFilters_for_documentSearch" as an join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" join comdoc."RouteStage" as s on s."PCode" = r."VCode" join comdoc."StageItem" as i on i."PCode" = s."VCode" where an."id" = 'SignatoryUser' and r."DocType" = 'LND' AND r."RouteStatus" NOT IN(4) AND s."IsMarked" IS NOT true AND COALESCE(i."DocumentAction", 0) IN (20, 30) and i."StageUser" = an."value" ) or exists( select 1 from "tmp_anFilters_for_documentSearch" as an join comdoc."ReadListItem" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName" where an."id" = 'SignatoryUser' and r."DocType" = 'LND' and r."DocflowUser" = an."value" ) or exists( select 1 from tmp_anFilters_for_documentSearch" as an join dfd."EmpowermentWorkerDetail" as ewd on ewd."PCode" = t."VCode" JOIN rp."RP_Person" AS p ON ewd."PersonId" = p."VCode" JOIN rp."RP_PersonContact" AS pc on p."VCode" = pc."Pcode" where an."id" = 'SignatoryUser' and t."TypeName" = 'EmpowermentConstructor' and pc."IdTypeContact" = 6 and pc."Code" = an."value" ) ) | -->
|
||||
<!--
|
||||
**В левую часть указывается скрипт:**
|
||||
|
||||
```sql
|
||||
@ -526,9 +526,9 @@ FROM comdoc."ECPCertificateApplication" as t
|
||||
:ItemFrom
|
||||
WHERE t."COrg" = _orgidparam
|
||||
:ItemWhere
|
||||
```
|
||||
``` -->
|
||||
|
||||
### Настраиваемая выборка "Канцелярия"
|
||||
<!-- ### Настраиваемая выборка "Канцелярия"
|
||||
|
||||
| Код | Наименование | SQLScript |
|
||||
| ---------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
@ -536,8 +536,8 @@ WHERE t."COrg" = _orgidparam
|
||||
| Contract | Договор | and exists(<br> select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'Contract' and an."value" = cast(t."Contract" as character varying)<br>) |
|
||||
| CUser | Создатель документа | and exists(<br> select 1 from "tmp_anFilters_for_documentSearch" as an where an."id" = 'CUser' and an."value" = cast(t."CUser" as character varying)<br>) |
|
||||
| Initiator | Инициатор | and(<br> exists(<br> select 1<br> from "tmp_anFilters_for_documentSearch" as an<br> join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName"<br> where an."id" = 'Initiator'<br> and r."Initiator" = an."value"<br> )) |
|
||||
| StageUser | Участник маршрута | and <br> exists(<br> select 1<br> from "tmp_anFilters_for_documentSearch" as an<br> join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName"<br> join comdoc."RouteStage" as s on s."PCode" = r."VCode"<br> join comdoc."StageItem" as i on i."PCode" = s."VCode"<br> where an."id" = 'StageUser'<br> and r."RouteStatus" NOT IN (4)<br> and i."StageUser" = an."value"<br> ) |
|
||||
|
||||
| StageUser | Участник маршрута | and <br> exists(<br> select 1<br> from "tmp_anFilters_for_documentSearch" as an<br> join comdoc."Route" as r on r."DocCode" = t."VCode" and r."DocType" = t."TypeName"<br> join comdoc."RouteStage" as s on s."PCode" = r."VCode"<br> join comdoc."StageItem" as i on i."PCode" = s."VCode"<br> where an."id" = 'StageUser'<br> and r."RouteStatus" NOT IN (4)<br> and i."StageUser" = an."value"<br> ) | -->
|
||||
<!--
|
||||
**В левую часть указывается скрипт:**
|
||||
|
||||
```sql
|
||||
@ -565,7 +565,7 @@ SELECT t."VCode" AS "DocCode"
|
||||
, NULL::text AS "DocDefinition"
|
||||
FROM dfd."DocflowDocument" as t
|
||||
WHERE t."COrg" = _orgidparam
|
||||
```
|
||||
``` -->
|
||||
|
||||
## Автоматическое формирование отчета заявления с ЭП
|
||||
|
||||
|
@ -86,7 +86,7 @@
|
||||
|
||||
В поле указывается часть с динамическим запросом, содержащим непосредственно текст для генерации документа.
|
||||
|
||||
Пример:
|
||||
<!-- Пример:
|
||||
|
||||
```SQL
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker", "DateBeg", "Days", "TypeVacation", "Vacation", "DateEnd", "CopyTo", "txtSMS", "txtTelegram")
|
||||
@ -151,7 +151,7 @@ where r."DocCode" = "ud"."VCode" and
|
||||
!!! warning
|
||||
Важным условием является наличие `null as "txt",` в динамическом запросе. В процессе запроса `null as "txt",` заменяется на текст из конструктора уведомлений. Если в запросе отсутствует `null as "txt",` , то система не сможет корректно обработать запрос и уведомление не будет отправлено пользователю.
|
||||
|
||||

|
||||
 -->
|
||||
|
||||
В динамическом запросе прописывается вычисление, т.е. правило, по которому рассчитываются получатели уведомления, документы и другая необходимая информация. Данное вычисление на выходе имеет определенную структуру - перечень колонок (столбцов) для дальнейших настроек.
|
||||
|
||||
@ -171,9 +171,9 @@ where r."DocCode" = "ud"."VCode" and
|
||||
|
||||
Для дополнении новых служебных наименований необходимо обратиться в техническую поддержку.
|
||||
|
||||
В примере заполненной вкладки предоставлен ниже:
|
||||
<!-- В примере заполненной вкладки предоставлен ниже:
|
||||
|
||||

|
||||
 -->
|
||||
|
||||
После заполнения всех полей нажмите Сохранить и закрыть.
|
||||
|
||||
@ -229,7 +229,7 @@ where r."DocCode" = "ud"."VCode" and
|
||||
|
||||

|
||||
|
||||
## Примеры рассылок
|
||||
<!-- ## Примеры рассылок
|
||||
|
||||
### Уведомления об отпуске на основании Графика отпусков по внешним совместителям
|
||||
|
||||
@ -828,4 +828,4 @@ d."MiddleName" | Отчество | #query_Father#
|
||||
|
||||
```sql
|
||||
call dfd."CreateCheckContractor"()
|
||||
```-->
|
||||
```-->
|
@ -33,46 +33,7 @@
|
||||
|
||||
## Шаг 2. Установка дополнительного ПО на рабочем месте пользователя, который будет подписывать документы КЭП
|
||||
|
||||
Для настройки КЭП на рабочем месте пользователя нужно установить [драйверы Рутокен](https://www.rutoken.ru/support/download/windows) и [приложение CSPServer](https://www.lexema.ru/files/nodus_items/0001/0877/attaches/CSPSERVERL8.zip).
|
||||
|
||||
В конфигурационном файле (файл **CSPServer.exe** с расширением .config) в секции AvailableDomains должны быть прописаны адреса:
|
||||
|
||||
* адрес приложения (например, ```https://demo-ecm.lexema.ru```)
|
||||
* ```http://localhost:9421```
|
||||
|
||||
Пример файла конфигурации:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="CSPServer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<CSPServer.Properties.Settings>
|
||||
<setting name="AvailableDomains" serializeAs="Xml">
|
||||
<value>
|
||||
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<string>http://localhost:9421</string>
|
||||
<string>https://demo-ecm.lexema.ru</string>
|
||||
</ArrayOfString>
|
||||
</value>
|
||||
</setting>
|
||||
</CSPServer.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
```
|
||||
Кроме указанных настроек на каждом автоматизированном рабочем месте, где предполагается использование квалифицированной электронной подписи, также необходимо установить компоненты [КриптоПро.net и КриптоПро CSP](https://install.kontur.ru/kekep). Подробную информацию по установке необходимого программного обеспечения, можно почитать в [шаге 1](#шаг_1_установка_дополнительного_по_на_сервере_приложения).
|
||||
|
||||
### Использование браузерного расширения КриптоПро ЭЦП
|
||||
|
||||
**КриптоПро ЭЦП Browser plug-in** предназначен для создания и проверки электронной подписи (ЭП) на веб-страницах и поддерживает работу с широким набором алгоритмов, как встроенных в операционную систему, так и доустановленных дополнительно.
|
||||
Для настройки КЭП на рабочем месте пользователя нужно установить [драйверы Рутокен](https://www.rutoken.ru/support/download/windows) и браузерное расширение **КриптоПро ЭЦП Browser plug-in**, который предназначен для создания и проверки электронной подписи (ЭП) на веб-страницах и поддерживает работу с широким набором алгоритмов, как встроенных в операционную систему, так и доустановленных дополнительно.
|
||||
|
||||
!!! note
|
||||
Для стабильной работы браузерного расширения рекомендуется обновить браузер до последней версии (104+).
|
||||
|
@ -68,7 +68,7 @@
|
||||
[**Анкета_соискателя_Проверка_заполнения_адресов**](#анкета_соискателя_проверка_заполнения_адресов) | В [анкете соискателя](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F %D1%87%D0%B5%D1%80%D0%B5%D0%B7 %D1%81%D0%B0%D0%B9%D1%82 %D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8/) проверка на заполнение блока "Адреса"| | | 1 (предупреждение), 2 (обязательно к заполнению)
|
||||
[**Анкета_соискателя_Проверка_заполнения_семейного_положения**](#анкета_соискателя_проверка_заполнения_семейного_положения) | В [анкете соискателя](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F %D1%87%D0%B5%D1%80%D0%B5%D0%B7 %D1%81%D0%B0%D0%B9%D1%82 %D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8/) проверка на заполнение блока "Семейное положение"| | | 1 (предупреждение), 2 (обязательно к заполнению)
|
||||
[**Дата_принятия_положения_КЭДО**](#дата_принятия_положения_кэдо) | Пользователям, которые приняты на работу позже даты принятия положения, автоматически проставляется дата КЭДО равная дате приема | 01.01.2023 | |
|
||||
**почта по умолчанию** | Если не заполнена почта у физического лица, то по умолчанию при [создании пользователя](../Автоматическое создание пользователей/) берется заданное текстовое значение | no_reply@lexema.ru |
|
||||
**почта по умолчанию** | Если не заполнена почта у физического лица, то по умолчанию при [создании пользователя](../Автоматическое создание пользователей/) берется заданное текстовое значение | |
|
||||
[**ПереходНаКЭДО_НапоминаниеОбОригинале**](#переходнакэдо_напоминаниеоборигинале) | Направляется рассылка тем, кто еще не активирован в системе, и согласен на КЭДО | | 1 |
|
||||
[**Поддерживается ЭЦП**](#поддерживается_эцп) | В тело письмо о регистрации в системе добавляется информационное сообщение о сертификатах ЭП, а также в форме "Архив документов" отображается кнопка для скачивания архива с ЭП | | 1 |
|
||||
[**пользователи_из_домена**](#пользователи_из_домена) | При создании доменных пользователей происходит сопоставление из Active Directory, также в форме управлении пользователями отображается кнопка "Пользователи AD" | | 1 |
|
||||
|
@ -253,7 +253,7 @@ search:
|
||||
|
||||
Также для планировщика возможно настроить иные задания с помощью справочника ["настройки заданий"](../Настройка%20внутрисистемных%20уведомлений/#настройка_заданий_для_планировщика), где во вкладке "Задача" указывается часть содержащая динамический запрос для выполнения задачи. Текст для таких задач возможно назначить с помощью ["Конструктора уведомлений"](../Конструктор%20уведомлений/#вид_уведомления_настройка_заданий_для_планировщика) Данные задачи отрабатывают при запуске задачи **"Уведомления Lexema"**. Далее представлены примеры запросов.
|
||||
|
||||
### Документы, не пришедшие из 1с
|
||||
<!-- ### Документы, не пришедшие из 1с
|
||||
|
||||
??? Задача
|
||||
|
||||
@ -580,4 +580,4 @@ d."list" | Список | #query_list#
|
||||
select null as "txt", null as "txtSMS", null as "txtTelegram", 'Уведомление HR о просрочке уведомлений об отпуске'
|
||||
from dfd."SendingNotificationsExpiredNotificationVacation"( 1, 10) d
|
||||
--
|
||||
```
|
||||
``` -->
|
Reference in New Issue
Block a user