Compare commits
21 Commits
1729042038
...
master
Author | SHA1 | Date | |
---|---|---|---|
81536f40bb | |||
dec402d0a5 | |||
ebdd0feacb | |||
a7ef6494c6 | |||
2f63a4fd0a | |||
735108f17e | |||
59b78ded00 | |||
41b64eb4ab | |||
d5c72d919a | |||
e0a70a3dc6 | |||
8d1d93f3da | |||
8fcf28465e | |||
178a2d4267 | |||
dd52414350 | |||
bc8e41cde2 | |||
60794bc838 | |||
aac298471b | |||
f1379e695d | |||
0791391ccd | |||
7fe6b99362 | |||
90e0706497 |
@ -1,165 +1,453 @@
|
||||
# FAQ Lexema-ECM
|
||||
|
||||
## Настройки сервера и ПО
|
||||
|
||||
!!! question
|
||||
Как изменить часовой пояс в системе (Postgre SQL)?
|
||||
Необходимо выполнение следующих команд в PgAdmin
|
||||
```sql
|
||||
select localtimestamp; /*возвращает текущую дату и время в часовом поясе из сеанса sql*/
|
||||
select current_timestamp; /*возвращает текущие дату и время из сеанса пользователя*/
|
||||
SELECT NOW(); --посмотреть серверное время
|
||||
SELECT * FROM pg_timezone_names; -- посмотреть типы часовых поясов
|
||||
ALTER SYSTEM SET timezone TO 'Europe/Moscow'; -- изменение часового пояса
|
||||
```
|
||||
Подробно о часовых поясах в Postge SQL можно узнать [здесь](https://it-blackcat.blogspot.com/2019/10/postgresql-and-timezone.html)
|
||||
|
||||
|
||||
## Электронные подписи
|
||||
!!! question
|
||||
Почему при выпуске УНЭП не появляются ссылки для скачивания заявки на выпуск ЭП и расписки в получении ЭП?
|
||||
Для выпуска сертификата УНЭП пользователь системы должен быть привязан к конкретному физическому лицу.
|
||||
Для этого нужно
|
||||
|
||||
1) пройти в раздел Меню - группа "Администрирование" - группа "Управление пользователями" - пункт "Управление пользователями".
|
||||
|
||||
2) в загрузившемся списке найти нужный логин и выделить галочкой
|
||||
|
||||
3) нажать "Данные пользователя" - выбрать физическое лицо в выпадающем списке - и нажать "Сохранить"
|
||||
|
||||
!!! question
|
||||
Как подписать документ квалифицированной подписью?
|
||||
Прежде чем использовать КЭП, необходимо настроить рабочее место пользователя соответствующим образом. Для настройки - см. статью [Как настроить работу с КЭП на токенах](../Настройка для токенов КЭП/)
|
||||
|
||||
!!! question
|
||||
Возможно ли подтверждать операции подписания по SMS?
|
||||
Да, возможно. Для этого необходимо пройти Меню - группа "Администрирование" - группа "Система" - пункт "Глобальные настройки".
|
||||
Нажать кнопку "Настройка" и выключить флаг "Отключить подтверждение ЭЦП по СМС (новые сертификаты)"
|
||||

|
||||
|
||||
## Работа с документами и маршрутами
|
||||
!!! question
|
||||
Как создать новый вид заявления?
|
||||
см. статью [Конструктор документов](../Конструктор документов/)
|
||||
|
||||
!!! question
|
||||
Как создать новый маршрут к заявлению?
|
||||
см. статью [ Шаблоны маршрутов](../Настройка шаблонов маршрутов/)
|
||||
??? question "Как создать новый вид заявления?"
|
||||
|
||||
!!! question
|
||||
Почему я не могу создать ЛНА?
|
||||
Создание ЛНА доступно только ответственным сотрудникам организации, поэтому этим пользователям необходимо дать в системе дополнительные права. Для этого нужно пройти в справочник "Подтипы документа" и указать в таблице "Пользователи с правом создания" этих пользователей. Подробнее см. статью [Подтипы документов](../Подтипы документов/)
|
||||
см. статью [Конструктор документов](../Конструктор документов/)
|
||||
|
||||
!!! question
|
||||
Почему я не вижу документ в реестре?
|
||||
По умолчанию во всех реестрах системы Lexema-ECM пользователь видит документы, если
|
||||
??? question "Как создать новый маршрут к заявлению?"
|
||||
|
||||
а) он сам является автором этих документов
|
||||
см. статью [ Шаблоны маршрутов](../Настройка шаблонов маршрутов/)
|
||||
|
||||
б) он участвовал в маршруте этих документов, даже если сам не является автором
|
||||
??? question "Почему я не могу создать ЛНА?"
|
||||
|
||||
в) он получил документ посредством списка рассылки
|
||||
Создание ЛНА доступно только ответственным сотрудникам организации, поэтому этим пользователям необходимо дать в системе дополнительные права. Для этого нужно пройти в справочник "Подтипы документа" и указать в таблице "Пользователи с правом создания" этих пользователей. Подробнее см. статью [Подтипы документов](../Подтипы документов/)
|
||||
|
||||
При необходимости можно дать так называемые горизонтальные права -то есть возможность видеть документы других подразделений при том, что в вышеописанные условия не попадает (кас. предоставления горизонтальных прав - см. статью [Настройка пользователей](../Настройка пользователей/).
|
||||
Если пользователь не видит документ - вероятнее всего он не подходит ни под одно из вышеописанных условий.
|
||||
??? question "Почему я не вижу документ в реестре?"
|
||||
|
||||
## Пользователи
|
||||
!!! question
|
||||
Как создать нового пользователя?
|
||||
см. статью [Управление пользователями](../Управление пользователями/)
|
||||
По умолчанию во всех реестрах системы Lexema-ECM пользователь видит документы, если
|
||||
|
||||
## Настройка интеграции с Active Directory
|
||||
а) он сам является автором этих документов
|
||||
|
||||
Если возникает ошибка при обращении к домену, например по кнопке Импорт из AD
|
||||
б) он участвовал в маршруте этих документов, даже если сам не является автором
|
||||
|
||||

|
||||

|
||||
в) он получил документ посредством списка рассылки
|
||||
|
||||
Необходимо проверить заполнение файла http://gogs.lex.lan/deploy/НАЗВАНИЕ САЙТА/src/master/config/production.js, где указан полный путь до юнита с пользователями ldap: { ..bindDN:
|
||||
При необходимости можно дать так называемые горизонтальные права -то есть возможность видеть документы других подразделений при том, что в вышеописанные условия не попадает (кас. предоставления горизонтальных прав - см. статью [Настройка пользователей](../Настройка пользователей/).
|
||||
Если пользователь не видит документ - вероятнее всего он не подходит ни под одно из вышеописанных условий.
|
||||
|
||||
Например правильное заполнение будет иметь вид:
|
||||
'CN=service ldap lexema,OU=Technical Accounts,OU=ЦифроваяПомощь,OU=RU,DC=medholding,DC=corp',
|
||||
??? question "Как мне или администратору отредактировать маршрут согласования?"
|
||||
|
||||
С помощью [формы корректировка маршрутов согласования](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Форма корректировки маршрутов согласования/)
|
||||
|
||||
??? question "У совместителя автоматически не протиражировалось заявление на других местах работы"
|
||||
|
||||
Необходимо проверить следующие условия:
|
||||
* У совместителя должна быть проставлена "Дата перехода на КЭДО" в карточке сотрудника по каждому Сорг.
|
||||
* Совместитель не должен быть уволен/заблокирован по другим местам работы (то есть на других Сорг).
|
||||
* В конструкторе документов во вкладке "Тиражирование/Оповещение" должна быть проставлена галка "Тиражировать заявления для совместителей", и он должен быть доступен на каждом филиале.
|
||||
* На каждом филиале должен быть настроен пользователь с логином `CopyEmployee` и автоматическое тиражирование заявлений.
|
||||
|
||||
??? question "В меню не вижу какую-то форму, например, Анализ сотрудников по КЭДО"
|
||||
|
||||
Проверить наличие роли на данную форму у пользователя.
|
||||
|
||||
??? question "К пользователю пришел документ на обработку с пустым подтипом"
|
||||
|
||||
Проверить наличие конструктора для данного подтипа на Сорг.
|
||||
Пример: Конструктор заведен только на одном Сорг, а на другом его нет.
|
||||
|
||||
|
||||
??? question "В реестре заявлений у пользователя с настроенными горизонтальными правами не видно заявления, в то время как данное заявление видно через форму журнала состояния документов, в форме корректировки маршрута, а также в СУБД"
|
||||
|
||||
Возможно, в данном заявлении не заполнилось поле подразделение. В реестре настроена проверка на горизонтальные права по полю подразделение.
|
||||
|
||||
??? question "При обработке документов выходит окно для подтверждения обработки (подписания), хотя в шаблоне настроено, чтобы не показывалось"
|
||||
|
||||
Убрать галку "Комментировать вложения при согласовании" в Настройке документов.
|
||||
|
||||
??? question "В служебной записке при создании маршрута он как бы создается, но потом исчезает. В БД у такого документа статус у маршрутов — 4 (удален)"
|
||||
|
||||
Обновить `serviceRecord_AfterCreateRoute`.
|
||||
|
||||
??? question "Наблюдаются ошибки в логах при отправке по маршруту: Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2 access token with the following error: \"Error fetching access token: Error while making request: connect ETIMEDOUT 64.233.164.84:443.\""
|
||||
|
||||
Ошибка связана с push-уведомлениями и означает, что Лексема не имеет доступа до сервисов Google, которые отправляют пуши.
|
||||
Необходимо открыть Лексеме доступ до этих адресов: [https://firebase.google.com/docs/cloud-messaging/concept-options?hl=en#messaging-ports-and-your-firewall](https://firebase.google.com/docs/cloud-messaging/concept-options?hl=en#messaging-ports-and-your-firewall).
|
||||
|
||||
|
||||
??? question "Не приходят уведомления на почту при отправке документа по маршруту"
|
||||
|
||||
1) Проверить наличие адреса в глобальных настройках.
|
||||
2) Проверить наличие конструктора уведомления с типом "О поступлении в работу".
|
||||
|
||||
## Работа с электронными подписями
|
||||
|
||||
??? question "Почему при выпуске УНЭП не появляются ссылки для скачивания заявки на выпуск ЭП и расписки в получении ЭП?"
|
||||
|
||||
Для выпуска сертификата УНЭП пользователь системы должен быть привязан к конкретному физическому лицу.
|
||||
Для этого нужно
|
||||
|
||||
1) пройти в раздел Меню - группа "Администрирование" - группа "Управление пользователями" - пункт "Управление пользователями".
|
||||
|
||||
2) в загрузившемся списке найти нужный логин и выделить галочкой
|
||||
|
||||
3) нажать "Данные пользователя" - выбрать физическое лицо в выпадающем списке - и нажать "Сохранить"
|
||||
|
||||
??? question "Как подписать документ квалифицированной подписью?"
|
||||
|
||||
Прежде чем использовать КЭП, необходимо настроить рабочее место пользователя соответствующим образом. Для настройки - см. статью [Как настроить работу с КЭП на токенах](../Настройка для токенов КЭП/)
|
||||
|
||||
??? question "Возможно ли подтверждать операции подписания по SMS?"
|
||||
|
||||
Да, возможно. Для этого необходимо пройти Меню - группа "Администрирование" - группа "Система" - пункт "Глобальные настройки".
|
||||
Нажать кнопку "Настройка" и выключить флаг "Отключить подтверждение ЭЦП по СМС (новые сертификаты)"
|
||||

|
||||
|
||||
??? question "Что делать если по кнопке Добавить сертификат - список сертификатов пустой?"
|
||||
|
||||
1) см. статью [Привязка КЭП к пользователю Lexema-ECM](../Настройка для токенов КЭП/#шаг_3_привязка_кэп_к_пользователю_lexema-ecm).
|
||||
|
||||
Как добавить в личное хранилище импортированные сертификаты?</br>
|
||||
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
|
||||
2) Нажмите сочетание клавиш `Win + R`
|
||||
|
||||
Введите `certmgr.msc` и нажмите клавишу Enter.
|
||||
|
||||

|
||||
|
||||
Откроется Консоль управления сертификатами.
|
||||
|
||||

|
||||
|
||||
??? question "При привязке УКЭП к пользователю ошибка: ` /#/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 должен быть прописан адрес сайтаы. Подробнее про привязку токенов по КЭП можно ознакомиться в соответствующем [разделе](../Настройка для токенов КЭП/index.md)
|
||||
|
||||
??? question "В логах при отправке по маршруту у пользователя с действием подписать ЭП наблюдается ошибка: Ошибка при подписании файла. `code = 45. ../../../../CSPbuild/CSP/samples/CPCrypt/Certs.cpp:290: 0x2000012D [ErrorCode: 0x2000012d]`"
|
||||
|
||||
Эта ошибка означает, что на сервере нет сертификата на пользователя. Запись может быть во всех нужных таблицах, но физического сертификата нет.
|
||||
1) Посмотреть, где хранятся записи о кривом сертификате:
|
||||
```sql
|
||||
SELECT *
|
||||
FROM lex."CloudCertificate" c
|
||||
JOIN lex."UserMeta" l ON c."User" = l."Id"
|
||||
WHERE l."UserName" = 'логин_пользователя'
|
||||
```
|
||||
2) Удалить эти записи из заявок на выпуск:
|
||||
```sql
|
||||
SELECT *
|
||||
FROM comdoc."ECPCertificateApplication"
|
||||
WHERE "CertificateId" IN (
|
||||
SELECT c."Id"
|
||||
FROM lex."CloudCertificate" c
|
||||
JOIN lex."UserMeta" l ON c."User" = l."Id"
|
||||
WHERE l."UserName" = 'логин_пользователя'
|
||||
)
|
||||
```
|
||||
3) Удалить эти записи из таблицы сертификатов:
|
||||
```sql
|
||||
SELECT c."Id"
|
||||
FROM lex."CloudCertificate" c
|
||||
JOIN lex."UserMeta" l ON c."User" = l."Id"
|
||||
WHERE l."UserName" = 'логин_пользователя'
|
||||
```
|
||||
4) Перевыпустить сертификат пользователю в разделе "Сертификаты пользователя", либо из ЛК HR, либо самостоятельно пользователю в виджете Документооборот/Электронные подписи по кнопке
|
||||
|
||||
??? question "Я зашел под замещением в программу. Чей сертификат ЭП я вижу?"
|
||||
|
||||
Под замещением всегда виден сертификат, который выпущен на самого себя. Сертификаты ЭП никогда не замещаются, потому что выпускаются на физическое лицо. Если бы сертификаты замещались, это было бы равносильно подписанию заявления мокрой подписью чужой рукой.
|
||||
|
||||
??? question "На проекте для ЭЦП используется система корневых сертификатов. Что делать, если они просрочились? (Или \"При выпуске УНЭП ошибка в логах ошибка 0x80090010\")"
|
||||
|
||||
Данная ошибка связана с тем, что у корневых сертификатов закончился срок действия (максимальный срок может быть 1 год и 3 месяца).
|
||||
Их необходимо перевыпустить и переустановить:
|
||||
1) Пройти в инструкцию и выпустить корневые сертификаты в формате pfx. Их должен выпустить заказчик.
|
||||
2) Передать их сотруднику Лексема или ответственному за деплой сайта вместе с паролями и отпечатками.
|
||||
3) Все сертификаты поместить в архив (`certificates.tar`) без подпапок.
|
||||
4) Положить их в папку `dss` в деплой-проекте.
|
||||
5) В файле `import-cert.sh` прописать импорт и установку (примеры команд можно посмотреть тут).
|
||||
6) Задеплоить проект.
|
||||
7) В управлении компаниями пройти в каждую компанию и в поле "Отпечаток" прописать отпечаток сертификата от соответствующей компании.
|
||||
|
||||
??? question "Дали шедулеру все роли (DssAdmin, super, allmodels, allqueries, docflow), статус Администратор на всех филиалах, а он всё равно не может выпускать сертификаты. Чего ещё надо?"
|
||||
|
||||
Обратить внимание на запрос в логах ошибок. Там может быть указан код несуществующей (недосозданной) организации. Надо её завершить.
|
||||
|
||||
??? question "При привязке УКЭП к пользователю ошибка: /#/view/ECPCertificateApplicationForm/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` должен быть прописан адрес сайта.
|
||||
Подробнее про привязку токенов по КЭП: [соответствующий раздел].
|
||||
|
||||
??? question "Ошибка при подписании КЭП: lost connection to extension"
|
||||
|
||||
Проверить вложения, сжать файлы, чтобы общий размер подписываемых вложений был не более 25 МБ.
|
||||
[https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/213/12/ogrnichenie-n-rzmer-podpisyvemogo-fjjl-v-bruzere](https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/213/12/ogrnichenie-n-rzmer-podpisyvemogo-fjjl-v-bruzere)
|
||||
Для сжатия: [https://www.ilovepdf.com/ru/compress_pdf](https://www.ilovepdf.com/ru/compress_pdf).
|
||||
|
||||
## Работа с пользователями
|
||||
|
||||
??? question "Как создать нового пользователя?"
|
||||
|
||||
см. статью [Управление пользователями](../Управление пользователями/)
|
||||
|
||||
??? question "Если множится пользователь в Управление пользователями"
|
||||
|
||||
Проблем может быть несколько:
|
||||
1) Задвоился логин в карточке ФЛ.
|
||||
2) В настройках пользователей создалось более одного пользователя.
|
||||
|
||||
??? question "При интеграции с 1С выходит ошибка: Сущность: 'Document_(наименование сущности)' ошибка при выполнении обработчика - 'ПередЗаписью'"
|
||||
|
||||
В правах пользователя (прописан в `production.js`), настроен доступ только на чтение данных.
|
||||
Необходимо запросить полные права для данного пользователя у администратора 1С со стороны заказчика.
|
||||
Источник: [https://forum.infostart.ru/forum9/topic265337/](https://forum.infostart.ru/forum9/topic265337/)
|
||||
|
||||
## Настройка интеграции с 1С
|
||||
|
||||
??? question "Как настроить интеграцию любого произвольного документа, например, управленческой структуры"
|
||||
|
||||
Для загрузки данных управленческой структуры необходимо настроить "Произвольные выборки"
|
||||
Подробнее о настройке см. статью [Произвольные выборки](../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Произвольные выборки/).
|
||||
|
||||
??? question "Обмен с 1С. Не загружаются сотрудники. Доступ до сущности есть, физические лица и прочие загружаются. В чем дело?"
|
||||
|
||||
Скорее всего, Лексема не понимает соответствие организаций, либо они сопоставлены неправильно.
|
||||
Пройти в "Настройки параметров обмена с 1С", вкладка "Соответствие справочников".
|
||||
Должно быть: одна организация 1С — одна организация Лексема.
|
||||
|
||||
??? question "При интеграции из 1С физического лица не подтянулись данные по электронной почте, телефону, образовании и т.п."
|
||||
|
||||
В форме "Настройка параметров обмена с 1С" сделать соответствие со справочниками Лексемы и 1С в соответствующей вкладке.
|
||||
|
||||
??? question "При интеграции служебной записки на командировку неверно заполняются данные по указанию расчетного периода. Например, расчет командировки должен считаться по среднему за прошлый год, т.е. период Апрель 2023 — Март 2024"
|
||||
|
||||
Необходимо обновить `odata."getEmployeeStatement"`.
|
||||
|
||||
## Работа с системой
|
||||
|
||||
??? question "Как изменить часовой пояс в системе (Postgre SQL)?"
|
||||
|
||||
Необходимо выполнение следующих команд в PgAdmin
|
||||
```sql
|
||||
select localtimestamp; /*возвращает текущую дату и время в часовом поясе из сеанса sql*/
|
||||
select current_timestamp; /*возвращает текущие дату и время из сеанса пользователя*/
|
||||
SELECT NOW(); --посмотреть серверное время
|
||||
SELECT * FROM pg_timezone_names; -- посмотреть типы часовых поясов
|
||||
ALTER SYSTEM SET timezone TO 'Europe/Moscow'; -- изменение часового пояса
|
||||
```
|
||||
Подробно о часовых поясах в Postge SQL можно узнать [здесь](https://it-blackcat.blogspot.com/2019/10/postgresql-and-timezone.html)
|
||||
|
||||
??? question "Если возникает ошибка при обращении к домену, например по кнопке Импорт из AD"
|
||||
|
||||

|
||||

|
||||
|
||||
Необходимо проверить заполнение файла `production.js`, где указан полный путь до юнита с пользователями ldap: { ..bindDN:
|
||||
|
||||
Параметры полного пути до юнита с пользователями необходимо запрашивать у системных администраторов
|
||||
|
||||
посмотреть параметры можно в cmd командой whoami /fqdn
|
||||
посмотреть параметры можно в cmd командой `whoami /fqdn`
|
||||
|
||||
CN=service ldap lexema,OU=Technical Accounts,OU=ЦифроваяПомощь,OU=RU,DC=medholding,DC=corp
|
||||
??? question "Как посмотреть версии библиотек, установленные на проекте?"
|
||||
|
||||
подробнее о настройке см. статью [Настройки сервиса входа](https://ecm-system-settings.readthedocs.io/ru/latest/Admin manuals/service/gate/configuration/).
|
||||
В служебном меню, открывающемся при нажатии на имя пользователя в правом верхнем углу страницы приложения нажмите кнопку "О системе"
|
||||
|
||||
## Управленческая структура и руководители
|
||||

|
||||
|
||||
Для загрузки данных управленческой структуры необходимо настроить "Произвольные выборки"
|
||||
подробнее о настройке см. статью [Произвольные выборки](../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Произвольные выборки/).
|
||||

|
||||
|
||||
## Версии библиотек, установленные на проекте
|
||||
??? question "Как правильно использовать Cron при создании расписания сервиса **sheduler**?"
|
||||
|
||||
!!! question
|
||||
Как посмотреть версии библиотек, установленные на проекте?
|
||||
Чтобы правильно настроить расписание в данном формате, перейдите [по ссылке](https://crontab-generator.com/ru). Сервис использует серверное время, где развернут сервис.
|
||||
|
||||
В служебном меню, открывающемся при нажатии на имя пользователя в правом верхнем углу страницы приложения нажмите кнопку "О системе"
|
||||
Примеры использования crontab:
|
||||
|
||||

|
||||
Описание | Вычисление
|
||||
---------|-----------
|
||||
каждые 30 минут каждый день | 30 ∗ ∗ ∗ ∗ |
|
||||
каждые 60 минут каждый день | 0 ∗ ∗ ∗ ∗ |
|
||||
каждый час с 9 до 18 по рабочим дням | 0 9-18 * * 1-5 |
|
||||
каждые два часа с 9 до 18 по рабочим дням | 0 */2 * * 1-5 |
|
||||
в 6:00 по рабочим дням | 0 6 * * 1-5 |
|
||||
в 12:00 в субботу | 0 12 * * 6 |
|
||||
|
||||

|
||||
??? question "По какому времени отработает задача планировщика?"
|
||||
|
||||
## Список сертификатов КЭП пустой
|
||||
В зависимости от настройки часового пояса на сервере. Если настроено на МСК, то получается сдвиг на 2 часа вперед.
|
||||
|
||||
!!! question
|
||||
Что делать если по кнопке Добавить сертификат - список сертификатов пустой?
|
||||
??? question "Как проверить формат файла pdf/a-1"
|
||||
|
||||
1) см. статью [Привязка КЭП к пользователю Lexema-ECM](../Настройка для токенов КЭП/#шаг_3_привязка_кэп_к_пользователю_lexema-ecm).
|
||||
Удостовериться, что формат созданного файла действительно pdf/a-1 можно с помощью [онлайн сервиса](https://avepdf.com/ru/pdfa-validation)
|
||||
|
||||
Как добавить в личное хранилище импортированные сертификаты?</br>
|
||||
??? question "На деве и на продуктиве стоит одинаковая версия приложения, но на продуктиве сайт либо не открывается вообще, либо дает очень долгий отклик. В pg при этом скорости нормальные. В чем дело?"
|
||||
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
Одна из возможных причин — на сервере приложения установлены программы, которые либо отнимают память, либо блокируют действия других программ.
|
||||
Прежде всего, обратить внимание на наличие антивирусника и программы SELinux. SELinux блокирует действия, нарушающие текущую политику безопасности, фиксируя попытки в журнале.
|
||||
Решение: согласовать с заказчиком отключение этих программ либо изменение их настроек для сайтов Лексемы.
|
||||
|
||||
2) Нажмите сочетание клавиш `Win + R`
|
||||
??? question "При авторизации на сайте в логах выходит ошибка: invalid page in block 2196 of relation base/349583/364737"
|
||||
|
||||
Введите `certmgr.msc` и нажмите клавишу Enter.
|
||||
**Способ 1:**
|
||||
1) В pgAdmin запустить Query Tool на базе сайта, где возникла ошибка.
|
||||
2) Выполнить:
|
||||
```sql
|
||||
SELECT pg_filenode_relation(0, 364737); -- в результате получаем имя таблицы
|
||||
```
|
||||
3) Запустить восстановление таблицы:
|
||||
```sql
|
||||
SET zero_damaged_pages = on;
|
||||
VACUUM FULL _document144;
|
||||
```
|
||||
4) Выполнить переиндексацию всей базы:
|
||||
```sql
|
||||
REINDEX DATABASE ИМЯБАЗЫ;
|
||||
```
|
||||
Источник: [https://www.sys-admin.su/postgresql-invalid-page-in-block-2196-of-relation-base-349583-364737/](https://www.sys-admin.su/postgresql-invalid-page-in-block-2196-of-relation-base-349583-364737/)
|
||||
**Способ 2:**
|
||||
1) В pgAdmin запустить Query Tool на базе сайта, где возникла ошибка.
|
||||
2) Выполнить:
|
||||
```sql
|
||||
SELECT pg_filenode_relation(0, 364737); -- в результате получаем имя таблицы
|
||||
```
|
||||
3) Попробовать удалить эту таблицу и создать ее заново. **ВАЖНО:** Предварительно сохранить данные из таблицы!
|
||||
**Способ 3:**
|
||||
Иногда помогает просто переиндексация всей базы:
|
||||
```sql
|
||||
REINDEX DATABASE ИМЯБАЗЫ;
|
||||
```
|
||||
|
||||

|
||||
??? question "Где посмотреть максимально допустимый размер вложения на проекте"
|
||||
|
||||
Откроется Консоль управления сертификатами.
|
||||
В деплое проекта в конфиге:
|
||||
1) Значение `maxSize` в разделе `file`.
|
||||
2) Параметр `client_max_body_size` в `nginx`.
|
||||
|
||||

|
||||
??? question "Как подключить документ к СЭД?"
|
||||
|
||||
## Привязка КЭП
|
||||
1) Описать подключаемую форму в документе «Настройка документов». Прописать схему, название форм и т.д. Пример можно посмотреть на сайте демо.
|
||||
2) Подробнее про форму и её галки: [инструкция современной].
|
||||
3) Настроить вьюшку `DocflowExists` на каждом проекте отдельно, перечислив все таблицы, участвующие в документообороте.
|
||||
4) Настроить вьюшку `DocflowAccess`, задающую ограничения по правам.
|
||||
5) Обновить до последних стабильных версий Ядро (+все сопутствующие ядерные зависимости), Общие справочники и Карточки СЭД.
|
||||
6) Если планируется подписание ЭП — подключить сервис `dss`.
|
||||
7) Подключить в меню (`units.json`) документы.
|
||||
8) Если у документов предусмотрены подтипы — завести подтипы в реестре «Подтипы документов».
|
||||
9) Настроить шаблоны маршрутов.
|
||||
10) Если подключаете ЭП — сгенерировать гамма-последовательности на сервере (обратиться к системному администратору).
|
||||
11) В самих формах маршрут подключается при помощи:
|
||||
```javascript
|
||||
this.services.docflow.connectForm({ context: this, docArgs: args })
|
||||
```
|
||||
12) Подключить список рассылки, связки и вложения. Примеры: библиотека `ecosoft-lexema8-docflow-documents-lib` (Карточки СЭД).
|
||||
|
||||
!!! 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.`
|
||||
??? question "При конвертации вложенного пользователем PDF выходит ошибка: Error while executing pdf-utils operations (because) xobjectsDictionary.has is not a function"
|
||||
|
||||
В конфигурационном файле (файл CSPServer.exe с расширением .config) в секции AvailableDomains должен быть прописан адрес сайта, например: https://demo-ecm.lexema.ru/. Подробнее про привязку токенов по КЭП можно ознакомиться в соответствующем [разделе](../Настройка для токенов КЭП/index.md)
|
||||
Вложенный PDF имеет особенности, например, среди вертикальных страниц есть одна горизонтальная, либо PDF сформирован сторонним конвертером или встроенным в смартфон из фото в PDF.
|
||||
Рекомендуется:
|
||||
1) Изменить размеры страницы в данном PDF или произвести его сжатие.
|
||||
2) Утилиты:
|
||||
- [https://www.pdf2go.com/ru/resize-pdf](https://www.pdf2go.com/ru/resize-pdf)
|
||||
- [https://www.ilovepdf.com/ru/compress_pdf](https://www.ilovepdf.com/ru/compress_pdf)
|
||||
|
||||
## Использование Crontab для сервиса sheduler
|
||||
??? question "После ввода кода авторизации в сервисе Telegram, поле phone_code_hash заполняется, но не появляется окно с успешной авторизацией"
|
||||
|
||||
!!! question
|
||||
Как правильно использовать Cron при создании расписания сервиса **sheduler**?
|
||||
Одной из причин является включенный облачный пароль в настройках конфиденциальности номера, который используется в качестве отправителя.
|
||||
Проверить можно по инструкции. Если пароль отключен, рекомендуется:
|
||||
1) Перезапустить сервис Telegram.
|
||||
2) Почистить кэш с жесткой перезагрузкой страницы.
|
||||
3) Повторить авторизацию.
|
||||
|
||||
Чтобы правильно настроить расписание в данном формате, перейдите [по ссылке](https://crontab-generator.com/ru). Сервис использует серверное время, где развернут сервис.
|
||||
??? question "Как подключить планировщик задач?"
|
||||
|
||||
Примеры использования crontab:
|
||||
Есть инструкция в [Word](Создание%20SchedulerUser.docx) по созданию и базовой настройке шедулера.
|
||||
|
||||
Описание | Вычисление
|
||||
---------|-----------
|
||||
каждые 30 минут каждый день | 30 ∗ ∗ ∗ ∗ |
|
||||
каждые 60 минут каждый день | 0 ∗ ∗ ∗ ∗ |
|
||||
каждый час с 9 до 18 по рабочим дням | 0 9-18 * * 1-5 |
|
||||
каждые два часа с 9 до 18 по рабочим дням | 0 */2 * * 1-5 |
|
||||
в 6:00 по рабочим дням | 0 6 * * 1-5 |
|
||||
в 12:00 в субботу | 0 12 * * 6 |
|
||||
??? question "При каких условиях пользователь видит документы в реестре?"
|
||||
|
||||
1) Пользователь участвовал в маршруте согласования.
|
||||
2) Есть права в настройке пользователей на эти подразделения.
|
||||
3) Является инициатором документа.
|
||||
4) Участвовал в списке рассылки.
|
||||
5) Является руководителем по управленческой структуре (отображается только в универсальных документах).
|
||||
Если пользователь зашел под замещением, то отображаются также документы замещаемого.
|
||||
Если пользователь является внешним, необходимо в настройках пользователя указать подразделение.
|
||||
|
||||
|
||||
## Как проверить формат файла pdf/a-1
|
||||
??? question "Если во вложении к документу присутствует картинка в формате JPEG, то при скачивании архива с ЭП выходит ошибка наложения водяного знака"
|
||||
|
||||
Удостовериться, что формат созданного файла действительно pdf/a-1 можно с помощью [онлайн сервиса](https://avepdf.com/ru/pdfa-validation)
|
||||
Проблемы:
|
||||
1) Большой вес файла.
|
||||
2) В ядре не предусмотрено превью для картинок.
|
||||
3) В коде для картинок своя ветка генерации отчета.
|
||||
Решение (костыль для получения отчета с водяным знаком):
|
||||
1) Скачать картинку.
|
||||
2) Конвертировать её из JPEG в PDF (можно уменьшить размер до 1.7 МБ).
|
||||
3) Сжать полученный PDF (до 70-80 КБ).
|
||||
4) Загрузить полученный PDF в базу так, чтобы получить `previewcontent` (например, в тестовое заявление).
|
||||
5) В `lex.file` у исходного файла в поле `previewcontent` установить значение из пункта 4.
|
||||
6) В `lex.file` у исходного файла в поле `convertationstatus` установить `done`.
|
||||
7) В `lex.file` у исходного файла в поле `ContentType` изменить `image/jpeg` на `application/pdf`.
|
||||
8) Скачать архив.
|
||||
9) В `lex.file` у исходного файла в поле `ContentType` вернуть `application/pdf` на `image/jpeg`.
|
||||
10) Вложить отчет с водяным знаком во вложения, так как скачивание архива не будет работать.
|
||||
**Глобальные решения:**
|
||||
**Вариант 1:**
|
||||
1) Установить запрет на вкладывание JPEG и/или файлов размером больше 1 МБ (требуется согласование с заказчиком).
|
||||
**Вариант 2:**
|
||||
1) Попросить у ядра конвертацию картинок в PDF и/или выяснить, почему это не реализовано.
|
||||
2) В ветке отчетов с водяным знаком направить картинки в ту же ветку, что и PDF.
|
||||
**Вариант 3:**
|
||||
1) В ветке отчетов с водяным знаком направить картинки в ту же ветку, что и PDF.
|
||||
2) На входе конвертировать картинки в PDF.
|
||||
|
||||
## "Как мне или администратору отредактировать маршрут согласования?"
|
||||
??? question "В журнале состояния документа не отображаются документы в какой-то определенной выборке"
|
||||
|
||||
С помощью [формы корректировка маршрутов согласования](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Форма корректировки маршрутов согласования/)
|
||||
Проверить настройку ЖСД. Если в итоговой выборке присутствует условие:
|
||||
```sql
|
||||
WHERE t."DocumentCategory" IN (SELECT "VCode" FROM dfd."GetDocumentConstructorTypesByDocTypeProc"(t."DocType", t."orgId", lex."getLogin"()));
|
||||
```
|
||||
Проверить, что пользователь, у которого не показывается выборка, не уволен как сотрудник. В запросе `dfd."GetDocumentConstructorTypesByDocTypeProc"` идет проверка по ролям, горизонтальным правам, `RP_Worker` и т.д.
|
||||
|
||||
??? question "Как настроить в выборке ЖСД, чтобы документ был ссылочным?"
|
||||
|
||||
В запросе добавить `"DocCode"`, `"DocType"`, `"DocForm"`, `"DocName"` и проставить галочку "Документ" на вкладке настройки.
|
||||
|
||||
??? question "При скачивании архива некоторые документы падают в таймаут"
|
||||
|
||||
В `production.js` в блоке `jsreport` увеличить время параметра `reportTimeout`.
|
||||
|
||||
??? question "При открытии "Управление компаниями" выходит ошибка (в логах не записывается, только в консоли)"
|
||||
|
||||
```sql
|
||||
SELECT * FROM lex."OrganizationUser" WHERE "User" IS NULL;
|
||||
```
|
||||
Сделать селект и удалить строки, где `User` IS NULL.
|
||||
|
||||
??? question "Не записываются последние логи в форму (обычно на новых проектах)"
|
||||
|
||||
Сверить максимальные ключи у столбцов `Id` и `CDate`.
|
||||
Пример: у столбца `Id` счетчик 939868, а у `CDate` 157458.
|
||||
```sql
|
||||
SELECT * FROM lex."Log" ORDER BY "Id" DESC LIMIT 10;
|
||||
SELECT * FROM lex."Log" ORDER BY "CDate" DESC LIMIT 10;
|
||||
```
|
||||
|
||||
??? question "С определенной версии Chrome перестал поддерживать плагин КриптоПро ЭЦП Browser plug-in, с помощью которого было подписание УКЭП на проектах. КЭП не показывается в окне электронных подписей, и при подписании возникает ошибка"
|
||||
|
||||
Установить браузеры:
|
||||
- Chromium-Gost
|
||||
- Яндекс.Браузер для организаций
|
||||
Либо воспользоваться инструкцией по [ссылке](https://docs.cryptopro.ru/cades/plugin/plugin-installation-windows?id=Установка-расширения-браузера).
|
||||
|
||||
|
||||
## Мобильное приложение
|
||||
|
||||
??? question "При подписании в мобильном приложении возникает 500 статус"
|
||||
|
||||
1) Посмотреть в веб-версии логи.
|
||||
2) Проверить, работает ли подписание этого документа этого пользователя в веб-версии.
|
||||
|
||||
??? question "При подключении к мобильному приложению выходит ошибка Network Error. Как это проверить?"
|
||||
|
||||
С помощью сайта [https://www.sslshopper.com/ssl-checker.html](https://www.sslshopper.com/ssl-checker.html).
|
||||
В поле ввести адрес сайта, и нажать Check SSL. Все запросы должны быть зелеными.
|
||||
Если один из запросов с восклицательным знаком, обратиться к РП данного сайта, чтобы уточнить, кто системный администратор, и задать вопрос:
|
||||
"Проверили цепочку доверенных сертификатов по сайту на ресурсе [https://www.sslshopper.com/ssl-checker.html](https://www.sslshopper.com/ssl-checker.html). Результат выдает, что есть нарушения. Просьба устранить, так как эти нарушения влияют на работу мобильного приложения."
|
BIN
docs/Admin manuals/FAQ/media/image-2.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/Admin manuals/FAQ/Создание SchedulerUser.docx
Normal file
@ -491,7 +491,7 @@ NIOFamilyGenitive | Отображение ФИО работника в форм
|
||||
<tr><td>#Master_SignerIOFamily#</td><td>И.О. Фамилия подписанта в именительном падеже</td></tr>
|
||||
<tr><td>#Master_SignerIOFamilyDative#</td><td>И.О. Фамилия подписанта в дательном падеже</td></tr>
|
||||
<tr><td>#Master_SignerIOFamilyGenitive#</td><td>И.О. Фамилия подписанта в родительном падеже</td></tr>
|
||||
<tr><td>#Master_SumInWords#</td><td> конвертирует число в текст. Используется для атрибута **Вещественное** (необходимо дополнительно после вычисляемого атрибута в скобках указать служебное наименование атрибута из конструктора)
|
||||
<tr><td>#Master_SumInWords#</td><td> конвертирует число в текст. Используется для атрибута <b>Вещественное</b> (необходимо дополнительно после вычисляемого атрибута в скобках указать служебное наименование атрибута из конструктора). Пример: #summa# (#Master_SumInWords#(#summa#)) , где #summa# служебное наименование атрибута из конструктора. Будет отображать как <b>1000.00 (одна тысяча рублeй 00 копeeк)</b>
|
||||
<tr><td>#Master_WorkersAccusativeDetail#</td><td>список сотрудников в род падеже</td></tr>
|
||||
<tr><td>#Master_WorkersAccusativePasportDetail#</td><td>список сотрудников в род падеже с паспортом</td></tr>
|
||||
<tr><td>#Master_WorkersGenitiveDetail#</td><td>список сотрудников в винительном падеже</td></tr>
|
||||
@ -625,7 +625,7 @@ NIOFamilyGenitive | Отображение ФИО работника в форм
|
||||
* **Название** - задается название операции, например, Создать "Заявление на ежегодный отпуск";
|
||||
* **Тип документа** - выбирается к какому типу документа необходимо добавить меню операций;
|
||||
|
||||
!!! "Примечание"
|
||||
!!! note
|
||||
По умолчанию создается новый документ без заполненных полей. В случае когда необходимо создать новый документ (как на конструкторе, так и любой другой) с заполненными данными из первичного документа, возможно реализовать через столбец "Скрипт по созданию документа".
|
||||
|
||||
* **Подтип** - выбирается к какому типу документа необходимо добавить меню операций;
|
||||
@ -1167,11 +1167,15 @@ NIOFamilyGenitive | Отображение ФИО работника в форм
|
||||
|
||||
### Правила для вложений
|
||||
|
||||
В данной вкладке, при необходимости, устанавливаются правила разрешения вложения необходимых данных в документ. В табличной части указывается роль и правило на каком этапе маршрута у данной роли будет возможность вкладывать данные в документ.
|
||||
В данной вкладке, при необходимости, устанавливаются правила разрешения вложения необходимых данных в документ. В табличной части указывается роль или действие на каком этапе маршрута у данной роли или действия по маршруту будет возможность вкладывать данные в документ. Если табличная часть не заполнена то вложения может вкладывать любой пользователь у которого документ в текущий момент на обработке.
|
||||
|
||||
- Правило **"Всегда"** - можно вложить файл в любой момент и на любом этапе, и на этапе завершения.
|
||||
- **"Роли"** - из выпадающего списка выбирается необходимая роль.
|
||||
|
||||
- Правило **"Без маршрута"** - можно вложить файл если маршрут не создан
|
||||
- Этап **"Всегда"** - можно прикрепить вложение к документу в любой момент и на любом этапе, и на этапе завершения.
|
||||
|
||||
- Этап **"Без маршрута"** - можно прикрепить вложение к документу если маршрут не создан
|
||||
|
||||
- **"Действие"** - назначается при каком действии по маршруту пользователь сможет вкладывать вложение.Возможно выбрать как одно, так и несколько действий.
|
||||
|
||||
Галочка напротив поля **Разрешить вкладывать файлы** должна быть проставлена.
|
||||
|
||||
@ -1188,7 +1192,11 @@ NIOFamilyGenitive | Отображение ФИО работника в форм
|
||||
|
||||
**Необходимые типы вложений** - из выпадающего списка выбирается тип вложения.
|
||||
|
||||
**Правило** - определяется правило в какой момент в процессе маршрута согласования проверять на наличие вложений с указанными типами. Если неуказано правило, то проверка сработает при отправке по маршруту от инициатора.
|
||||
- Этап **"Всегда"** - требоваие вложения в любой момент и на любом этапе, и на этапе завершения.
|
||||
|
||||
- Этап **"Без маршрута"** - требование вложения если маршрут не создан.
|
||||
|
||||
- **"Действие"** - назначается при каком действии по маршруту требовать прикрепить вложение к документу.Возможно выбрать как одно, так и несколько действий.
|
||||
|
||||
Если в конструкторе НЕ заполнена таблица "Необходимые типы вложений", то проверка при отправке по маршруту НЕ сработает.
|
||||
|
||||
@ -1495,8 +1503,93 @@ NIOFamilyGenitive | Отображение ФИО работника в форм
|
||||
*Чтобы порядок атрибутов был как в конструкторе, необходимо заполнить столбец "Порядок сортировки" в таблице "Дополнительные атрибуты".*
|
||||
|
||||
|
||||
### Как создать пользовательский тип атрибута?
|
||||
<!-- ### Как создать пользовательский тип атрибута?
|
||||
|
||||
*Инструкцию по созданию пользовательского типа атрибута см. главу [Пользовательские типы атрибутов документа](../Пользовательские типы атрибутов документов/index.md).*
|
||||
|
||||
*О том, как использовать созданный пользовательский тип см. раздел [Описание полей в таблице "Дополнительные атрибуты". Тип группы (Unispr)](#описание-ChCode) и [Что писать в Тип группы (Unispr)?](#chcode).*
|
||||
*О том, как использовать созданный пользовательский тип см. раздел [Описание полей в таблице "Дополнительные атрибуты". Тип группы (Unispr)](#описание-ChCode) и [Что писать в Тип группы (Unispr)?](#chcode).* -->
|
||||
|
||||
<!-- ```sql
|
||||
DO
|
||||
$$
|
||||
declare "_PCode" bigint;
|
||||
declare "_VCode" bigint;
|
||||
declare "_CDate" timestamptz := now();
|
||||
declare "_CHost" character varying(255) := inet_client_addr();
|
||||
declare "_CUser" character varying(255) := lex."getVirtualLogin"();
|
||||
declare "_COrg" bigint := lex."getOrgId"();
|
||||
declare _TypePersonalOrder bigint;
|
||||
_TypeNamePersonalOrder varchar(255);
|
||||
_FlagMove int ;
|
||||
|
||||
BEGIN
|
||||
|
||||
if "_DocumentCategory" is not null then
|
||||
select ty."IdTypeTimeWork", 'Base.'::varchar(255)|| coalesce(ty."NameModel"::varchar(255),''::varchar(255)), ty."FlagMove"
|
||||
from dfd."DocumentConstructor" dc
|
||||
join dfd."DocumentSubtype" ds on dc."DocumentSubtype" = ds."VCode"
|
||||
join comdoc."VTypePersonalOrder" ty on ds."TypePersonalOrder" = ty."VCode"
|
||||
where dc."VCode" = "_DocumentCategory"
|
||||
into _TypePersonalOrder, _TypeNamePersonalOrder, _FlagMove;
|
||||
end if;
|
||||
|
||||
if _FlagMove = 2 then
|
||||
|
||||
"_PCode" := lex."L8_sp_GenCode" ('RP_DocAbsence', 1);
|
||||
"_VCode" := lex."L8_sp_GenCode" ('RP_WorkerAbsence', 1);
|
||||
|
||||
INSERT INTO aw."RP_DocAbsence" (
|
||||
"VCode", "TypeName", "DateDoc",
|
||||
"CDate", "CHost", "CUser", "COrg",
|
||||
"WDate", "WHost", "WUser", "WOrg"
|
||||
)
|
||||
VALUES (
|
||||
"_PCode", coalesce(_TypeNamePersonalOrder,"_TypeName"), coalesce("_DateDoc","_CDate"),
|
||||
"_CDate", "_CHost", "_CUser", "_COrg",
|
||||
"_CDate", "_CHost", "_CUser", "_COrg"
|
||||
);
|
||||
|
||||
INSERT INTO aw."RP_WorkerAbsence" (
|
||||
"VCode", "Pcode", "IdWorker", "IdTypePer",
|
||||
"CDate", "CHost", "CUser", "COrg",
|
||||
"WDate", "WHost", "WUser", "WOrg"
|
||||
)
|
||||
select
|
||||
"_VCode", "_PCode", "_IdWorker", coalesce(_TypePersonalOrder,"_IdTypePer"),
|
||||
"_CDate", "_CHost", "_CUser", "_COrg",
|
||||
"_CDate", "_CHost", "_CUser", "_COrg"
|
||||
;
|
||||
else
|
||||
|
||||
"_PCode" := lex."L8_sp_GenCode" ('RP_DocMove', 1);
|
||||
"_VCode" := lex."L8_sp_GenCode" ('RP_WorkerMove', 1);
|
||||
|
||||
INSERT INTO rp."RP_DocMove" ( "VCode", "CDate", "WDate", "CHost", "WHost", "CUser", "WUser", "COrg", "WOrg",
|
||||
"TypeName", "IdTypeCauseCond", /*"NumDoc",*/ "DateDoc", "FlagApp", "IdTypeDocStaff", "Note")
|
||||
select "_PCode", "_CDate", "_CDate", "_CHost", "_CHost", "_CUser", "_CUser", "_COrg", "_COrg",
|
||||
_TypeNamePersonalOrder, null, coalesce("_DateDoc","_CDate"), null, _TypePersonalOrder, null;
|
||||
|
||||
INSERT INTO rp."RP_WorkerMove" ( "VCode", "Pcode", "CDate", "WDate", "CHost", "WHost", "CUser", "WUser", "COrg", "WOrg",
|
||||
"IdWorker", "DateBeg", "IdDepartment", "IdPost", "IdRank", --"IdWorkContract",
|
||||
"IdStaffUnit", "IdTypeBasisDoc", "DateBasis", "Rate", "IdOper1", "SumOper1", "IdTypeWorkSched", "Probation", "WCode")
|
||||
select "_VCode", "_PCode", "_CDate", "_CDate", "_CHost", "_CHost", "_CUser", "_CUser", "_COrg", "_COrg",
|
||||
"_IdWorker", @DateBeg, mm."IdDepartment", mm."IdPost", mm."IdRank",
|
||||
mm."IdStaffUnit", mm."IdTypeBasisDoc", mm."DateBasis", mm."Rate", mm."IdOper1", mm."SumOper1",
|
||||
mm."IdTypeWorkSched", mm."Probation", case when _FlagMove = 1 then mm."PCode" end
|
||||
from (
|
||||
select m.*
|
||||
from rp."RP_DocMove" p
|
||||
join rp."RP_WorkerMove" m on p."VCode" = m."PCode"
|
||||
join comdoc."VRP_TypeDocStaff" s on p."IdTypeDocStaff" = s."VCode"
|
||||
where m."IdWorker" = "_IdWorker" and s."FlagMove" = 1
|
||||
order by "DateBeg" desc
|
||||
limit 1) mm;
|
||||
|
||||
end if;
|
||||
|
||||
update "#tmp_newDocVCode"
|
||||
set "newDocVCode" = "_PCode" ;
|
||||
|
||||
END;
|
||||
$$
|
||||
``` -->
|
@ -121,8 +121,8 @@ search:
|
||||
|
||||
Ниже представлен пример уведомления о поступлении документов для обработки.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
Пример текста письма:
|
||||
|
||||
@ -158,6 +158,8 @@ search:
|
||||
#Master_PreviousRouteStage#
|
||||
```
|
||||
|
||||
В данном конструкторе имеется таблица **Настройка типов документов, для которых будет формироваться данный вид уведомления**, позволяющая данный конструктор использовать на необходимой форме документа.
|
||||
|
||||
### Вид уведомления "О необходимости ознакомиться с документом"
|
||||
|
||||
Ниже представлен пример уведомления о поступлении документов для обработки.
|
||||
|
BIN
docs/Admin manuals/Конструктор уведомлений/media/screen 1-1.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/Admin manuals/Конструктор уведомлений/media/screen 1.png
Normal file
After Width: | Height: | Size: 67 KiB |
@ -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
|
||||
|
||||

|
||||
|
||||
## Примеры рассылок
|
||||
<!-- ## Примеры рассылок
|
||||
|
||||
### Уведомления об отпуске на основании Графика отпусков по внешним совместителям
|
||||
|
||||
|
@ -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+).
|
||||
|
@ -8,15 +8,11 @@ search:
|
||||
|
||||
Документы реестра "Настройка документов" предназначены для настройки возможностей и особенностей работы с различными типами документов. В частности, настраиваются доступные пользователям операции при создании маршрута и при перемещении по маршруту.
|
||||
|
||||
Документ находится в основном меню в группе "Администрирование", подгруппе "Документооборот". Для доступа к документу нужны права администратора.
|
||||
|
||||
## Реестр
|
||||
|
||||
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка документов". Для доступа к документу нужны права администратора.
|
||||
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка документов".
|
||||
|
||||
Откроется реестр настроенных типов документов.
|
||||
|
||||

|
||||
<!--  -->
|
||||
|
||||
Для создания нового документа необходимо нажать на кнопку "Создать" на верхней панели инструментов
|
||||
|
||||
@ -26,7 +22,7 @@ search:
|
||||
|
||||
Настройки для документа "Настройка документов" выглядят следующим образом:
|
||||
|
||||

|
||||

|
||||
|
||||
Для некоторых полей названия объединены, соответствующие им ячейки идут в том же порядке, что и их названия: поля "Форма" и "Наименование" – в "Форма\Наименование", поля "Схема" и "Таблица" – в "Схема\таблица". Обязательными полями для заполнения являются:
|
||||
|
||||
@ -36,52 +32,23 @@ search:
|
||||
|
||||
Также на форме содержатся поля "Схема" и "Таблица", которое должно содержать название соответствующей документу таблицы в базе данных.
|
||||
|
||||
В [таблице в конце статьи](#таблица) приведены возможные значения этих полей.
|
||||
|
||||
### Вкладка "Маршрут документооборота"
|
||||
|
||||
Вкладка "Маршрут документооборота" разделена на две части: первая содержит логические переменные (опции), вторая содержит таблицу со списком разрешенных действий с документом.
|
||||
|
||||
#### Опции
|
||||
|
||||
- **Правит любой участник** – редактировать редактировать содержимое таких документов как: входящие документы, исходящие документы, ОРД, Поручение, служебная записка, заявки в техническую поддержку, служебная записка для договора, договоров и дополнительных документов к договору, может любой участник маршрута, имеющий статус "Текущий";
|
||||
- **Разрешено отклонение** – участники маршрута, имеющие статус "Текущий", могут отклонить документ и отправить его на доработку инициатором;
|
||||
- **Разрешен отзыв** – инициатор маршрута может отозвать документ на любом этапе маршрута для доработки, пока маршрут по документу не завершен;
|
||||
- **Полностью повторять маршрут при отклонении** – после отклонения документа маршрут перестроится следующим образом: документ отзывается с согласования у других участников и возвращается к инициатору, завершённые и назначенные этапы маршрута добавятся в конец маршрута со статусом "Ожидание";
|
||||
- **Полностью повторять маршрут при отзыве** – после отзыва документа инициатором маршрут перестроится следующим образом: документ отзывается с согласования у других участников и возвращается к инициатору, завершённые и назначенные этапы маршрута добавятся в конец маршрута со статусом "Ожидание";
|
||||
- **Разрешено "горячее редактирование" без отзыва** – участник, обладающий специальной ролью, может в любой момент времени (при любом статусе в маршруте) откорректировать маршрут документа;
|
||||
- **Разрешено редактирование сроков обработки в маршруте** - участник, обладающий специальной ролью, может редактировать сроки обработки документов для последующих согласовантов в окне маршрута. Необходима константа [**маршрут_подтип_редактировать_срок_роли**](../Настройка констант/#система_электронного_и_кадрового_документооборота).
|
||||
- **Оповещать инициатора о завершении маршрута** – присылать инициатору уведомление на почту о завершении маршрута согласования документа;
|
||||
- **Оповещать инициатора о каждом действии** - присылать инициатору уведомление на почту после каждого действия с документом по маршруту согласования;
|
||||
- **В оповещениях отображать весь список участников** – перечислять в уведомлениях на почту список участников маршрута для таких документов как: входящие документы, исходящие документы, ОРД, Поручение, служебная записка, заявки в техническую поддержку, служебная записка для договора, договоров и дополнительных документов к договору;
|
||||
- **Отображать кнопку Делег в маршруте** – возможность делегировать выполнение действия по маршруту другому пользователю;
|
||||
- **Отображать кнопку Делег 2х в маршруте** – возможность делегировать с контролем выполнение действия по маршруту другому пользователю;
|
||||
- **Отмена сразу** – используется в *Поручениях*, при отправке документа инициатору на доработку, документ не задерживается у отклоняющего для корректировки маршрута после отмены;
|
||||
- **Постановка на контроль после отправки** – после отправки документа далее по маршруту в разделе "Контроль" окна "Документооборот" отслеживается маршрут обработанного документа;
|
||||
- **Закрывать документ автоматически после отправки по маршруту** – вместо появления диалогового окна с предложением закрыть документ, после отправки документа по маршруту он закрывается автоматически;
|
||||
- **Отображать код в наименовании документа** – в заголовке маршрута к наименованию документа в скобках добавляется код документа, указанный в поле "Код" в реестре и используемый в адресной строке;
|
||||
- **Комментировать вложения при согласовании** – подключение сервиса, который при отправке документа по маршруту показывает вложения из "Вложения" в окне для ввода комментариев, причём позволяет дать комментарий как к действию в целом, так и по каждому вложению;
|
||||
- **ЭП в списках рассылки** – ознакомление с документом происходит с использованием электронной подписи (ЭП);
|
||||
- **Форма построена на конструкторе документов** – включает форму в список типов документа, для которых может создаваться конструктор документов;
|
||||
- **Кол-во дней на ознакомление в списках рассылки** - указывается количество дней для ознакомления с документами, полученными через рассылку. Если поле не заполнено - по умолчанию 2 дня;
|
||||
- **Разрешено к массовой обработке** - разрешено [массово обработать документы](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Подписание сертификатом/#массовая_обработка_документов);
|
||||
- **Разрешено к массовой обработке на 1-м этапе** - разрешено [массово обработать документы](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Подписание сертификатом/#массовая_обработка_документов), в которых пользователь находится на 1-м этапе в маршруте, например документы на подписание;
|
||||
- **Скрыть "Лист согласования"** - скрывает кнопку "Лист согласования" в панели инструментов в документах;
|
||||
- **Показывать в мобильном приложении** - включает отображение типа документа в [истории операции в мобильном приложении](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Общие принципы работы с приложением/#история).
|
||||
|
||||
#### Настройка допустимых действий
|
||||
|
||||
В правой части вкладки "Маршрут документооборота" содержится таблица со списком возможных действий, которые можно совершить при отправке документа по маршруту.
|
||||
|
||||

|
||||

|
||||
|
||||
Столбец **"Действие с документом"** соответствует столбцу **"Совершить действие"** в маршруте документа. Столбец **"Статус документа"** соответствует столбцу **"Статус документа"** в маршруте документа. Столбец **"Направление движения документа"** определяет направление, в котором будет отправлен документ после обработки. Имеется три направления:
|
||||
|
||||
1. **Документ отправится далее по маршруту** - после подписания документ направляется далее по маршруту согласования;
|
||||
2. **Документ сразу вернется инициатору** - документ направляется инициатору в случае не согласования. Маршрут согласования в этом случае повторяется.
|
||||
3. **Документ вернется только инициатору** - документ направляется инициатору в случае не согласования документа по маршруту. Маршрут согласования в этом случае не повторяется.
|
||||
4. **Документ вернется инициатору и всем несогласным** - документ направляется инициатору и всем несогласным в случае не согласования документа по маршруту.
|
||||
5. **Ошибочно направлено. Документ вернется только инициатору** - документ направляется инициатору в случае не согласования документа по маршруту, по причине что документ был ошибочно направлен пользователю на согласование. Маршрут согласования в этом случае не повторяется.
|
||||
1. **Далее по маршруту** - после подписания документ направляется далее по маршруту согласования;
|
||||
2. **Вернется инициатору с повторением маршрута** - документ направляется инициатору в случае не согласования. Маршрут согласования в этом случае повторяется.
|
||||
3. **Вернется только инициатору для ознакомления** - документ направляется инициатору в случае не согласования документа по маршруту. Маршрут согласования в этом случае не повторяется.
|
||||
4. **Вернется инициатору и всем несогласным** - документ направляется инициатору и всем несогласным в случае не согласования документа по маршруту.
|
||||
5. **Ошибочно направлено. Вернется только инициатору** - документ направляется инициатору в случае не согласования документа по маршруту, по причине что документ был ошибочно направлен пользователю на согласование. Маршрут согласования в этом случае не повторяется.
|
||||
6. **Построить новую итерацию из шаблона маршрута** - документ направляется инициатору в случае не согласования. Маршрут согласования в этом случае повторяется из шаблона маршрута.
|
||||
|
||||
Ко всем типам документов действие должно быть выбрано "Далее".
|
||||
@ -91,24 +58,61 @@ search:
|
||||
|
||||

|
||||
|
||||
С помощью столбца **"Особая метка"** можно отмечать выполненные действия в маршруте документа с помощью выделения строки определенным цветом и использования специальных иконок. Доступны метки "Желтый флаг" и "Красный флаг". Желтый флаг может сигнализировать о выполнении действия с замечаниями (например, "Согласовано с замечаниями"). Красный флаг может сигнализировать об отказе подписать документ.
|
||||
**"Особая метка"** возможно отмечать выполненные действия в маршруте документа с помощью выделения строки определенным цветом и использования специальных иконок. Доступны метки "Желтый флаг" и "Красный флаг". Желтый флаг может сигнализировать о выполнении действия с замечаниями (например, "Согласовано с замечаниями"). Красный флаг может сигнализировать об отказе подписать документ.
|
||||
|
||||

|
||||
|
||||
С помощью столбца **"Порядок"** можно определять порядок отображения допустимых действий в панели инструментов внутри документов. Например, если у действия "Подписать ЭП" установлен порядок равный 1, значит это действие будет на первом месте в панели инструментов.
|
||||
**"Порядок"** возможно определять порядок отображения допустимых действий в панели инструментов внутри документов. Например, если у действия "Подписать ЭП" установлен порядок равный 1, значит это действие будет на первом месте в панели инструментов.
|
||||
|
||||
С помощью столбца **Отрицательный статус** можно отмечать, имеет ли выбранное допустимое действие отрицательный статус. _Отрицательный статус у электронного документа_ - это отметка, которое указывает на то, что электронный документ не может быть принят или обработан по каким-либо причинам. Это может произойти, если документ содержит ошибки в формате или не соответствует требованиям, установленным для конкретного типа документа.
|
||||
**В подтипах** возможно настраивать отображение определенных статусов документа при согласовании по маршруту согласования. Данный статус отображается только в выбранном подтипе документа. Если ничего не выбрано показывается во всех подтипах документа. Возможно выбрать как один подтип документа, так и несколько.
|
||||
|
||||
С помощью столбца **"Присвоить номер"** определяется после какого действия с документом в нем будет проставляться номер. Данная настройка работает на служебных записках, исходящих документах, организационно-распорядительных документах.
|
||||
**Отрицательный статус** возможно отмечать, имеет ли выбранное допустимое действие отрицательный статус. _Отрицательный статус у электронного документа_ - это отметка, которое указывает на то, что электронный документ не может быть принят или обработан по каким-либо причинам. Это может произойти, если документ содержит ошибки в формате или не соответствует требованиям, установленным для конкретного типа документа.
|
||||
|
||||
С помощью столбца **Уведомление инициатору** определяется какой вид [уведомления](../Конструктор уведомлений/#вид_уведомления_уведомления_инициатора_о_работе_с_документом) будет направлен инициатору. Должна быть включена галка **Оповещать инициатора о каждом действии**.
|
||||
**"Присвоить номер"** определяется после какого действия с документом в нем будет проставляться номер. Данная настройка работает на служебных записках, исходящих документах, организационно-распорядительных документах.
|
||||
|
||||
С помощью столбца **О завершении маршрута** возможно задать вид [уведомления](../Конструктор уведомлений/#вид_уведомления_о_завершении_маршрута) о завершении маршрута согласования для инициатора документа. Заданный вид уведомления назначается один раз (заполняется в одной строке с любым действием). Должна быть включена галка **Оповещать инициатора о завершении маршрута**.
|
||||
**Статус** определяется после какой действия с документом в нем будет изменен выпадающий список "Статус". Данная настройка работает на договорах.
|
||||
|
||||
**Уведомление инициатору** определяется какой вид [уведомления](../Конструктор уведомлений/#вид_уведомления_уведомления_инициатора_о_работе_с_документом) будет направлен инициатору. Должна быть включена галка **Оповещать инициатора о каждом действии**.
|
||||
|
||||
**О завершении маршрута** возможно задать вид [уведомления](../Конструктор уведомлений/#вид_уведомления_о_завершении_маршрута) о завершении маршрута согласования для инициатора документа. Заданный вид уведомления назначается один раз (заполняется в одной строке с любым действием). Должна быть включена галка **Оповещать инициатора о завершении маршрута**.
|
||||
|
||||
!!! note "Примечание"
|
||||
Для некоторых действий с документом в системе необходимо заполнить обязательный комментарий при отправке далее по маршруте:
|
||||
**Исполнен, Исполнен Отв., Согл. с замечаниями, Ошибочно направлено, Рассмотрено, Не согласовано, Отказ ЭП, далее, Отказ ЭП, аннулирован, Отказ КЭП, далее, Отказ КЭП, аннулирован, Отклонен, Отказ от ознакомления, Отказ от ознакомления ЭП, Отправлен на доработку, На этап назад, На два этапа назад, На три этапа назад.**
|
||||
|
||||
#### Опции
|
||||
|
||||
- **Разрешено отклонение** – участники маршрута, имеющие статус "Текущий", могут отклонить документ и отправить его на доработку инициатором;
|
||||
- **Разрешен отзыв** – инициатор маршрута может отозвать документ на любом этапе маршрута для доработки, пока маршрут по документу не завершен;
|
||||
- **Полностью повторять маршрут при отклонении** – после отклонения документа маршрут перестроится следующим образом: документ отзывается с согласования у других участников и возвращается к инициатору, завершённые и назначенные этапы маршрута добавятся в конец маршрута со статусом "Ожидание";
|
||||
- **Полностью повторять маршрут при отзыве** – после отзыва документа инициатором маршрут перестроится следующим образом: документ отзывается с согласования у других участников и возвращается к инициатору, завершённые и назначенные этапы маршрута добавятся в конец маршрута со статусом "Ожидание";
|
||||
- **Разрешено редактирование сроков обработки в маршруте** - участник, обладающий специальной ролью, может редактировать сроки обработки документов для последующих согласовантов в окне маршрута. Необходима константа [**маршрут_подтип_редактировать_срок_роли**](../Настройка констант/#система_электронного_и_кадрового_документооборота).
|
||||
- **Отмена сразу** – используется в *Поручениях*, при отправке документа инициатору на доработку, документ не задерживается у отклоняющего для корректировки маршрута после отмены;
|
||||
- **Добавлять в Контроль при делегировании с контролем** - при делегировании с контролем документ автоматически добавляется во вкладку "Контроль" в окне документооборота во вкладку "Контроль".
|
||||
- **Разрешено к массовой обработке** - разрешено [массово обработать документы](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Подписание сертификатом/#массовая_обработка_документов);
|
||||
- **Разрешено к массовой обработке на 1-м этапе** - разрешено [массово обработать документы](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Подписание сертификатом/#массовая_обработка_документов), в которых пользователь находится на 1-м этапе в маршруте, например документы на подписание;
|
||||
- **Оповещать инициатора о завершении маршрута** – присылать инициатору уведомление на почту о завершении маршрута согласования документа;
|
||||
- **Оповещать инициатора о каждом действии** - присылать инициатору уведомление на почту после каждого действия с документом по маршруту согласования;
|
||||
- **В оповещениях отображать весь список участников** – перечислять в уведомлениях на почту список участников маршрута для таких документов как: входящие документы, исходящие документы, ОРД, Поручение, служебная записка, заявки в техническую поддержку, служебная записка для договора, договоров и дополнительных документов к договору;
|
||||
- **Отображать кнопку Делегировать в маршруте** – возможность делегировать выполнение действия по маршруту другому пользователю;
|
||||
- **Отображать кнопку Делегировать с контролем в маршруте** – возможность делегировать с контролем выполнение действия по маршруту другому пользователю;
|
||||
- **Требовать комментарии при делегировании** - при делегировании по маршруту требовать заполнении комментариев;
|
||||
- **Комментировать вложения при согласовании** – подключение сервиса, который при отправке документа по маршруту показывает вложения из "Вложения" в окне для ввода комментариев, причём позволяет дать комментарий как к действию в целом, так и по каждому вложению;
|
||||
- **Закрывать документ автоматически после отправки по маршруту** – вместо появления диалогового окна с предложением закрыть документ, после отправки документа по маршруту он закрывается автоматически;
|
||||
- **Отображать код в наименовании документа** – в заголовке маршрута к наименованию документа в скобках добавляется код документа, указанный в поле "Код" в реестре и используемый в адресной строке;
|
||||
- **Форма построена на конструкторе документов** – включает форму в список типов документа, для которых может создаваться конструктор документов;
|
||||
- **Показывать в мобильном приложении** - включает отображение типа документа в [истории операции в мобильном приложении](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Общие принципы работы с приложением/#история).
|
||||
- **Скрыть "Лист согласования"** - скрывает кнопку "Лист согласования" в панели инструментов в документах;
|
||||
- **Скрыть "Маршрут"** - скрывает кнопку "Маршрут" в панели инструментов в документах;
|
||||
- **Показывать онлайн-чат** - включает онлайн-чат внутри документа.
|
||||
- **Показывать жизненный цикл** - включает отображение кнопки "Жизненный цикл" в панели инструментов документа, где отображаются комментарии согласующих по маршруту.
|
||||
- **Фильтровать связки по правам** - включает фильтрацию по отображению документов по ролям в связках. Если пользователь не имеет прав на документ, то он не будет отображаться в связках к документу.
|
||||
- **ЭП в списках рассылки** – ознакомление с документом происходит с использованием электронной подписи (ЭП);
|
||||
- **Кол-во дней на ознакомление в списках рассылки** - указывается количество дней для ознакомления с документами, полученными через рассылку. Если поле не заполнено - по умолчанию 2 дня;
|
||||
<!-- - **Правит любой участник** – редактировать редактировать содержимое таких документов как: входящие документы, исходящие документы, ОРД, Поручение, служебная записка, заявки в техническую поддержку, служебная записка для договора, договоров и дополнительных документов к договору, может любой участник маршрута, имеющий статус "Текущий"; -->
|
||||
<!-- - **Разрешено "горячее редактирование" без отзыва** – участник, обладающий специальной ролью, может в любой момент времени (при любом статусе в маршруте) откорректировать маршрут документа; -->
|
||||
<!-- - **Постановка на контроль после отправки** – после отправки документа далее по маршруту в разделе "Контроль" окна "Документооборот" отслеживается маршрут обработанного документа; -->
|
||||
|
||||
### Вкладка "Допустимые статусы по подтипам"
|
||||
|
||||
На этой вкладке отображаются [допустимые статусы по подтипам документов](../Подтипы документов/#вкладка_настройки). Если для данного типа документов отсутствуют статусы по подтипам, то вкладка автоматически скрывается.
|
||||
@ -119,7 +123,7 @@ search:
|
||||
|
||||
На этой вкладке можно настроить отслеживание данных в документе для соответственной корректировки его наименования и работу механизма отображения опосредованных связок.
|
||||
|
||||

|
||||
<!--  -->
|
||||
|
||||
Опция **Отслеживать изменение наименования сервисом DocflowWatcher** используется для отслеживания изменений в реквизитах документа для изменения его наименования и темы в разделе "Документооборот" в соответствии с его реквизитами. Если опция не включена, наименование и/или тема документа в разделе "Документооборот" изменятся только после сохранения **и** отправки документа далее по маршруту. Если опция включена, то наименование и/или тема документов меняются после сохранения документа, не дожидаясь отправки далее по маршруту.
|
||||
|
||||
@ -147,9 +151,9 @@ search:
|
||||
|
||||
Для идентификации подключаемого документа поисковой системой в настроечном документе ему необходимо присвоить тип, указать наименование и ключ формы. Дальнейшая настройка производится на закладке "Поисковая система". Здесь и далее на примере документа "Входящее письмо".
|
||||
|
||||

|
||||
<!--  -->
|
||||
|
||||
#### Настройка полнотекстовых индексов
|
||||
<!-- #### Настройка полнотекстовых индексов
|
||||
|
||||
Сначала необходимо добавить в таблицу "Таблицы" новую строку с помощью кнопки "Добавить". В столбце *Таблица* необходимо указать наименование базовой таблицы модели документа – ```dbo.DocflowDocument```. Наименование должно содержать имя схемы. Использование квадратных скобок для обрамления сущностей не допускается. Имена схем в СУБД SQL Server отличаются от имен в СУБД PostgreSQL. В столбце *IndexedFields* необходимо выбрать из выпадающего списка поля таблицы, для которых необходимо настроить полнотекстовые индексы. В списке представлены все символьные поля целевой таблицы за исключением служебных (```TypeName```, ```CUser```, ```WUser```, ```CHost```, ```WHost```).
|
||||
|
||||
@ -165,9 +169,9 @@ exec dbo.ManageFullTextIndexes
|
||||
|
||||
!!! warning
|
||||
|
||||
Эту операцию необходимо будет выполнять каждый раз после изменения конфигурации системы поиска (например, при подключении нового документа или при изменении набора символьных полей в существующей настройке).
|
||||
Эту операцию необходимо будет выполнять каждый раз после изменения конфигурации системы поиска (например, при подключении нового документа или при изменении набора символьных полей в существующей настройке). -->
|
||||
|
||||
#### Скрипт связки результатов полнотекстового поиска с документами
|
||||
<!-- #### Скрипт связки результатов полнотекстового поиска с документами
|
||||
|
||||
Для поиска система использует запрос ```CONTAINSTABLE```, который возвращает только ключ записи в таблице со значениями полей, удовлетворяющих заданным критериям без привязки к конкретному типу документа. Выглядит это примерно так:
|
||||
|
||||
@ -251,18 +255,18 @@ where %WhereMacro
|
||||
* Если документ подключен к СЭД, инструкция по формированию наименования документа (свойство ```DocName```) **должна быть синхронизирована** с логикой соответствующей js-функции документооборота ```getReadableName```. Эта инструкция будет применяться только для тех документов, к которым не нашелся текущий маршрут согласования. Если маршрут есть – наименование берется оттуда.
|
||||
* Флаг ```CanSee``` должен возвращать значение, действительно отражающее наличие или отсутствие прав у пользователя на просмотр данного документа, т.к. ответственность за показ пользователю не предназначенной ему конфиденциальной информации может быть возложена на прикладника, осуществлявшего настройку (в примере флаг выставлен в "**1**" потому что все возможные проверки уже сделаны в представлении ```dbo.VDocflowDocumentReg```, – она является реестровым представлением документа).
|
||||
|
||||
#### Завершение настройки
|
||||
#### Завершение настройки -->
|
||||
|
||||
* Опции ```FTS2``` и ```Итоги``` позволяют включить документ в поиск в аналитической форме "Архив вложенных документов".
|
||||
* Указать значение свойства ```typeNameProperty``` модели документа (если есть). Оно будет использоваться для фильтрации документов, если при вызове поискового запроса был назначен аналитический фильтр по разделам (типам документов).
|
||||
<!-- * Указать значение свойства ```typeNameProperty``` модели документа (если есть). Оно будет использоваться для фильтрации документов, если при вызове поискового запроса был назначен аналитический фильтр по разделам (типам документов).
|
||||
* Указать значение свойства ```dateProperty``` модели документа (если есть). Оно будет использоваться для фильтрации документов, если при вызове поискового запроса был назначен аналитический фильтр по расчетному периоду.
|
||||
* Аналогично с остальными свойствами.
|
||||
|
||||
Осталось поставить галочку в поле "Настроен" и сохранить документ.
|
||||
|
||||

|
||||
 -->
|
||||
|
||||
#### Дополнительная аналитика в критериях поиска
|
||||
<!-- #### Дополнительная аналитика в критериях поиска
|
||||
|
||||
Выше была рассмотрена возможность поиска по символьным реквизитам документа и реквизитам его маршрута согласования. Однако на проектах часто возникает необходимость поиска по специфическим справочным свойствам документа, которые представлены в базовой таблице полем типа ``bigint``, а в шаблоне формы элементом управления ```Lookup``` (список). Например, необходимо найти все входящие письма, в которых фигурирует контрагент (отправитель) "ПАО Мегафон" с возможностью поиска как с настройкой аналитического фильтра (отметить галочкой необходимую организацию в специальном поле ввода в *Настройке расширенных параметров поиска*), так и непосредственным указанием фрагмента наименования организации или её ИНН в окне поискового запроса. Оба этих способа реализуемы.
|
||||
|
||||
@ -302,29 +306,28 @@ from dbo.Contractor as c
|
||||
| ServiceRecordForAdditionalDocument | ServiceRecordForAdditionalDocumentForm | СЗ для регистрации доп. документов к договору | DocflowDocument |
|
||||
| ServiceRecord | ServiceRecordForm | Служебные записки | ServiceRecord |
|
||||
| ServiceRecordForBusinessTrip | ServiceRecordForBusinessTripForm | Служебные записки на командировку | DocflowDocument |
|
||||
| UniversalDocument | UniversalDocumentForm | Универсальный документ | UniversalDocument |
|
||||
| UniversalDocument | UniversalDocumentForm | Универсальный документ | UniversalDocument | -->
|
||||
|
||||
### Вкладка "Статические поля"
|
||||
<!-- ### Вкладка "Статические поля"
|
||||
|
||||
В табличной части возможно настроить обязательность заполнения, видимости и указать значения по умолчанию для статичных полей в карточке документа.
|
||||
|
||||

|
||||
|
||||
Данные настройки работают по аналогии с дополнительными атрибутами:
|
||||
|
||||
- **id контрола** - в этом поле указывается id необходимого поля
|
||||
- **Поле в таблице** - указывается поле которой требуется задать настройки
|
||||
- **Тип** - задается тип необходимого поля
|
||||
- **Заголовок** - задается значение для настройки, например количество дней по умолчанию
|
||||
- **Видимость** - булевое значение для отображения поля
|
||||
- **Видимость** - булевое значение для отображения поля в документе
|
||||
- **Обязательность** - настройка с галочкой для обязательного заполнения
|
||||
- **Текст** - булевое значение для типов атрибута "Строка"
|
||||
- **Текст** - текстовое значение для типов атрибута "Строка"
|
||||
- **Код/число** - числовое значение для настройки
|
||||
- **Флаг** - булевое значение для типов атрибута "Логическое"
|
||||
- **Вычисление значения лукапа** - всплывающее окно в котором возможно указать условие по вычислению данных для выпадающего списка в документе. Возможно указать вычисление в виде SQL запроса либо JSON. -->
|
||||
|
||||
### Вкладка "Копирование вложений"
|
||||
<!-- ### Вкладка "Копирование вложений"
|
||||
|
||||
Вклдака _"Копирование вложений"_ необходима для того чтобы вложение в документе при отправке по маршруту автоматически дублировалась в карточку контрагента.
|
||||
Вкладка _"Копирование вложений"_ необходима для того чтобы вложение в документе при отправке по маршруту автоматически дублировалась в карточку контрагента.
|
||||
Пример скрипта:
|
||||
|
||||

|
||||
 -->
|
||||
|
BIN
docs/Admin manuals/Настройка документов/media/image-1.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
docs/Admin manuals/Настройка документов/media/image-2.png
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
docs/Admin manuals/Настройка документов/media/image-3.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
docs/Admin manuals/Настройка документов/media/image-4.png
Normal file
After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 120 KiB |
@ -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 |
|
||||
@ -144,9 +144,12 @@
|
||||
**Договор: Показывать всех кураторов холдинга** | Отображение всех кураторов холдинга по выбранному [«Виду договора»](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Виды договоров/) | | 1
|
||||
**Договор_КопироватьВходящийНомерВПолныйИВнутренний** | Включение копирование входящего номера в полный и внутренний в [договоре](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80/) | | 1
|
||||
**Договор_РазрешитьПовторПолногоНомера** | Разрешает регистрировать [договоры](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80/) с одинаковыми полными номерами для разных контрагентов | | 1
|
||||
**Дополнительный текст в заголовке штампа с ЭП** | Предоставляет возможность в идентификаторе документа указывать оператора электронной подписи| 1
|
||||
**Жирный_шрифт_в_окне_входящие** | Выделяет непрочитанные документы жирным текстом во вкладке "Входящие" в окне документооборота | | 1
|
||||
**Задача шедулера "Создание пользователей"** | В карточке и реестре [сотрудников](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Сотрудники/) отображается кнопка создания пользователей по выделенному списку и направление им уведомлений | | Код задачи из реестра задач шедулера
|
||||
**Интеграция с 1С с помощью сервиса ODATA** | В документах [«Заявление от сотрудников»](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Заявления от сотрудников/) и «Документ на подписание» по завершении маршрута для всех вложенных файлов будут сформированы и прикреплены к документу такие же файлы со штампом электронной подписи | количество дней за которые идет проверка в шедуллере. Если не заполнено, то по умолчанию 3 | 1
|
||||
**Информация_в_заявке_на_выпуск_сертификата** | Добавляется текст в [заявках на выпуск сертификата](../Выпуск ОНЭП/#Заявки-на-выпуск-ЭП) | ``` <div style="text-align: center;"><font size="3" color="#0000ff">Добрый день,<br>вам выпущен сертификат ЭП. Необходимо ознакомиться с вложениями, распечатать их, подписать и отнести в отдел кадров</font></div> ``` |
|
||||
**Использовать_должности_из_УПР_ЛистСогласования** | В печатных формах листа согласования в служебной записке отображаются должность и подразделения пользователей из управленческой структуры |
|
||||
**Исходящие_Идентификатор_почты_для_отправки** | Указывается идентификатор почтового ящика для отправки исходящего письма на почту контрагенту. В `production.js` в сервисе `post` указывается дополнительная почта. Например, если указали почту с идентификатором `forexternal` то необходимо это указать в **"Значение(текст)"**. |
|
||||
**Количество дней от текущей даты для отображения графиков отпусков в актуальном графике отпусков** | Задается количество дней от текущей даты для отображения неиспользованных дней согласно графиков отпусков к моменту оформления заявления и до начала которых осталось не менее указанного количества календарных дней Заполняется **"Значение(константа)"**. |
|
||||
**количество_перевыпускаемых_сертификатов_ЭП_за_раз** | Задается количество сертификатов электронной подписи при работе [задачи по перевыпуску](../Функции планировщика задач/index.md) [планировщика](../Планировщик задач/index.md). Заполняется **"Значение(константа)"**. | | 50
|
||||
|
@ -107,7 +107,8 @@
|
||||
|
||||
Для универсальных документов и документов на подписание (ДНП) в первую очередь ищется доп.атрибут типа Работник со служебным наименованием, сформированному по правилу #worker%# – это значит, что могут подобраться `#worker#`, `#worker1#` и т.д., т.к. % означает, что после слова worker может идти любой набор симоволов любой длины (даже нулевой). Если такие доп. атрибуты отсутствуют или не заполнены, проверяется, заполнено ли в документе поле IdWorker, которое может быть заполнено кодом сотрудника при загрузке документа из сторонней системы (базы). Для остальных типов документов по умолчанию ищется значение IdWorker.
|
||||
|
||||
В заявлениях, актах аннулирования оно заполняется, для ЛНА, доверенностей и прочих документов оно скорее всего не заполняется. Для них можно либо скорректировать запрос в поле **"Итоговая выборка"**, добавив внутрь coalesce вычисление сотрудника по создателю документа или какое-то другое правило, либо определить правило заполнения `IdWorker` в представлении `comdoc."DocflowExists"` (задаётся в базе).
|
||||
В заявлениях, актах аннулирования оно заполняется, для ЛНА, доверенностей и прочих документов оно скорее всего не заполняется. Для них можно либо скорректировать запрос в поле **"Итоговая выборка"**, добавив внутрь coalesce вычисление сотрудника по создателю документа или какое-то другое правило.
|
||||
<!-- , либо определить правило заполнения `IdWorker` в представлении `comdoc."DocflowExists"` (задаётся в базе). -->
|
||||
|
||||
Для вычисления родительского подразделения тоже необходимо определить сотрудника, чьё родительское подразделение (а также Инициатор документа, Подразделение, Должность) будет показано в результирующей таблице ЖСД.
|
||||
|
||||
@ -143,11 +144,9 @@
|
||||
|
||||
!!! example "Пример:"
|
||||
|
||||
В запросе: **Все документы** данное значение указано в конце запроса:
|
||||
В запросе данное значение указывается в конце запроса:
|
||||
|
||||
```sql
|
||||
(select top 1 wr."VCode" from "RP_Worker" wr join "RP_PersonContact" pc on wr."IdPerson"= pc."Pcode"
|
||||
and pc."IdTypeContact" = 6 and pc."Code" = t."StageUser"
|
||||
where wr."COrg" = 4 order by wr."DateBeg" ) as "AnyColumnO"
|
||||
, 2
|
||||
```
|
||||
@ -168,16 +167,11 @@
|
||||
insert into "tmp_finresult"(..., "EmailRecipient")
|
||||
...,
|
||||
( SELECT w."VCode"
|
||||
FROM comdoc."RouteStage" as rs
|
||||
join comdoc."StageItem" AS i on i."PCode" = rs."VCode"
|
||||
join rp."RP_PersonContact" pc on i."StageUser" = pc."Code" and pc."IdTypeContact" = 6
|
||||
join rp."RP_Worker" w on pc."Pcode" = w."IdPerson" and w."COrg" = t."orgId"
|
||||
WHERE rs."PCode" = t."RouteVCode"
|
||||
AND i."StageItemStatus" = 2 order by i."VCode", w."DateBeg" desc
|
||||
FROM ...
|
||||
limit 1
|
||||
)
|
||||
```
|
||||
### Примеры запросов
|
||||
<!-- ### Примеры запросов
|
||||
|
||||
#### Просроченные документы
|
||||
|
||||
@ -1346,4 +1340,4 @@
|
||||
execute _str;
|
||||
end;
|
||||
$myQ$;
|
||||
```
|
||||
``` -->
|
||||
|
@ -56,7 +56,7 @@
|
||||
|
||||
Откроется форма для создания нового шаблона.
|
||||
|
||||

|
||||

|
||||
|
||||
В документе необходимо заполнить следующие поля:
|
||||
|
||||
@ -107,6 +107,8 @@
|
||||
|
||||

|
||||
|
||||
- **При отзыве строить итерацию из шаблона** - при включенной данной опции, система при отзыве документа автоматически строить итерацию маршрута согласно шаблону.
|
||||
|
||||
**Действие первого участника:** - Если включена опция **Инициатор является участником**, то можно задать инициатору действие, которое ему потребуется выполнить на первом этапе, при помощи поля Действие первого участника. По умолчанию таким действием является "Инициатор (запустить маршрут)".
|
||||
|
||||
**Разрешенный статус первого участника:** - Данная опция распространяется только на первого участника маршрута. Если данное значение не задано - то у первого участника при нажатии на кнопку "Отправить" будет выходить набор допустимых статусов для назначенного действия, которые заданы в [настройках документа](../Настройка документов/index.md). Если значение задано - то у первого участника при нажатии на кнопку "Отправить" будет выходить на выбор только указанный в настройках статус.
|
||||
|
After Width: | Height: | Size: 84 KiB |
@ -26,7 +26,7 @@ search:
|
||||
|
||||
Настройки для документа "Подтип" выглядят следующим образом:
|
||||
|
||||

|
||||

|
||||
|
||||
Обязательными полями для заполнения являются поля **Наименование**, соответствующее наименованию подтипа документа, **Использовать в документе**, задающее тип документа, к которому будет относиться создаваемый подтип и **Кодификатор минтруда**, соответствующий код документа согласно классификатору Министерства труда.
|
||||
|
||||
@ -227,7 +227,9 @@ search:
|
||||
|
||||
С помощью поля **Листр ознакомления** есть возможность задавать или менять название лста ознакомления по рассылке. Пустая строка в настройке подтипа при формировании отчета присваивает ему название по умолчанию _"Лист ознакомления"_.
|
||||
|
||||

|
||||
Галочка **Только действия с ЭП и КЭП в отчете с ВЗ** позволяет скрывать в отчете с Водяными Знаками другие этапы кроме подписаний ЭП и КЭП.
|
||||
|
||||

|
||||
|
||||
### Вкладка "Право на создание документов с данным подтипом"
|
||||
|
||||
|
BIN
docs/Admin manuals/Подтипы документов/media/3.png
Normal file
After Width: | Height: | Size: 88 KiB |
@ -143,6 +143,7 @@
|
||||
Отношение к воинскому учету | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write |
|
||||
[Отозванные сертификаты ЭП](../Отзыв ЭП/) | ECPCertificateRevocation_read | docflow, ECPCertificateRevocation_write |
|
||||
[Отчет по ЛНА](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%20%D0%B8%20%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C/#%D0%BE%D1%82%D1%87%D0%B5%D1%82_%D0%BF%D0%BE_%D0%BB%D0%BD%D0%B0) | MailListECPArchives_read | ecparchives_write, MailListECPArchives_write |
|
||||
Отчет по ОРД | ORD_Report_read | ORD_Report |
|
||||
Переносы отпусков | | administrator_accounting_work, personnel_accounting_work,RP_VacationForm_read,RP_VacationForm_write |
|
||||
[Периодичность обучения](../Периодичность обучения/) | trainingperiodicity_read, StaffTraining_Admin | trainingperiodicity_write, StaffTraining_Admin |
|
||||
Письма | super | super |
|
||||
|
@ -90,7 +90,7 @@ search:
|
||||
|
||||
2. На форме "Управление пользователями" нажать на кнопку **Создание пользователя** на панели инструментов. Откроется всплывающее окно со вложенной формой:
|
||||
|
||||

|
||||

|
||||
|
||||
По умолчанию на форме проставляется выбранная администратором организация в поле "Организация" и роль "hr_docflow_worker", необходимая для работы с системой электронного документооборота. Подробнее про назначение ролей можно ознакомиться [ниже](#редактирование_пользователя).
|
||||
|
||||
@ -112,7 +112,7 @@ search:
|
||||
* Пароль должен быть не менее 8 символов;
|
||||
* Номер телефона должен начинаться с +7.
|
||||
|
||||

|
||||

|
||||
|
||||
Для назначения ролей пользователю есть два взаимоисключающих варианта.
|
||||
|
||||
@ -155,7 +155,7 @@ search:
|
||||
|
||||
2. В документе "Управление пользователями" нажать кнопку "Создание пользователя" на панели инструментов. Выбрать Физическое лицо. Заполнить электронный адрес, привязать к справочнику физических лиц, назначить роли и сохранить.
|
||||
|
||||

|
||||

|
||||
|
||||
В момент сохранения пользователя логин запишется в справочнике физических лиц:
|
||||
|
||||
@ -173,13 +173,13 @@ search:
|
||||
|
||||
Лексема также поддерживает доменную авторизацию. Для этого при создании пользователя нужно проставить признак "Доменная учетная запись"
|
||||
|
||||

|
||||

|
||||
|
||||
При этом добавится дополнительный признак "SSO", поле "Пароль" скроется из формы создания пользователя, логин нужно будет прописать вручную. Остальные поля заполняются как описано в предыдущих схемах создания пользователя.
|
||||
|
||||
При включении "SSO" появится возможность ввести имя домена:
|
||||
|
||||

|
||||

|
||||
|
||||
В случае отсутствии "SSO" дополнительные данные уточнять не нужно.
|
||||
|
||||
@ -205,7 +205,7 @@ search:
|
||||
|
||||
<!-- Про просмотра и назначение ролей можно почитать в разделе [Назначение ролей](../Регистрация пользователей/Регистрация пользователей.md#roles) -->
|
||||
|
||||

|
||||

|
||||
|
||||
Кнопка "Настроить роли" перед полем "Организация" позволяет перейти в документ настройки ролей. В открывшемся документе "Сотрудник" можно добавить роли пользователю:
|
||||
|
||||
|
BIN
docs/Admin manuals/Управление пользователями/media/7-1.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/Admin manuals/Управление пользователями/media/7-2.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
docs/Admin manuals/Управление пользователями/media/7-3.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
docs/Admin manuals/Управление пользователями/media/7-4.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
docs/Admin manuals/Управление пользователями/media/7-5.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/Admin manuals/Управление пользователями/media/7-6.png
Normal file
After Width: | Height: | Size: 54 KiB |
@ -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
|
||||
--
|
||||
```
|
||||
``` -->
|
@ -30,5 +30,3 @@
|
||||
Кроме документов типовой конфигурации, к электронному документообороту в Lexema-ECM можно подключать любые новые документы, требующие электронного согласования или подписания. Это могут быть производственные документы, документы складского учета, финансового учета.
|
||||
|
||||
Также Lexema-ECM имеет дополнительные модули, которыми можно расширить систему: робот по распознаванию и обработке первичных входящих документов и платформу для дистанционного корпоративного обучения.
|
||||
|
||||
|
||||
|