Compare commits
7 Commits
994abba1c3
...
3ecbb4309a
Author | SHA1 | Date | |
---|---|---|---|
3ecbb4309a | |||
22b91785bb | |||
03722309aa | |||
a4a3edb169 | |||
705ec786c4 | |||
8575ca21fb | |||
2f790f41d7 |
5
dev.yml
@ -50,9 +50,8 @@ theme:
|
|||||||
- navigation.tabs.sticky
|
- navigation.tabs.sticky
|
||||||
- search.suggest
|
- search.suggest
|
||||||
- header.autohide
|
- header.autohide
|
||||||
- navigation.path
|
- navigation.path
|
||||||
- navigation.expand
|
|
||||||
# - navigation.tabs
|
|
||||||
language: ru
|
language: ru
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ CN=service ldap lexema,OU=Technical Accounts,OU=ЦифроваяПомощь,OU=
|
|||||||
!!! question
|
!!! question
|
||||||
Что делать если по кнопке Добавить сертификат - список сертификатов пустой?
|
Что делать если по кнопке Добавить сертификат - список сертификатов пустой?
|
||||||
|
|
||||||
см. статью [Привязка КЭП к пользователю Lexema-ECM](../Настройка для токенов КЭП/#шаг_3_привязка_кэп_к_пользователю_lexema-ecm).
|
1) см. статью [Привязка КЭП к пользователю Lexema-ECM](../Настройка для токенов КЭП/#шаг_3_привязка_кэп_к_пользователю_lexema-ecm).
|
||||||
|
|
||||||
Как добавить в личное хранилище импортированные сертификаты?</br>
|
Как добавить в личное хранилище импортированные сертификаты?</br>
|
||||||
|
|
||||||
@ -120,6 +120,16 @@ CN=service ldap lexema,OU=Technical Accounts,OU=ЦифроваяПомощь,OU=
|
|||||||
</br>
|
</br>
|
||||||
</br>
|
</br>
|
||||||
|
|
||||||
|
2) Нажмите сочетание клавиш `Win + R`
|
||||||
|
|
||||||
|
Введите `certmgr.msc` и нажмите клавишу Enter.
|
||||||
|
|
||||||
|

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

|
||||||
|
|
||||||
## Использование Crontab для сервиса sheduler
|
## Использование Crontab для сервиса sheduler
|
||||||
|
|
||||||
!!! question
|
!!! question
|
||||||
|
BIN
docs/Admin manuals/FAQ/media/image-1.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
docs/Admin manuals/FAQ/media/image.png
Normal file
After Width: | Height: | Size: 40 KiB |
@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
search:
|
||||||
|
boost: 3
|
||||||
|
---
|
||||||
# Автоматическое создание пользователей
|
# Автоматическое создание пользователей
|
||||||
|
|
||||||
## Создание пользователей
|
## Создание пользователей
|
||||||
|
88
docs/Admin manuals/Администрирование СЭД/index.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# Администрирование СЭД
|
||||||
|
|
||||||
|
Документ **"Администрирование СЭД"** необходим для делегирования либо переноса задач с одного пользователя на другого, либо с заблокированных пользователях.
|
||||||
|
|
||||||
|
Для перехода в документ необходимо в меню перейти Администрирование -> Документооборот -> СЭД -> Администрирование СЭД
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Перевод-делегирование
|
||||||
|
|
||||||
|
В открытой вкладке "Перевод-делегирование" для формирования всех задач у заблокированного пользователя, необходимо нажать на **"Посмотреть заблокированные задачи"**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Сформируется табличная часть с задачами по всем заблокированным пользователям.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Для подробного просмотра документа необходимо перейти по кликабельной ссылке к этому документу.
|
||||||
|
Также можно отфильтровать задачи по заданному пользователю. Для этого в поле "Пользователь" необходимо указать Ф.И.О. сотрудника и нажать на "Посмотреть заблокированные задачи" (например выберем сотрудника Романова И.В.)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Для делегирования задач необходимо в поле **"Делегат"** указать пользователя на которого будет произведена делегация, нажать на кнопку "Делегировать активные задачи" и подтвердить делегирование (например документ "Проект поручения №277 делегируем на пользователя Денежную Е.К.).Если на предприятии несколько филиалов, нужно указать филиал. Иначе все задачи пользователя, по всем филиалам будут делегированы указанному пользователю.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
После подтверждения делегирования, данный документ поступает к указанному пользователю (в примере к пользователю Денежная Е.К.).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
В маршруте автоматически прописывается комментарий для делегированного пользователя
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Перенос документов на другого пользователя
|
||||||
|
|
||||||
|
В открытой вкладке для формирования всех задач пользователя, необходимо выбрать его в поле "Пользователь" нажать на **"Посмотреть задачи на пользователе"**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Сформируется табличная часть с документами пользователя:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
!!! note
|
||||||
|
В табличной части отображаются все документы с которыми взаимодействовал сотрудник (был инициатором, участвовал в согласовании по маршруту и получал посредством списка рассылки)
|
||||||
|
|
||||||
|
Для подробного просмотра документа можно перейти по кликабельной ссылке к этому документу. Также можно отфильтровать задачи по заданному пользователю (инициатору документа). Для переноса необходимо в табличной части выбрать один или несколько документов и выбрать получателя-пользователя в поле **"На кого перенести"** из выпадающего списка и нажать кнопку **"Перенести документы"**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
После этого появится информационное сообщение что о переносе документов:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Если переведенные документы находились у пользователя в обработке, то эти документы будут находится у указанного пользователя в обработке:
|
||||||
|
|
||||||
|

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

|
||||||
|
|
||||||
|
Сформируется табличная часть с документами пользователя:
|
||||||
|
|
||||||
|

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

|
||||||
|
|
||||||
|
После этого появится информационное сообщение что о переносе документов, а также автоматически заполнится поле **"Новый логин"**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Если переведенные документы находились у пользователя в обработке, то эти документы будут находится у указанного пользователя в обработке:
|
||||||
|
|
||||||
|

|
BIN
docs/Admin manuals/Администрирование СЭД/media/antipov.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/blockTask.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/comment.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/confirmation.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/delegation.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/delegationDoc.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/docToUser.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/docUser.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-1.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-2.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-3.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-4.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-5.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-6.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-7.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image-8.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/image.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/info.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/listBlockTask.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/menu.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/tab.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/taskToUser.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/Admin manuals/Администрирование СЭД/media/taskUser.png
Normal file
After Width: | Height: | Size: 20 KiB |
81
docs/Admin manuals/Виды электронных подписей/index.md
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
# Виды электронных подписей
|
||||||
|
|
||||||
|
## Общие сведения
|
||||||
|
|
||||||
|
В России в электронном документообороте можно использовать три вида подписи: простую (ПЭП), неквалифицированную (НЭП) и квалифицированную (КЭП) электронные подписи.
|
||||||
|
|
||||||
|
По способу хранения ЭП делятся на облачные и на специальном носителе (токенах).
|
||||||
|
|
||||||
|
Облачная электронная подпись позволяет подписывать документы СЭД и КЭДО с любого устройства, без привязки к рабочему месту. В Lexema-ECM можно работать как со сторонними облачными электронными подписями (ЭП), так и с собственными облачными неквалифицированными подписями (УНЭП). В систему встроен сервис для выпуска УНЭП.
|
||||||
|
|
||||||
|
## Простая электронная подпись, или ПЭП
|
||||||
|
|
||||||
|
Простая подпись — это знакомые всем коды доступа из СМС, коды на скретч-картах, пары "логин-пароль" в личных кабинетах на сайтах и в электронной почте. Простая подпись создается средствами информационной системы, в которой ее используют, и подтверждает, что электронную подпись создал конкретный человек.
|
||||||
|
|
||||||
|
### Где используется простая электронная подпись?
|
||||||
|
|
||||||
|
Простая электронная подпись чаще всего применяется при банковских операциях, а также для аутентификации в информационных системах, для получения госуслуг, для заверения документов внутри корпоративного электронного документооборота (далее — ЭДО).
|
||||||
|
|
||||||
|
Простую электронную подпись нельзя использовать при подписании электронных документов или в информационной системе, которые содержат гостайну.
|
||||||
|
|
||||||
|
### Юридическая сила ПЭП
|
||||||
|
|
||||||
|
Простая подпись приравнивается к собственноручной, если это регламентирует отдельный нормативно-правовой акт или между участниками ЭДО заключено соглашение, где прописаны:
|
||||||
|
|
||||||
|
- правила, по которым подписанта определяют по его простой электронной подписи;
|
||||||
|
- обязанность пользователя соблюдать конфиденциальность закрытой части ключа ПЭП (например, пароля в паре "логин-пароль" или СМС-кода, присланного на телефон).
|
||||||
|
|
||||||
|
Во многих информационных системах пользователь должен сначала подтвердить свою личность во время визита к оператору системы, чтобы его ПЭП в будущем имела юридическую силу. Например, для получения подтвержденной учетной записи на портале Госуслуг, нужно лично прийти в один из центров регистрации с документом, удостоверяющим личность.
|
||||||
|
|
||||||
|
## Неквалифицированная электронная подпись, или НЭП {#НЭП}
|
||||||
|
|
||||||
|
Усиленная неквалифицированная электронная подпись (далее — НЭП) создается с помощью программ криптошифрования с использованием закрытого ключа электронной подписи. НЭП идентифицирует личность владельца, а также позволяет проверить, вносили ли в файл изменения после его отправки.
|
||||||
|
|
||||||
|
Человек получает в удостоверяющем центре два ключа электронной подписи: закрытый и открытый. Закрытый ключ хранится на специальном ключевом носителе с пин-кодом или в компьютере пользователя — он известен только владельцу и его нужно держать в тайне. С помощью закрытого ключа владелец генерирует электронные подписи, которыми подписывает документы.
|
||||||
|
|
||||||
|
Открытый ключ электронной подписи доступен всем, с кем его обладатель ведет ЭДО. Он связан с закрытым ключом и позволяет всем получателям подписанного документа проверить подлинность ЭП.
|
||||||
|
|
||||||
|
То, что открытый ключ принадлежит владельцу закрытого ключа, прописывается в сертификате электронной подписи. Сертификат также выдается удостоверяющим центром. Но при использовании НЭП сертификат можно не создавать. Требования к структуре неквалифицированного сертификата не установлены в федеральном законе № 63-ФЗ "Об электронной подписи".
|
||||||
|
|
||||||
|
### Где используется неквалифицированная электронная подпись?
|
||||||
|
|
||||||
|
НЭП можно использовать для внутреннего ЭДО, если стороны предварительно договорились об этом.
|
||||||
|
|
||||||
|
### Юридическая сила НЭП
|
||||||
|
|
||||||
|
Участникам ЭДО нужно соблюдать дополнительные условия, чтобы электронные документы, заверенные НЭП, считались равнозначными бумажным с собственноручной подписью. Сторонам нужно обязательно заключить между собой соглашение о правилах использования НЭП и взаимном признании ее юридической силы.
|
||||||
|
|
||||||
|
## Квалифицированная электронная подпись или КЭП
|
||||||
|
|
||||||
|
Усиленная квалифицированная электронная подпись — самый регламентированный государством вид подписи. Так же, как и НЭП, она создается с помощью криптографических алгоритмов и базируется на инфраструктуре открытых ключей, но отличается от НЭП в следующем:
|
||||||
|
|
||||||
|
- Обязательно имеет квалифицированный сертификат в бумажном или электронном виде, структура которого определена приказом ФСБ России № 795 от 27.12.2011.
|
||||||
|
- Программное обеспечение для работы с КЭП сертифицировано ФСБ России.
|
||||||
|
- Выдавать КЭП может только удостоверяющий центр, который аккредитован Минкомсвязи России.
|
||||||
|
|
||||||
|
### Где используется квалифицированная электронная подпись?
|
||||||
|
|
||||||
|
КЭП нужна, чтобы сдавать отчетность в контролирующие органы, участвовать в качестве поставщика и заказчика в электронных торгах, работать с государственными информационными системами, обмениваться формализованными документами с ФНС, вести электронный документооборот внутри компании или с ее внешними контрагентами.
|
||||||
|
|
||||||
|
### Юридическая сила КЭП
|
||||||
|
|
||||||
|
КЭП — это подпись, которая придает документам юридическую силу без дополнительных условий. Если организации ведут ЭДО, подписывая документы КЭП, их юридическая сила признается автоматически согласно федеральному закону № 63-ФЗ "Об электронной подписи".
|
||||||
|
|
||||||
|
КЭП полностью приравнивается к ручной ("мокрой") подписи.
|
||||||
|
|
||||||
|
## Сводная таблица {#table}
|
||||||
|
|
||||||
|
Вид подписи | Что из себя представляет | Какие кадровые документы можно подписать? | Зона действия ЭП и риски
|
||||||
|
------------|--------------------------|-------------------------------------------|-------------------------
|
||||||
|
ПЭП | Логин-пароль | Расчетные листки, табель учета рабочего времени | Документы, имеющие силу только внутри ИС. Риски минимальные
|
||||||
|
НЭП | Заказывается в удостоверяющих центрах или создается силами собственных IT-специалистов | Все, кроме документов по увольнению сотрудников | Любые документы, действующие внутри компании. Риск утери НЭП влечет максимум подписание вместо сотрудника только кадрового документа
|
||||||
|
КЭП | Заказывается в аккредитованных удостоверяющих центрах | Все | Любые документы, включая финансовые и юридические. Утеря КЭП может нанести серьезный финансовый и репутационный ущерб
|
||||||
|
|
||||||
|
## Сводная таблица по применимости видов подписи к некоторым типам документов
|
||||||
|
|
||||||
|
Роль | ПЭП | НЭП | КЭП
|
||||||
|
-|-----|-----|----
|
||||||
|
Работник | Применимо к не указанным в разделе по НЭП документам, в отношении которых трудовым законодательством и иными нормативными правовыми актами, содержащими нормы трудового права, предусмотрено их оформление на бумажном носителе и (или) ознакомление с ними работника или лица, поступающего на работу, в письменной форме, в том числе под роспись, **за исключением**: трудовых книжек и формируемых в соответствии с трудовым законодательством в электронном виде сведений о трудовой деятельности работников, акта о несчастном случае на производстве по установленной форме, приказа (распоряжения) об увольнении работника, документов, подтверждающих прохождение работником инструктажей по охране труда, в том числе лично подписываемых работником. | При заключении трудового договора, договора о материальной ответственности, ученического договора, договора на получение образования без отрыва или с отрывом от работы, при внесении в них изменений, при подписании согласия на перевод, заявления об увольнении, отзыве заявления об увольнении, а также при ознакомлении с уведомлением об изменении определенных сторонами условий трудового договора, приказом (распоряжением) о применении дисциплинарного взыскания | Применимо к документам, в отношении которых трудовым законодательством и иными нормативными правовыми актами, содержащими нормы трудового права, предусмотрено их оформление на бумажном носителе и (или) ознакомление с ними работника или лица, поступающего на работу, в письменной форме, в том числе под роспись, **за исключением**: трудовых книжек и формируемых в соответствии с трудовым законодательством в электронном виде сведений о трудовой деятельности работников, акта о несчастном случае на производстве по установленной форме, приказа (распоряжения) об увольнении работника, документов, подтверждающих прохождение работником инструктажей по охране труда, в том числе лично подписываемых работником.
|
||||||
|
Работодатель | - | Применимо к не указанным в разделе по КЭП документам, в отношении которых трудовым законодательством и иными нормативными правовыми актами, содержащими нормы трудового права, предусмотрено их оформление на бумажном носителе и (или) ознакомление с ними работника или лица, поступающего на работу, в письменной форме, в том числе под роспись, **за исключением**: трудовых книжек и формируемых в соответствии с трудовым законодательством в электронном виде сведений о трудовой деятельности работников, акта о несчастном случае на производстве по установленной форме, приказа (распоряжения) об увольнении работника, документов, подтверждающих прохождение работником инструктажей по охране труда, в том числе лично подписываемых работником. | При заключении трудовых договоров, договоров о материальной ответственности, ученических договоров, договоров на получение образования без отрыва или с отрывом от работы, при внесении в них изменений, а также при подписании приказа (распоряжения) о применении дисциплинарного взыскания, уведомлении об изменении определенных сторонами условий трудового договора
|
||||||
|
|
||||||
|
> Данные приведены на основании [Федерального закона от 22.11.2021 № 377-ФЗ "О внесении изменений в Трудовой кодекс Российской Федерации"](http://publication.pravo.gov.ru/Document/View/0001202111220001)
|
@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
search:
|
||||||
|
boost: 2
|
||||||
|
---
|
||||||
# Выпуск облачной неквалифицированной электронной подписи в Lexema-ECM администратором
|
# Выпуск облачной неквалифицированной электронной подписи в Lexema-ECM администратором
|
||||||
|
|
||||||
## Общее описание
|
## Общее описание
|
||||||
@ -165,10 +169,10 @@
|
|||||||
|
|
||||||
## Автоматический выпуск сертификатов новым сотрудникам
|
## Автоматический выпуск сертификатов новым сотрудникам
|
||||||
|
|
||||||
На проекте возможно настроить автоматический выпуск сертификатов новым пользователям в системе. Для этого в [планировщике задач](../Планировщик задач/index.md) необходимо настроить задачу ["Выпуск сертификатов новым сотрудникам"](.../Функции планировщика задач/TaskSheduler.md. Функция работает по следующему принципу: в случае если используется положение о КЭДО, то кандидаты подбираются если текущая дата больше либо равна дата перехода на КЭДО и есть логин в системе. В случае если положение о КЭДО не используется то по наличию логина в системе у сотрудника.
|
На проекте возможно настроить автоматический выпуск сертификатов новым пользователям в системе. Для этого в [планировщике задач](../Планировщик задач/) необходимо настроить задачу [**"Выпуск сертификатов новым сотрудникам"**](.../Функции планировщика задач/), и настроить константу [**ЭЦП_количество_дней_за_сколько_отправтить_заявку_на_перевыпуск**](../Настройка констант/) с указанием количества дней по которому нужно проверять срок окончания сертификатов. Если она не задана, то по умолчанию количество дней = 5. Функция работает по следующему принципу: в случае если используется положение о КЭДО, то кандидаты подбираются если текущая дата больше либо равна дата перехода на КЭДО и есть логин в системе. В случае если положение о КЭДО не используется то по наличию логина в системе у сотрудника.
|
||||||
|
|
||||||
!!! warning
|
!!! warning
|
||||||
Необходимо чтобы на всех филиалах был заведен **SchedulerUser** с правами администратора, и назначенной ролью **DssAdmin**, иначе будет ошибка что нет прав на создание сертификата.
|
Необходимо чтобы на **всех филиалах** был заведен **SchedulerUser** с правами администратора, и назначенной ролью **DssAdmin**, иначе будет ошибка что нет прав на создание сертификата.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -180,7 +184,7 @@
|
|||||||
|
|
||||||
## Автоматический перевыпуск сертификатов у которых заканчивается срок действия
|
## Автоматический перевыпуск сертификатов у которых заканчивается срок действия
|
||||||
|
|
||||||
На проекте возможно настроить автоматический перевыпуск сертификатов у которых заканчивается срок действия. Для этого в [планировщике задач](../Планировщик задач/index.md) необходимо настроить задачу ["Выпуск новых сертификатов, когда истекают сроки"](.../Функции планировщика задач/TaskSheduler.md. В настройках учетной политики должна быть включена константа **"ЭЦП_количество_дней_за_сколько_отправтить_заявку_на_перевыпуск"**, где указывается значение количества дней по которому нужно проверять сертификаты. Если текущая дата меньше даты окончания действующего ЭП либо равна константе - то по каждому работнику автоматически формируется документ "Заявка на выпуск" с новым выпущенным сертификатом, с заявлением на выдачу сертификата, распиской в получении сертификата.
|
На проекте возможно настроить автоматический перевыпуск сертификатов у которых заканчивается срок действия. Для этого в [планировщике задач](../Планировщик задач/index.md) необходимо настроить задачу ["Выпуск новых сертификатов, когда истекают сроки"](../Функции планировщика задач/). В настройках учетной политики должна быть включена константа **"ЭЦП_количество_дней_за_сколько_отправтить_заявку_на_перевыпуск"**, где указывается значение количества дней по которому нужно проверять сертификаты. Если текущая дата меньше даты окончания действующего ЭП либо равна константе - то по каждому работнику автоматически формируется документ "Заявка на выпуск" с новым выпущенным сертификатом, с заявлением на выдачу сертификата, распиской в получении сертификата.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
33
docs/Admin manuals/Должности/index.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Должности
|
||||||
|
|
||||||
|
## Общее описание назначения справочника
|
||||||
|
|
||||||
|
Справочник – это документ, предназначенный для использования в других документах в качестве значений их полей.
|
||||||
|
|
||||||
|
Справочник "Должности" предназначен для хранения в системе основных данных по должностям в компании и заводится без привязки к подразделениям, так как одна должность может быть присуща нескольким подразделениям.
|
||||||
|
|
||||||
|
## Реестр
|
||||||
|
|
||||||
|
Для входа в документ необходимо в меню в группе "Кадры" выбрать пункт "Должности". Для доступа к документу нужны права администратора.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Откроется реестр должностей.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Для создания нового документа необходимо нажать на кнопку "Создать" на верхней панели инструментов.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Кнопка "Добавить из ОКПДТР" – загрузка классификатора, подключается отдельным сервисом через вендора системы
|
||||||
|
|
||||||
|
## Документ
|
||||||
|
|
||||||
|
Пример заполненного документа "Должность" выглядит следующим образом:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Обязательными полями для заполнения являются наименование должности и её наименования в родительном и дательном падежах.
|
||||||
|
|
||||||
|
Если подключён справочник [Категории должностей](../Категории должностей/index.md), можно заполнить поле "Категория должности".
|
BIN
docs/Admin manuals/Должности/media/create.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
docs/Admin manuals/Должности/media/docExample.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/Admin manuals/Должности/media/menu.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/Admin manuals/Должности/media/registry.png
Normal file
After Width: | Height: | Size: 108 KiB |
27
docs/Admin manuals/Категории должностей/index.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Категории должностей
|
||||||
|
|
||||||
|
## Общее описание назначения справочника
|
||||||
|
|
||||||
|
Справочник – это документ, предназначенный для использования в других документах в качестве значений их полей.
|
||||||
|
|
||||||
|
Справочник "Категория должностей" предназначен для хранения в системе основных данных по категории должностей в компании и заводится без привязки к должностям, так как одна категория может быть присуща нескольким должностям.
|
||||||
|
|
||||||
|
## Реестр
|
||||||
|
|
||||||
|
Для входа в документ необходимо перейти в Меню - Кадры - Справочники - Категории должностей. Для доступа к документу нужны права администратора.
|
||||||
|
|
||||||
|
Откроется реестр должностей.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Для создания нового документа необходимо нажать на кнопку "Создать" на верхней панели инструментов.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Документ
|
||||||
|
|
||||||
|
Пример заполненного документа "Категории должностей" выглядит следующим образом:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Код и наименование обязательны для заполнения.
|
BIN
docs/Admin manuals/Категории должностей/media/image1.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
docs/Admin manuals/Категории должностей/media/image2.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
docs/Admin manuals/Категории должностей/media/image3.png
Normal file
After Width: | Height: | Size: 23 KiB |
@ -77,11 +77,16 @@
|
|||||||
В запросе возможно настроить цветовое отображение полей документов в зависимости от условий. Для этого в запросе необходимо указать поле "Colors" и заполнить его одним из следующих значений: `1 - colors.gray 2 - colors.orange 3 - colors.yellow 4 - colors.green 5 - colors.blue 6 - colors.indigo 7 -colors.violet`. Например в запросе: **Все документы** данное значение указано в конце запроса: `(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"
|
В запросе возможно настроить цветовое отображение полей документов в зависимости от условий. Для этого в запросе необходимо указать поле "Colors" и заполнить его одним из следующих значений: `1 - colors.gray 2 - colors.orange 3 - colors.yellow 4 - colors.green 5 - colors.blue 6 - colors.indigo 7 -colors.violet`. Например в запросе: **Все документы** данное значение указано в конце запроса: `(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`, где цифра 2 цвет
|
, 2`, где цифра 2 цвет
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
Для того чтобы запрос фильтровался по заданному количеству документов, которое указывается в поле **Кол-во строк/Период (с/по):** необзодимо в конце запроса добавить строку `_topcount` , например: ```left join "tmp_workers_for_documentStatusJournalProc" w2 on w2."VCode" = t."IdWorker" _topcount;```
|
||||||
|
|
||||||
Примеры запросов:
|
### Примеры запросов:
|
||||||
|
|
||||||
**Просроченные документы** - в реестре отображаются документы, по которым были нарушены сроки обработки:
|
**Просроченные документы** - в реестре отображаются документы, по которым были нарушены сроки обработки:
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
```sql
|
```sql
|
||||||
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
@ -117,6 +122,9 @@ coalesce(dd."expired", 0) <> 0 ;
|
|||||||
|
|
||||||
**Зависшие документы у инициатора** - в реестре отображаются документы, которые были инициированы сотрудником, но не запущены далее по маршруту согласования.
|
**Зависшие документы у инициатора** - в реестре отображаются документы, которые были инициированы сотрудником, но не запущены далее по маршруту согласования.
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
```sql
|
```sql
|
||||||
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
@ -141,6 +149,9 @@ insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeNa
|
|||||||
|
|
||||||
**Поступят к hr в ближайшее время** - в реестре отображаются документы, которые в данный момент находятся на стадии согласования у руководителя сотрудника, и после этого поступят в HR службу.
|
**Поступят к hr в ближайшее время** - в реестре отображаются документы, которые в данный момент находятся на стадии согласования у руководителя сотрудника, и после этого поступят в HR службу.
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
```sql
|
```sql
|
||||||
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
@ -174,6 +185,9 @@ insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeNa
|
|||||||
|
|
||||||
**Сейчас в работе у hr** - в реестре отображаются документы, которые в данный момент находятся в HR службе в работе
|
**Сейчас в работе у hr** - в реестре отображаются документы, которые в данный момент находятся в HR службе в работе
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
```sql
|
```sql
|
||||||
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
@ -200,6 +214,9 @@ insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeNa
|
|||||||
|
|
||||||
**Обработано службой HR сегодня** - в реестре отображаются документы, которые были обработаны сегодня службой HR сегодня.
|
**Обработано службой HR сегодня** - в реестре отображаются документы, которые были обработаны сегодня службой HR сегодня.
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
```sql
|
```sql
|
||||||
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
@ -227,138 +244,584 @@ insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeNa
|
|||||||
|
|
||||||
**Все документы**
|
**Все документы**
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
```sql
|
```sql
|
||||||
insert into #tmp_finresult( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
do $myQ$
|
||||||
|
declare _str text;
|
||||||
|
begin
|
||||||
|
_str := 'INSERT INTO "tmp_calcWithBaseParams_for_documentStatusJournalProc"(
|
||||||
|
"DocCode", "DocType", "DocForm", "DocTypeName", "SettingsId", "orgId", "DocumentDate", "DocumentNumber",
|
||||||
|
"VirtualCUser", "DateOfExecution", "DateControl","DocumentSubtype", "Department",
|
||||||
|
"IdWorker", "DocumentCategory"
|
||||||
|
)
|
||||||
|
SELECT distinct e."VCode" AS "DocCode", s."DocType", s."DocForm", s."DocName" AS "DocTypeName", s."VCode" AS "SettingsId", e."COrg" AS "orgId", e."DocumentDate", e."DocumentNumber"
|
||||||
|
, e."VirtualCUser", e."DateOfExecution", e."DateControl", e."DocumentSubtype", e."Department",
|
||||||
|
e."IdWorker", (select u."DocumentCategory" from dfd."UniversalDocument" u where u."VCode" = e."VCode") /*u."DocumentCategory"*/
|
||||||
|
FROM comdoc."DocflowExists" AS e
|
||||||
|
JOIN comdoc."DocflowDocumentSettings" AS s ON s."DocType" = e."TypeName"
|
||||||
|
-- left join dfd."UniversalDocument" u on u."VCode" = e."VCode"
|
||||||
|
WHERE 1 = 1 '
|
||||||
|
|| case when coalesce("orgParam",-1111)=-1111 then '' else ' and e."COrg" = '||_orgid::text end
|
||||||
|
|| case when EXISTS(SELECT 1 FROM "tmp_docTypes_for_documentStatusJournalProc" t) then '
|
||||||
|
and EXISTS(
|
||||||
|
SELECT 1 FROM "tmp_docTypes_for_documentStatusJournalProc" AS t WHERE t."DocType" = e."TypeName"
|
||||||
|
)' else '' end
|
||||||
|
|| case when exists(select 1 from "tmp_docSubTypes_for_documentStatusJournalProc" ) then '
|
||||||
|
AND EXISTS(
|
||||||
|
SELECT 1 FROM "tmp_docSubTypes_for_documentStatusJournalProc" AS t WHERE comdoc.try_cast_bigint(t."DocSubType") = e."DocumentSubtype"
|
||||||
|
) ' else '' end||'
|
||||||
|
and coalesce( e."DocumentDate",'''||_bdate||''') between '''||_bdate||''' and '''||_edate||'''
|
||||||
|
and e."TypeName" not in (''ServiceDesk'');' ;
|
||||||
|
-- }} Выборка по основным атрибутам документа
|
||||||
|
execute _str;
|
||||||
|
end;
|
||||||
|
$myQ$;
|
||||||
|
```
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
|
```sql
|
||||||
|
IF NOT comdoc."isTableExists"('tmp_addAtribute_for_documentStatusJournalProc', 'temp') THEN
|
||||||
|
CREATE TEMP TABLE "tmp_addAtribute_for_documentStatusJournalProc"(
|
||||||
|
"PCode" bigint NOT NULL,
|
||||||
|
worker bigint,
|
||||||
|
bdate text,
|
||||||
|
edate text,
|
||||||
|
kolvo text,
|
||||||
|
other text,
|
||||||
|
/* bdate_new1 text,
|
||||||
|
edate_new1 text,
|
||||||
|
kolvo_new1 text,
|
||||||
|
bdate_new2 text,
|
||||||
|
edate_new2 text,
|
||||||
|
kolvo_new2 text,*/
|
||||||
|
TypeName varchar(255)
|
||||||
|
|
||||||
|
);-- ON COMMIT DROP;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
IF NOT comdoc."isTableExists"('tmp_workers_for_documentStatusJournalProc', 'temp') THEN
|
||||||
|
CREATE TEMP TABLE "tmp_workers_for_documentStatusJournalProc"(
|
||||||
|
"VCode" bigint NOT NULL,
|
||||||
|
"Login" varchar(255),
|
||||||
|
"NumTab" varchar(255),
|
||||||
|
"NameFull" varchar(255)
|
||||||
|
) ;-- ON COMMIT DROP;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
insert into "tmp_addAtribute_for_documentStatusJournalProc"
|
||||||
|
select daa1."PCode", max(case when bd."ColumnName" = '#Worker#' then daa1."BigIntValue" end) as Worker,
|
||||||
|
max(case when bd."ColumnName" = '#bdate#' then to_char(daa1."DateValue", 'DD.MM.YYYY') end) as bdate,
|
||||||
|
max(case when bd."ColumnName" = '#edate#' then to_char(daa1."DateValue", 'DD.MM.YYYY') end) as edate,
|
||||||
|
max(case when bd."ColumnName" = '#kolvo#' then daa1."BigIntValue"::text end) as kolvo,
|
||||||
|
string_agg(case when bd."ColumnName" not in ('#bdate#', '#edate#', '#kolvo#','#bdate_new1#', '#edate_new1#', '#kolvo_new1#') then bd."Name" || ':' || (case
|
||||||
|
when coalesce(bd."AttributeType",'') = 'string' and coalesce(daa1."Value",'') <> '' then daa1."Value"
|
||||||
|
when coalesce(bd."AttributeType",'') = 'string' and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'bigint' and daa1."BigIntValue" is not null then cast(daa1."BigIntValue" as varchar(255))
|
||||||
|
when coalesce(bd."AttributeType",'') = 'bigint' and daa1."BigIntValue" is null then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'string' and daa1."BigIntValue" is not null then cast(daa1."BigIntValue" as varchar(255))
|
||||||
|
when coalesce(bd."AttributeType",'') = 'string' and daa1."BigIntValue" is null then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Unispr' and daa1."BigIntValue" is null and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Unispr' and daa1."BigIntValue" is not null and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Post' and daa1."BigIntValue" is null and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Post' and daa1."BigIntValue" is not null and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.RP_Worker' and daa1."BigIntValue" is null and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.RP_Worker' and daa1."BigIntValue" is not null and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Contract' and daa1."BigIntValue" is null and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Contract' and daa1."BigIntValue" is not null and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Contractor' and daa1."BigIntValue" is null and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Contractor' and daa1."BigIntValue" is not null and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Department' and daa1."BigIntValue" is null and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Base.Department' and daa1."BigIntValue" is not null and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'money' and daa1."MoneyValue" is not null then cast(daa1."MoneyValue" as varchar(255))
|
||||||
|
when coalesce(bd."AttributeType",'') = 'money' and daa1."MoneyValue" is null then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Date' and daa1."DateValue" is not null then to_char(daa1."DateValue", 'DD.MM.YYYY')
|
||||||
|
when coalesce(bd."AttributeType",'') = 'Date' and daa1."DateValue" is null then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'DateTime' and daa1."DateTimeValue" is not null then to_char(daa1."DateValue", 'DD.MM.YYYY')
|
||||||
|
when coalesce(bd."AttributeType",'') = 'DateTime' and daa1."DateTimeValue" is null then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'double' and daa1."DoubleValue" is not null then cast(daa1."DoubleValue" as varchar(255))
|
||||||
|
when coalesce(bd."AttributeType",'') = 'double' and daa1."DoubleValue" is null then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'ServiceWord' and coalesce(daa1."Value",'') <> '' then coalesce(daa1."Value",' ')
|
||||||
|
when coalesce(bd."AttributeType",'') = 'ServiceWord' and coalesce(daa1."Value",'') = '' then ' '
|
||||||
|
|
||||||
|
when coalesce(bd."AttributeType",'') = 'bool' and coalesce(daa1."BigIntValue"::integer,0) = 0 then substring(coalesce(daa1."Value",'|'), position('|' in coalesce(daa1."Value",'|'))+1,char_length(coalesce(daa1."Value",'|')))
|
||||||
|
when coalesce(bd."AttributeType",'') = 'bool' and coalesce(daa1."BigIntValue"::integer,0) = 1 then substring(coalesce(daa1."Value",'|'),0, position('|' in coalesce(daa1."Value",'|')))
|
||||||
|
|
||||||
|
end) end , '; ') as other,
|
||||||
|
/*max(case when bd."ColumnName" = '#bdate_new1#' then to_char(daa1."DateValue", 'DD.MM.YYYY') end) as bdate_new1,
|
||||||
|
max(case when bd."ColumnName" = '#edate_new1#' then to_char(daa1."DateValue", 'DD.MM.YYYY') end) as edate_new1,
|
||||||
|
max(case when bd."ColumnName" = '#kolvo_new1#' then daa1."BigIntValue"::text end) as kolvo_new1,
|
||||||
|
max(case when bd."ColumnName" = '#bdate_new2#' then to_char(daa1."DateValue", 'DD.MM.YYYY') end) as bdate_new2,
|
||||||
|
max(case when bd."ColumnName" = '#edate_new2#' then to_char(daa1."DateValue", 'DD.MM.YYYY') end) as edate_new2,
|
||||||
|
max(case when bd."ColumnName" = '#kolvo_new2#' then daa1."BigIntValue"::text end) as kolvo_new2,*/
|
||||||
|
max(a."DocType") as TypeName
|
||||||
|
from dfd."DocumentAdditionalAttribute" daa1
|
||||||
|
join dfd."DocumentCategoryAttributeType" bd on daa1."CategoryAttributeType" = bd."VCode"
|
||||||
|
join "tmp_calcWithBaseParams_for_documentStatusJournalProc_distinctVC" a on daa1."PCode" = a."DocCode"
|
||||||
|
where a."DocType" in ('DocumentForSigining','UniversalDocument', 'EmployeeStatement')
|
||||||
|
group by daa1."PCode";
|
||||||
|
|
||||||
|
insert into "tmp_workers_for_documentStatusJournalProc"
|
||||||
|
select w."VCode", max(pc."Code") as "Login", max(w."NumTab") as "NumTab", max(w."NameFull") as "NameFull"
|
||||||
|
from rp."RP_Worker" w
|
||||||
|
left join rp."RP_PersonContact" AS pc on pc."Pcode" = w."IdPerson" AND pc."IdTypeContact" = 6
|
||||||
|
left join rp."RP_WorkerMove" mov on mov."IdWorker" = w."VCode"
|
||||||
|
group by w."VCode" ;
|
||||||
|
|
||||||
|
insert into "tmp_finresult"( "DocCode", "DocType", "DocForm", "DocTypeName", "SettingsId"
|
||||||
|
, "orgId", "DocumentDate", "DocumentNumber", "VirtualCUser", "DateOfExecution"
|
||||||
|
, "DateControl", "RouteVCode", "RouteStatusId", "RouteStatusName", "DocName"
|
||||||
|
, "DocSubject", "expired", "StageNumber", "BeginDate", "ActionDate"
|
||||||
|
, "DocumentAction", "DocumentStatus", "FromMessage", "eDate"
|
||||||
|
, "StageUser", "StageItemStatus", "StageStatus", "StageItemAction", "IsMarked", "DocumentSubtype"
|
||||||
|
, "AnyColumnA", "AnyColumnB", "AnyColumnC", "AnyColumnD", "AnyColumnE"
|
||||||
|
, "AnyColumnF", "AnyColumnG" , "AnyColumnH", "AnyColumnI", "AnyColumnJ"
|
||||||
|
, "AnyColumnK", "AnyColumnL", "AnyColumnM", "AnyColumnN", "EmailRecipient", "AnyColumnO", "Colors")
|
||||||
|
|
||||||
|
select t."DocCode", t."DocType", t."DocForm", t."DocTypeName", t."SettingsId"
|
||||||
|
, t."orgId" , t."DocumentDate" , t."DocumentNumber",
|
||||||
|
(case when t."DocType" in ('UniversalDocument','DocumentForSigning') then w."Login" else t."VirtualCUser" end) ,
|
||||||
|
null/*t."DateOfExecution"*/
|
||||||
|
, t."DateControl", t."RouteVCode", t."RouteStatusId", t."RouteStatusName", t."DocName"
|
||||||
|
, t."DocSubject", null/* coalesce(t."expired", case when coalesce(t."eDate", t."ActionDate", _now)<COALESCE(t."ActionDate", _now) then comdoc."dfwcGetDuration"(
|
||||||
|
t."eDate", COALESCE(t."ActionDate", _now), false, t."orgId", 1, _dayoff1, _dayoff2, null) end) */
|
||||||
|
, null/* t."StageNumber" */, null/*t."BeginDate" */, null/*t."ActionDate" */
|
||||||
|
, null/* t."DocumentAction"*/ , null/*t."DocumentStatus" */, null /*t."FromMessage" */, null /*t."eDate"*/
|
||||||
|
, null /*t."StageUser" */, null /*t."StageItemStatus"*/, null/*t."StageStatus" */, null/*t."StageItemAction"*/, t."IsMarked", t."DocumentSubtype"
|
||||||
|
, t."AnyColumnA", null as "AnyColumnB", null as "AnyColumnC", null as "AnyColumnD" , t."AnyColumnE"
|
||||||
|
, addit.bdate as "AnyColumnF", addit.edate as "AnyColumnG", addit.kolvo as "AnyColumnH", addit.other as "AnyColumnI", null/*sii."Name"*/ as "AnyColumnJ",
|
||||||
|
case when coalesce(t."RouteStatusId",0) = 2
|
||||||
|
and exists (select 1 from comdoc."RouteStage" rs where rs."PCode" = t."RouteVCode" and rs."StageNumber" = 1 and rs."Status" = 2 ) then 'Не запущен'
|
||||||
|
when coalesce(t."RouteStatusId",0) = 2 and t."StageItemStatus"= 2 and t."StageNumber" > 1
|
||||||
|
and exists (select 1 from comdoc."RouteStage" rs where rs."PCode" = t."RouteVCode" and rs."IsMarked" is not true and rs."StageName" in ( 'Исполнить')
|
||||||
|
and rs."Status"=1) then 'На согласовании / на согл у рук-ля'
|
||||||
|
when coalesce(t."RouteStatusId",0) = 3
|
||||||
|
and not exists (select 1 from comdoc."RouteStage" rs
|
||||||
|
join comdoc."StageItem" si on rs."VCode" = si."PCode"
|
||||||
|
where rs."PCode" = t."RouteVCode" and si."DocumentStatus" in (19,23)) then 'Завершен'
|
||||||
|
when coalesce(t."RouteStatusId",0) = 3
|
||||||
|
and exists (select 1 from comdoc."RouteStage" rs
|
||||||
|
join comdoc."StageItem" si on rs."VCode" = si."PCode"
|
||||||
|
where rs."PCode" = t."RouteVCode" and si."DocumentStatus" in (19,23)) then 'Отклонен' end as "AnyColumnK"
|
||||||
|
, ( SELECT DISTINCT string_agg(u."Initials"|| '(' || ds."Name"|| ')' , '; ') AS "x"
|
||||||
|
FROM comdoc."RouteStage" as rs
|
||||||
|
join comdoc."StageItem" AS i on i."PCode" = rs."VCode"
|
||||||
|
join comdoc."VUserMeta" AS u ON u."VCode" = i."StageUser"
|
||||||
|
join comdoc."DocumentStatus" AS ds ON ds."VCode" = i."DocumentStatus"
|
||||||
|
WHERE rs."PCode" = t."RouteVCode" AND i."StageItemStatus" = 3 and coalesce(i."DocumentStatus",0) <> 0) as "AnyColumnL"
|
||||||
|
, case when t."DocType" in ('UniversalDocument','DocumentForSigning') then w."NumTab" else w2."NumTab" end as "AnyColumnM"
|
||||||
|
, case when t."DocType" in ('UniversalDocument','DocumentForSigning') then w."NameFull" else w2."NameFull" end as "AnyColumnN"
|
||||||
|
, (select wr."VCode" from rp."RP_Worker" wr join rp."RP_PersonContact" pc on wr."IdPerson"= pc."Pcode" and pc."IdTypeContact" = 6 and pc."Code" = t."StageUser" where wr."COrg" = 1 order by wr."DateBeg" limit 1) as "EmailRecipient"
|
||||||
|
, (select wr."VCode" from rp."RP_Worker" wr join rp."RP_PersonContact" pc on wr."IdPerson"= pc."Pcode" and pc."IdTypeContact" = 6 and pc."Code" = t."StageUser" where wr."COrg" = 1 order by wr."DateBeg" limit 1) as "AnyColumnO"
|
||||||
|
, 3
|
||||||
|
from "tmp_preresult" t
|
||||||
|
left join "tmp_addAtribute_for_documentStatusJournalProc" addit on addit."PCode" = t."DocCode" --and addit.TypeName = "DocType"
|
||||||
|
left join "tmp_workers_for_documentStatusJournalProc" w on w."VCode" = addit.worker
|
||||||
|
left join "tmp_workers_for_documentStatusJournalProc" w2 on w2."VCode" = t."IdWorker"
|
||||||
|
_topcount;
|
||||||
|
drop table "tmp_addAtribute_for_documentStatusJournalProc";
|
||||||
|
drop table "tmp_workers_for_documentStatusJournalProc";
|
||||||
|
```
|
||||||
|
|
||||||
|
**Документы на подписание, просроченные работниками**
|
||||||
|
|
||||||
|
Основной запрос:
|
||||||
|
|
||||||
|
Итоговая выборка:
|
||||||
|
```sql
|
||||||
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
, "DateControl" , "RouteVCode" , "RouteStatusId" , "RouteStatusName" , "DocName"
|
, "DateControl" , "RouteVCode" , "RouteStatusId" , "RouteStatusName" , "DocName"
|
||||||
, "DocSubject" , "expired" , "StageNumber" , "BeginDate" , "ActionDate"
|
, "DocSubject" , "expired" , "StageNumber" , "BeginDate" , "ActionDate"
|
||||||
, "DocumentAction" , "DocumentStatus" , "FromMessage" , "eDate"
|
, "DocumentAction" , "DocumentStatus" , "FromMessage" , "eDate", "Department"
|
||||||
, "StageUser" , "StageItemStatus" , "StageStatus" , "StageItemAction" , "IsMarked", "DocumentSubtype" , "AnyColumnA" , "AnyColumnB" , "AnyColumnC" , "AnyColumnD" , "AnyColumnE",
|
, "StageUser" , "StageItemStatus" , "StageStatus" , "StageItemAction" , "DocumentSubtype" ,
|
||||||
"AnyColumnF", "AnyColumnG" , "AnyColumnH" , "AnyColumnI", "AnyColumnJ", "AnyColumnK","AnyColumnL", "AnyColumnM","AnyColumnN", "EmailRecipient","AnyColumnO", "Colors")
|
"AnyColumnA" , "AnyColumnB" , "AnyColumnC" , "AnyColumnD" , "AnyColumnE" )
|
||||||
|
|
||||||
select t."DocCode" , t."DocType" , t."DocForm" , t."DocTypeName" , t."SettingsId"
|
select t."DocCode" , t."DocType" , t."DocForm" , t."DocTypeName" , t."SettingsId"
|
||||||
, t."orgId" , t."DocumentDate" , t."DocumentNumber" ,
|
, t."orgId" , t."DocumentDate" , t."DocumentNumber" , t."VirtualCUser" , t."DateOfExecution"
|
||||||
(case when t."DocType" in ('UniversalDocument','DocumentForSigning') then (select top 1 pc."Code" from "DocumentCategoryAttributeType" bd
|
, t."DateControl" , t."RouteVCode" , t."RouteStatusId" , t."RouteStatusName" , t."DocName"
|
||||||
join "DocumentAdditionalAttribute" daa1 on t."DocCode" = daa1."PCode" and daa1."CategoryAttributeType" = bd."VCode" and bd."ColumnName" = '#Worker#'
|
, t."DocSubject" ,
|
||||||
join "RP_Worker" w on w."VCode" = daa1."BigIntValue"
|
comdoc."dfwcGetDuration"(t."eDate", COALESCE(t."ActionDate", _now), false, t."orgId", 1, _dayoff1, _dayoff2, null) ,
|
||||||
join "RP_PersonContact" AS pc ON pc."Pcode" = w."IdPerson" AND pc."IdTypeContact" = 6
|
t."StageNumber" , t."BeginDate" , t."ActionDate"
|
||||||
where t."DocumentCategory" = bd."PCode")
|
, t."DocumentAction" , t."DocumentStatus" , t."FromMessage" , t."eDate", t."Department"
|
||||||
else t."VirtualCUser" end) ,
|
, t."StageUser" , t."StageItemStatus" , t."StageStatus" , t."StageItemAction", t."DocumentSubtype",
|
||||||
null/*t."DateOfExecution"*/ , t."DateControl" , t."RouteVCode" , t."RouteStatusId" , t."RouteStatusName" , t."DocName"
|
t."DocTypeName" as "AnyColumnA" ,
|
||||||
, t."DocSubject" ,
|
p."Family" || ' '|| p."Name" || ' '|| p."Father" as "AnyColumnB" ,
|
||||||
null/* comdoc."dfwcGetDuration"(
|
t."DocCode" as "AnyColumnC", t."AnyColumnD" , t."AnyColumnE"
|
||||||
t."eDate", COALESCE(t."ActionDate", _now), false, t."orgId", 1, _dayoff1, _dayoff2, null
|
from "tmp_preresult" t
|
||||||
) */
|
inner join comdoc."Route" r on t."RouteVCode" = r."VCode"
|
||||||
, null/* t."StageNumber" */ , null/*t."BeginDate" */ , null/*t."ActionDate" */
|
inner join comdoc."RouteStage" rs on r."VCode" = rs."PCode" and t."StageNumber"= rs."StageNumber"
|
||||||
,null/* t."DocumentAction"*/ , null/*t."DocumentStatus" */ , null /*t."FromMessage" */ , null /*t."eDate"*/
|
left join rp."RP_PersonContact" pc on pc."Code" = t."StageUser" and pc."IdTypeContact" = 6
|
||||||
, null /*t."StageUser" */ , null /*t."StageItemStatus"*/ , null/*t."StageStatus" */ , null/*t."StageItemAction"*/, t."IsMarked", t."DocumentSubtype" , t."AnyColumnA" ,
|
left join rp."RP_Person" p on pc."Pcode" = p."VCode"
|
||||||
null as "AnyColumnB" ,
|
where coalesce(t."RouteStatusId",0) in (2) and t."StageItemStatus"= 2 and t."IsMarked" is not true
|
||||||
null as "AnyColumnC",
|
and rs."StageName" ilike '%работник%'
|
||||||
null as "AnyColumnD" , t."AnyColumnE" ,
|
and coalesce(t."ActionDate",t."DocumentDate") BETWEEN _bdate AND _edate
|
||||||
(select top 1 convert(varchar,daa1."DateValue",104) from "DocumentCategoryAttributeType" bd
|
;
|
||||||
join "DocumentAdditionalAttribute" daa1 on t."DocCode" = daa1."PCode" and daa1."CategoryAttributeType" = bd."VCode" and bd."ColumnName" = '#bdate#' where t."DocumentCategory" = bd."PCode" ) as "AnyColumnF" ,
|
```
|
||||||
(select top 1 convert(varchar,daa1."DateValue",104) from "DocumentCategoryAttributeType" bd
|
|
||||||
join "DocumentAdditionalAttribute" daa1 on t."DocCode" = daa1."PCode" and daa1."CategoryAttributeType" = bd."VCode" and bd."ColumnName" = '#edate#' where t."DocumentCategory" = bd."PCode") as "AnyColumnG" ,
|
|
||||||
(select top 1 daa1."BigIntValue" from "DocumentCategoryAttributeType" bd
|
|
||||||
join "DocumentAdditionalAttribute" daa1 on t."DocCode" = daa1."PCode" and daa1."CategoryAttributeType" = bd."VCode" and bd."ColumnName" ='#kolvo#' where t."DocumentCategory" = bd."PCode") as "AnyColumnH",
|
|
||||||
/* (select string_agg(dca."Name" || ':' || (case
|
|
||||||
when coalesce(dca."AttributeType",'') = 'string' and coalesce(atr."Value",'') <> '' then atr."Value"
|
|
||||||
when coalesce(dca."AttributeType",'') = 'string' and coalesce(atr."Value",'') = '' then ' '
|
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'bigint' and atr."BigIntValue" is not null then cast(atr."BigIntValue" as varchar(255))
|
|
||||||
when coalesce(dca."AttributeType",'') = 'bigint' and atr."BigIntValue" is null then ' '
|
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'string' and atr."BigIntValue" is not null then cast(atr."BigIntValue" as varchar(255))
|
|
||||||
when coalesce(dca."AttributeType",'') = 'string' and atr."BigIntValue" is null then ' '
|
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Unispr' and atr."BigIntValue" is null and coalesce(atr."Value",'') = '' then ' '
|
**Договоры и доп. соглашения**
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Unispr' and atr."BigIntValue" is not null and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Post' and atr."BigIntValue" is null and coalesce(atr."Value",'') = '' then ' '
|
Основной запрос:
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Post' and atr."BigIntValue" is not null and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
```sql
|
||||||
|
do $newQ$
|
||||||
|
declare _str text;
|
||||||
|
begin
|
||||||
|
_str := '
|
||||||
|
INSERT INTO "tmp_calcWithBaseParams_for_documentStatusJournalProc"(
|
||||||
|
"DocCode", "DocType", "DocForm", "DocTypeName", "SettingsId", "orgId", "DocumentDate", "DocumentNumber",
|
||||||
|
"VirtualCUser", "Department", "IdWorker"
|
||||||
|
)a
|
||||||
|
SELECT e."VCode" AS "DocCode", s."DocType", s."DocForm", s."DocName" AS "DocTypeName", s."VCode" AS "SettingsId", e."COrg" AS "orgId", e."DateContract", e."VhodNumber"
|
||||||
|
, e."CUser", e."CuratorDepartmentSpr", e."Manager"
|
||||||
|
FROM contract."Contract" AS e
|
||||||
|
JOIN comdoc."DocflowDocumentSettings" AS s ON s."DocType" = e."TypeName"
|
||||||
|
WHERE 1 = 1
|
||||||
|
'||case when coalesce("orgParam",-1111)=-1111 then '' else ' and e."COrg" = '||_orgid::text end ||'
|
||||||
|
and EXISTS( SELECT 1 FROM "tmp_docTypes_for_documentStatusJournalProc" AS t WHERE t."DocType" = e."TypeName" )
|
||||||
|
'|| case when _contractor is null then '' else ' and e."Contractor" = '||_contractor::text end
|
||||||
|
|| case when _contract is null then '' else ' and e."VCode" = '||_contract::text end
|
||||||
|
|| case when _manager is null then '' else ' and e."Manager" = '||_manager::text end
|
||||||
|
|| ' and e."DateContract" between '_bdate' and '_edate'
|
||||||
|
union all
|
||||||
|
SELECT e."VCode" AS "DocCode", s."DocType", s."DocForm", s."DocName" AS "DocTypeName", s."VCode" AS "SettingsId", e."COrg" AS "orgId", e."DateContract", e."Number"
|
||||||
|
, e."CUser", e."CuratorDepartmentSpr", e."Manager"
|
||||||
|
FROM contract."AdditionalContract" AS e
|
||||||
|
JOIN comdoc."DocflowDocumentSettings" AS s ON s."DocType" = e."TypeName"
|
||||||
|
WHERE 1= 1
|
||||||
|
'||case when coalesce("orgParam",-1111)=-1111 then '' else ' and e."COrg" = '||_orgid::text end ||'
|
||||||
|
and EXISTS( SELECT 1 FROM "tmp_docTypes_for_documentStatusJournalProc" AS t WHERE t."DocType" = e."TypeName" )
|
||||||
|
'|| case when _contractor is null then '' else ' and e."Contractor" = '||_contractor::text end
|
||||||
|
|| case when _contract is null then '' else ' and e."Contract" = '||_contract::text end
|
||||||
|
|| case when _addcontract is null then '' else ' and e."VCode" = '||_addcontract::text end
|
||||||
|
|| case when _manager is null then '' else ' and e."Manager" = '||_manager::text end
|
||||||
|
|| ' and e."DateContract" between '_bdate' and '_edate';';
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.RP_Worker' and atr."BigIntValue" is null and coalesce(atr."Value",'') = '' then ' '
|
execute (_str);
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.RP_Worker' and atr."BigIntValue" is not null and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
end;
|
||||||
|
$newQ$;
|
||||||
|
```
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Contract' and atr."BigIntValue" is null and coalesce(atr."Value",'') = '' then ' '
|
Итоговая выборка:
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Contract' and atr."BigIntValue" is not null and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
```sql
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Contractor' and atr."BigIntValue" is null and coalesce(atr."Value",'') = '' then ' '
|
do
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Contractor' and atr."BigIntValue" is not null and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
$$
|
||||||
|
begin
|
||||||
|
|
||||||
|
--CREATE INDEX IF NOT EXISTS "idx_tr1_tmp_CategoryAttributeType" ON "tmp_CategoryAttributeType"("PCode" );
|
||||||
|
|
||||||
|
if not comdoc."isTableExists"('tmp_UserRole','temp') then
|
||||||
|
create temp table "tmp_UserRole" (
|
||||||
|
"login" character varying(255), "Role" character varying(255)
|
||||||
|
)
|
||||||
|
--on commit drop
|
||||||
|
;
|
||||||
|
end if;
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Department' and atr."BigIntValue" is null and coalesce(atr."Value",'') = '' then ' '
|
insert into "tmp_UserRole" ("login", "Role")
|
||||||
when coalesce(dca."AttributeType",'') = 'Base.Department' and atr."BigIntValue" is not null and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
select distinct au."UserName" as login,"Role"
|
||||||
|
FROM lex."UserMeta" au
|
||||||
|
JOIN lex."OrganizationUser" ou ON au."Id" = ou."User"
|
||||||
|
left join lex."OrganizationUserRole" ur on ou."Id" = ur."OrganizationUser"
|
||||||
|
where "Role" in ('bh_purchasing_department', 'bh_legal_department', 'bh_contract_administrator', 'bh_financial_services')
|
||||||
|
or "Role" like '%ddc%'
|
||||||
|
;
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'money' and atr."MoneyValue" is not null then cast(atr."MoneyValue" as varchar(255))
|
if not comdoc."isTableExists"('tmp_CuserChief','temp') then
|
||||||
when coalesce(dca."AttributeType",'') = 'money' and atr."MoneyValue" is null then ' '
|
create temp table "tmp_CuserChief" (
|
||||||
|
"VirtualCUser" character varying(255), "chief" character varying(255)
|
||||||
|
)
|
||||||
|
--on commit drop
|
||||||
|
;
|
||||||
|
end if;
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'Date' and atr."DateValue" is not null then to_char(atr."DateValue", 'DD.MM.YYYY')
|
insert into "tmp_CuserChief" ("VirtualCUser","chief")
|
||||||
when coalesce(dca."AttributeType",'') = 'Date' and atr."DateValue" is null then ' '
|
select "VirtualCUser", chief."chief"
|
||||||
|
from (select distinct t."DocCode",t."DocType" , t."orgId", t."VirtualCUser" from "tmp_preresult" t where t."DocType" in ('Base.Contract','Base.AdditionalContract')) t
|
||||||
|
left join lateral comdoc."getProjectTemplateMember"(t."DocCode",t."DocType" , t."orgId", t."VirtualCUser", 'Service.Chief') chief on true
|
||||||
|
;
|
||||||
|
|
||||||
|
if not comdoc."isTableExists"('tmp_ExpiredRole','temp') then
|
||||||
|
create temp table "tmp_ExpiredRole" (
|
||||||
|
"DocCode" bigint, "Role" character varying(255), "maxexpired" int
|
||||||
|
)
|
||||||
|
--on commit drop
|
||||||
|
;
|
||||||
|
end if;
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'DateTime' and atr."DateTimeValue" is not null then to_char(atr."DateValue", 'DD.MM.YYYY')
|
insert into "tmp_ExpiredRole" ("DocCode","Role", "maxexpired")
|
||||||
when coalesce(dca."AttributeType",'') = 'DateTime' and atr."DateTimeValue" is null then ' '
|
select a."DocCode", a."Role", max(a."expired") as "maxexpired"
|
||||||
|
from
|
||||||
when coalesce(dca."AttributeType",'') = 'double' and atr."DoubleValue" is not null then cast(atr."DoubleValue" as varchar(255))
|
|
||||||
when coalesce(dca."AttributeType",'') = 'double' and atr."DoubleValue" is null then ' '
|
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'ServiceWord' and coalesce(atr."Value",'') <> '' then coalesce(atr."Value",' ')
|
|
||||||
when coalesce(dca."AttributeType",'') = 'ServiceWord' and coalesce(atr."Value",'') = '' then ' '
|
|
||||||
|
|
||||||
when coalesce(dca."AttributeType",'') = 'bool' and coalesce("BigIntValue"::integer,0) = 0 then substring(coalesce("Value",'|'), position('|' in coalesce("Value",'|'))+1,char_length(coalesce("Value",'|')))
|
|
||||||
when coalesce(dca."AttributeType",'') = 'bool' and coalesce("BigIntValue"::integer,0) = 1 then substring(coalesce("Value",'|'),0, position('|' in coalesce("Value",'|')))
|
|
||||||
|
|
||||||
end), '; ') AS "x"
|
|
||||||
from "DocumentAdditionalAttribute" atr
|
|
||||||
join "DocumentCategoryAttributeType" dca on atr."CategoryAttributeType" = dca."VCode"
|
|
||||||
where t."DocCode" = atr."PCode" and dca."ColumnName" not in ('#bdate#', '#edate#', '#kolvo#'))
|
|
||||||
*/ null as "AnyColumnI",
|
|
||||||
null/*sii."Name"*/,
|
|
||||||
case when coalesce(t."RouteStatusId",0) = 2 and exists (select 1 from "RouteStage" rs
|
|
||||||
where rs."PCode" = t."RouteVCode" and rs."StageNumber" = 1 and rs."Status" = 2 ) then 'Не запущен'
|
|
||||||
when coalesce(t."RouteStatusId",0) = 2 and t."StageItemStatus"= 2 and t."StageNumber" > 1
|
|
||||||
and exists (select 1 from "RouteStage" rs
|
|
||||||
where rs."PCode" = t."RouteVCode"
|
|
||||||
and isnull(rs."IsMarked",0) = 1
|
|
||||||
and rs."StageName" in ( 'Исполнить')
|
|
||||||
and rs."Status"=1) then 'На согласовании / на согл у рук-ля'
|
|
||||||
when coalesce(t."RouteStatusId",0) = 3
|
|
||||||
and not exists (select 1 from "RouteStage" rs
|
|
||||||
join "StageItem" si on rs."VCode" = si."PCode"
|
|
||||||
where rs."PCode" = t."RouteVCode"
|
|
||||||
and si."DocumentStatus" in (19,23)) then 'Завершен'
|
|
||||||
when coalesce(t."RouteStatusId",0) = 3 and exists (select 1 from "RouteStage" rs
|
|
||||||
join "StageItem" si on rs."VCode" = si."PCode"
|
|
||||||
where rs."PCode" = t."RouteVCode"
|
|
||||||
and si."DocumentStatus" in (19,23)) then 'Отклонен'
|
|
||||||
end as "AnyColumnK",
|
|
||||||
/*( SELECT DISTINCT string_agg(u."Initials"|| '(' || ds."Name"|| ')' , '; ') AS "x"
|
|
||||||
FROM "RouteStage" as rs
|
|
||||||
join "StageItem" AS i on i."PCode" = rs."VCode"
|
|
||||||
join "VUserMeta" AS u ON u."VCode" = i."StageUser"
|
|
||||||
join "DocumentStatus" AS ds ON ds."VCode" = i."DocumentStatus"
|
|
||||||
WHERE rs."PCode" = t."RouteVCode"
|
|
||||||
AND i."StageItemStatus" = 3
|
|
||||||
and coalesce(i."DocumentStatus",0) <> 0
|
|
||||||
) */ '' as "AnyColumnL",
|
|
||||||
|
|
||||||
case when t."DocType" in ('UniversalDocument','DocumentForSigning') then (select top 1 w."NumTab" from "DocumentCategoryAttributeType" bd
|
|
||||||
join "DocumentAdditionalAttribute" daa1 on t."DocCode" = daa1."PCode" and daa1."CategoryAttributeType" = bd."VCode" and bd."ColumnName" = '#Worker#'
|
|
||||||
join "RP_Worker" w on w."VCode" = daa1."BigIntValue"
|
|
||||||
where t."DocumentCategory" = bd."PCode")
|
|
||||||
else (select r."NumTab" from "RP_Worker" as r where r."VCode" = t."IdWorker") end as "AnyColumnM",
|
|
||||||
|
|
||||||
case when t."DocType" in ('UniversalDocument','DocumentForSigning') then (select top 1 w."NameFull" from "DocumentCategoryAttributeType" bd
|
|
||||||
join "DocumentAdditionalAttribute" daa1 on t."DocCode" = daa1."PCode" and daa1."CategoryAttributeType" = bd."VCode" and bd."ColumnName" = '#Worker#'
|
|
||||||
join "RP_Worker" w on w."VCode" = daa1."BigIntValue"
|
|
||||||
where t."DocumentCategory" = bd."PCode" )
|
|
||||||
else (select r."NameFull" from "RP_Worker" as r where r."VCode" = t."IdWorker") end as "AnyColumnN",
|
|
||||||
(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 "EmailRecipient",
|
|
||||||
(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
|
|
||||||
from #tmp_preresult t
|
|
||||||
where t."DocType" not in ('ServiceDesk') and
|
|
||||||
(
|
(
|
||||||
t."DocumentDate" IS NULL OR t."DocumentDate" BETWEEN @_bdate AND @_edate
|
select t."DocCode", t."StageUser", -- ur."Role", coalesce(ch.ф"chief",'') as "chief",
|
||||||
|
case when coalesce(ch."chief",'') <>'' then 'chief_role' else ur."Role" end as "Role",
|
||||||
|
round(comdoc."dfwcGetDuration"(t."eDate", COALESCE(t."ActionDate", _now::date), false, t."orgId", null, _dayoff1, _dayoff2, null)/60.0/60.0/9, 0) as "expired"
|
||||||
|
|
||||||
|
from (select distinct "DocCode", t."StageUser", t."eDate", t."ActionDate",t."orgId" from "tmp_preresult" t where t."DocType" in ('Base.Contract','Base.AdditionalContract')) t
|
||||||
|
left join "tmp_UserRole" ur on t."StageUser"= ur."login"
|
||||||
|
left join "tmp_CuserChief" ch on t."StageUser" = ch."chief"
|
||||||
|
|
||||||
|
) a
|
||||||
|
where coalesce(a."expired", 0) > 0
|
||||||
|
group by a."DocCode", a."Role";
|
||||||
|
|
||||||
|
|
||||||
|
end;
|
||||||
|
$$;
|
||||||
|
|
||||||
|
|
||||||
|
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName" , "SettingsId"
|
||||||
|
, "orgId" , "DocumentDate" , "DocumentNumber" , "VirtualCUser" , "DateOfExecution"
|
||||||
|
, "DateControl" , "RouteVCode" , "RouteStatusId" , "RouteStatusName" , "DocName"
|
||||||
|
, "DocSubject" , "expired" , "StageNumber" , "BeginDate" , "ActionDate"
|
||||||
|
, "DocumentAction" , "DocumentStatus" , "FromMessage" , "eDate", "Department"
|
||||||
|
, "StageUser" , "StageItemStatus" , "StageStatus" , "StageItemAction" , "DocumentSubtype"
|
||||||
|
, "AnyColumnA" , "AnyColumnB" , "AnyColumnC" , "AnyColumnD" , "AnyColumnE"
|
||||||
|
, "AnyColumnF" , "AnyColumnG" , "AnyColumnH" , "AnyColumnI" , "AnyColumnJ"
|
||||||
|
, "AnyColumnK" , "AnyColumnL" , "AnyColumnM" , "AnyColumnN" , "AnyColumnO"
|
||||||
|
, "AnyColumnP", "AnyColumnQ" , "AnyColumnR" , "AnyColumnS" , "AnyColumnT"
|
||||||
|
, "AnyColumnU" , "AnyColumnV" , "AnyColumnW" , "AnyColumnX" , "AnyColumnY"
|
||||||
|
, "AnyColumnZ" , "AnyColumnAA" , "AnyColumnAB" , "AnyColumnAC" , "AnyColumnAD" , "AnyColumnAE" , "AnyColumnAF"
|
||||||
|
, "AnyColumnAG" , "AnyColumnAH" , "AnyColumnAI" , "AnyColumnAJ" , "AnyColumnAK" , "AnyColumnAL" , "AnyColumnAM"
|
||||||
|
, "Colors", "attFilter"
|
||||||
)
|
)
|
||||||
and t."DocType" not in ('ServiceDesk') ;
|
|
||||||
|
select distinct t."DocCode" , t."DocType" , t."DocForm" , t."DocTypeName" , t."SettingsId"
|
||||||
|
, t."orgId" , t."DocumentDate" , t."DocumentNumber" , t."VirtualCUser" , t."DateOfExecution"
|
||||||
|
, t."DateControl", t."RouteVCode" , t."RouteStatusId" , t."RouteStatusName" , t."DocName"
|
||||||
|
, t."DocSubject", null::bigint , null::int as "StageNumber" , null::date as "BeginDate" , null::date as "ActionDate"
|
||||||
|
, null::int as "DocumentAction" ,null::int as "DocumentStatus" , null as"FromMessage" , null::date as "eDate", t."Department"
|
||||||
|
, null as "StageUser", null::int as "StageItemStatus" , null::int as "StageStatus", null::int as "StageItemAction", t."DocumentSubtype",
|
||||||
|
"Number" as "AnyColumnA",
|
||||||
|
"VhodNumber" as "AnyColumnB",
|
||||||
|
to_char("DateContract", 'DD.MM.YYYY' ) as "AnyColumnC",
|
||||||
|
to_char("DateBegin", 'DD.MM.YYYY' ) as "AnyColumnD",
|
||||||
|
to_char("DateEnd", 'DD.MM.YYYY' ) as "AnyColumnE",
|
||||||
|
null as "AnyColumnF",
|
||||||
|
case when coalesce("IsDocument",false) = true then 'Да' else 'Нет' end as "AnyColumnG",
|
||||||
|
"StatusOfContract" as "AnyColumnH",
|
||||||
|
"Contractor" as "AnyColumnI",
|
||||||
|
"VTypeContract" as "AnyColumnJ",
|
||||||
|
"ContractKind1" as "AnyColumnK",
|
||||||
|
null as "AnyColumnL",
|
||||||
|
"SumContract" as "AnyColumnM",
|
||||||
|
"TypePayment" as "AnyColumnN",
|
||||||
|
"SubjectOfContract" as "AnyColumnO",
|
||||||
|
null as "AnyColumnP",
|
||||||
|
to_char("DateAutolong", 'DD.MM.YYYY' ) as "AnyColumnQ",
|
||||||
|
null as "AnyColumnR",
|
||||||
|
null as "AnyColumnS",
|
||||||
|
null as "AnyColumnT",
|
||||||
|
COALESCE(rst."RouteStatusNm", 'Не запущен') as "AnyColumnU"
|
||||||
|
, ( SELECT string_agg(r_info."x", ';') FROM
|
||||||
|
( SELECT 'Этап '||s."StageNumber"||' '||du."Initials"||COALESCE(' '||ds."Name", '')||COALESCE(' '||i."FromMessage", '') AS "x"
|
||||||
|
FROM comdoc."Route" AS r
|
||||||
|
JOIN comdoc."RouteStage" AS s ON s."PCode" = r."VCode"
|
||||||
|
JOIN comdoc."StageItem" AS i ON i."PCode" = s."VCode"
|
||||||
|
JOIN comdoc."VUserMeta" AS du ON du."VCode" = i."StageUser"
|
||||||
|
LEFT JOIN comdoc."DocumentStatus" AS ds ON ds."VCode" = i."DocumentStatus"
|
||||||
|
WHERE r."DocCode" = t."DocCode"
|
||||||
|
AND r."DocType" = t."DocType"
|
||||||
|
AND r."RouteStatus" <> 4
|
||||||
|
ORDER BY s."StageNumber" ASC, i."VCode" ASC
|
||||||
|
) as r_info ) as "AnyColumnV",
|
||||||
|
null as "AnyColumnW", --бренд
|
||||||
|
null as "AnyColumnX", --парал импорт
|
||||||
|
null as "AnyColumnY", -- с НДС
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='chief_role') as "AnyColumnZ",--просрочено рук
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='bh_financial_services') as "AnyColumnAA",--просрочено фин
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='bh_legal_department') as "AnyColumnAB",--просрочено прав деп
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='bh_purchasing_department') as "AnyColumnAC",--просрочено закупки
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role" like '%ddc%') as "AnyColumnAD", --просрочено ДДЦ
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='bh_contract_administrator') as "AnyColumnAE", --просрочен админ дог
|
||||||
|
t."DocCode" as "AnyColumnAF"
|
||||||
|
|
||||||
|
--надо найти зама
|
||||||
|
, (SELECT DISTINCT string_agg(x."UserName", ',') FROM
|
||||||
|
(select
|
||||||
|
m."LastName" || ' ' || m."FirstName" || ' ' || m. "MiddleName" as "UserName"
|
||||||
|
--m."UserName", m1."UserName" as "UserName1"
|
||||||
|
from lex."UserMeta" as m
|
||||||
|
join lex."OrganizationUser" as ou on m."Id" = ou."User" and coalesce(ou."IsBlocked",false) = false
|
||||||
|
join lex."Replacement" as rep on ou."Id" = rep."Replacer"
|
||||||
|
--AND now() between coalesce(rep."BeginDate",now()) AND coalesce(rep."EndDate",now())
|
||||||
|
and coalesce(rep."BeginDate",now())::date<= "DateEnd"::date and coalesce(rep."EndDate",now())::date>= "DateBegin"::date
|
||||||
|
join lex."OrganizationUser" as ou1 on rep."Replaceable" = ou1."Id" --and coalesce(ou1."IsBlocked",false) = false
|
||||||
|
join lex."UserMeta" as m1 on ou1."User" = m1."Id"
|
||||||
|
where m1."UserName" = t."VirtualCUser"
|
||||||
|
group by m."LastName" || ' ' || m."FirstName" || ' ' || m. "MiddleName"
|
||||||
|
-- m."UserName", m1."UserName"
|
||||||
|
) as x ) ::character varying(1000) AS "AnyColumnAG"
|
||||||
|
--надо найти руководителя по штатке
|
||||||
|
,
|
||||||
|
|
||||||
|
(select um."LastName" || ' ' ||um."FirstName" || ' ' ||um."MiddleName" as "UserName"
|
||||||
|
from comdoc."Department" dep
|
||||||
|
join rp."RP_Worker" w on dep."Manager" = w."VCode"
|
||||||
|
join rp."RP_PersonContact" pers on w."IdPerson" = pers."Pcode" and pers."IdTypeContact" = 6
|
||||||
|
join lex."UserMeta" um on um."UserName" = pers."Code"
|
||||||
|
where dep."VCode" = (select "Department" from comdoc."DocflowExists" where "VCode" = t."DocCode" and "TypeName" = t."DocType" limit 1) )
|
||||||
|
AS "AnyColumnAH"
|
||||||
|
, wi."Dpost" AS "AnyColumnAI", wi."Duvl" AS "AnyColumnAJ"
|
||||||
|
, c."PaymentMethod" as "AnyColumnAK" , null as "AnyColumnAL" ,
|
||||||
|
case when coalesce(c."DateAutolong",c."DateEnd",'20701231')::date between now()::date and now()::date + 30::integer
|
||||||
|
then 'yellow'
|
||||||
|
when coalesce(c."DateAutolong",c."DateEnd",'20701231')<now()::date
|
||||||
|
then 'violet'
|
||||||
|
end as "AnyColumnAM"
|
||||||
|
, case when coalesce(c."DateAutolong",c."DateEnd",'20701231')::date between now()::date and now()::date + 30::integer
|
||||||
|
then 3
|
||||||
|
when coalesce(c."DateAutolong",c."DateEnd",'20701231')<now()::date
|
||||||
|
then 7
|
||||||
|
end
|
||||||
|
as "Colors"
|
||||||
|
, ' and "OrigPriznak" is true ' as "attFilter"
|
||||||
|
|
||||||
|
/*цвета 1 - colors.gray
|
||||||
|
2 - colors.orange
|
||||||
|
3 - colors.yellow
|
||||||
|
4 - colors.green
|
||||||
|
5 - colors.blue
|
||||||
|
6 - colors.indigo
|
||||||
|
7 -colors.violet*/
|
||||||
|
|
||||||
|
from (select distinct t."DocCode" , t."DocType" , t."DocForm" , t."DocTypeName" , t."SettingsId"
|
||||||
|
, t."orgId" , t."DocumentDate" , t."DocumentNumber" , t."VirtualCUser" , t."DateOfExecution"
|
||||||
|
, t."DateControl", t."RouteVCode" , t."RouteStatusId" , t."RouteStatusName" , t."DocName"
|
||||||
|
, t."DocSubject", t."Department", t."DocumentSubtype", t."DocumentCategory"
|
||||||
|
from "tmp_preresult" t
|
||||||
|
where t."DocType" in ('Base.Contract')
|
||||||
|
) t
|
||||||
|
inner join contract."VContractRegistry" c on t."DocCode" = c."VCode"
|
||||||
|
LEFT JOIN ( SELECT w."VCode", w."lexLogin", dep."VCode" AS "DepartmentVCode", dep."Name" AS "Department", pos."Name" AS "Position" ,to_char(w."DateBeg",'DD.MM.YYYY') as "Dpost",to_char(w."DateEnd",'DD.MM.YYYY') as "Duvl"
|
||||||
|
FROM rp."VLookupWorker" AS w
|
||||||
|
JOIN rp."RP_WorkerMove" AS m ON m."IdWorker" = w."VCode"
|
||||||
|
LEFT JOIN comdoc."Department" AS dep ON dep."VCode" = m."IdDepartment"
|
||||||
|
LEFT JOIN rp."RP_Post" AS pos ON pos."VCode" = m."IdPost"
|
||||||
|
WHERE w."lexLogin" IS NOT NULL
|
||||||
|
ORDER BY ROW_NUMBER() OVER(
|
||||||
|
PARTITION BY w."lexLogin"
|
||||||
|
ORDER BY COALESCE(m."DateEnd", w."DateEnd", '2070-01-01'::date) DESC, m."VCode" DESC
|
||||||
|
)
|
||||||
|
FETCH FIRST 1 ROWS WITH TIES ) --as "workers"
|
||||||
|
AS wi ON wi."lexLogin" = t."VirtualCUser"
|
||||||
|
LEFT JOIN LATERAL comdoc."getDocRouteCurrentStatus"(t."DocCode", t."DocType") AS rst ON true
|
||||||
|
--where c."DateContract" BETWEEN _bdate AND _edate
|
||||||
|
/*union all
|
||||||
|
select distinct t."DocCode" , t."DocType" , t."DocForm" , t."DocTypeName" , t."SettingsId"
|
||||||
|
, t."orgId" , t."DocumentDate" , t."DocumentNumber" , t."VirtualCUser" , t."DateOfExecution"
|
||||||
|
, t."DateControl", t."RouteVCode" , t."RouteStatusId" , t."RouteStatusName" , t."DocName"
|
||||||
|
, t."DocSubject", null::bigint , null::int as "StageNumber" , null::date as "BeginDate" , null::date as "ActionDate"
|
||||||
|
, null::int as "DocumentAction" ,null::int as "DocumentStatus" , null as"FromMessage" , null::date as "eDate", t."Department"
|
||||||
|
, null as "StageUser", null::int as "StageItemStatus" , null::int as "StageStatus", null::int as "StageItemAction", t."DocumentSubtype",
|
||||||
|
ds."Number" as "AnyColumnA",
|
||||||
|
c."VhodNumber"as "AnyColumnB",
|
||||||
|
to_char(c."DateContract", 'DD.MM.YYYY' ) as "AnyColumnC",
|
||||||
|
to_char(ds."DateBegin", 'DD.MM.YYYY' ) as "AnyColumnD",
|
||||||
|
to_char(ds."DateEnd", 'DD.MM.YYYY' ) as "AnyColumnE",
|
||||||
|
to_char(ds."DateSignUp", 'DD.MM.YYYY' ) as "AnyColumnF",
|
||||||
|
case when coalesce(ds."IsDocument",false) = true then 'Да' else 'Нет' end as "AnyColumnG",
|
||||||
|
ds."StatusOfContractName" as "AnyColumnH",
|
||||||
|
ds."ContractorName" as "AnyColumnI",
|
||||||
|
c."VTypeContract" as "AnyColumnJ",
|
||||||
|
c."ContractKind1" as "AnyColumnK",
|
||||||
|
c."ContractCategory" as "AnyColumnL",
|
||||||
|
ds."SumWithVAT" as "AnyColumnM",
|
||||||
|
c."TypePayment" as "AnyColumnN",
|
||||||
|
ds."SubjectOfContract" as "AnyColumnO",
|
||||||
|
c."Autolong" as "AnyColumnP",
|
||||||
|
to_char(c."DateAutolong", 'DD.MM.YYYY' ) as "AnyColumnQ",
|
||||||
|
c."TypicalForm" as "AnyColumnR",
|
||||||
|
c."ContractBasis" as "AnyColumnS",
|
||||||
|
c."CompanyListName" as "AnyColumnT",
|
||||||
|
COALESCE(rst."RouteStatusNm", 'Не запущен') as "AnyColumnU"
|
||||||
|
, ( SELECT string_agg(r_info."x", ';') FROM
|
||||||
|
( SELECT 'Этап '||s."StageNumber"||' '||du."Initials"||COALESCE(' '||ds."Name", '')||COALESCE(' '||i."FromMessage", '') AS "x"
|
||||||
|
FROM comdoc."Route" AS r
|
||||||
|
JOIN comdoc."RouteStage" AS s ON s."PCode" = r."VCode"
|
||||||
|
JOIN comdoc."StageItem" AS i ON i."PCode" = s."VCode"
|
||||||
|
JOIN comdoc."VUserMeta" AS du ON du."VCode" = i."StageUser"
|
||||||
|
LEFT JOIN comdoc."DocumentStatus" AS ds ON ds."VCode" = i."DocumentStatus"
|
||||||
|
WHERE r."DocCode" = t."DocCode"
|
||||||
|
AND r."DocType" = t."DocType"
|
||||||
|
AND r."RouteStatus" <> 4
|
||||||
|
ORDER BY s."StageNumber" ASC, i."VCode" ASC
|
||||||
|
) as r_info ) as "AnyColumnV",
|
||||||
|
c."BrendName" as "AnyColumnW", --бренд
|
||||||
|
c."ParalelImportName" as "AnyColumnX", --парал импорт
|
||||||
|
case when coalesce(c."WithNDS",false) = true then 'С НДС' else 'Без НДС' end as "AnyColumnY", -- с НДС
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='chief_role') as "AnyColumnZ",--просрочено рук
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='chief_role') as "AnyColumnAA",--просрочено фин
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='bh_legal_department') as "AnyColumnAB",--просрочено прав деп
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='chief_role') as "AnyColumnAC",--просрочено закупки
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='chief_role') as "AnyColumnAD", --просрочено ДДЦ
|
||||||
|
(select "maxexpired" from "tmp_ExpiredRole" er where t."DocCode" = er."DocCode" and "Role"='bh_contract_administrator') as "AnyColumnAE", --просрочен админ дог
|
||||||
|
t."DocCode" as "AnyColumnAF"
|
||||||
|
--надо найти зама
|
||||||
|
, (SELECT DISTINCT string_agg(x."UserName", ',') FROM
|
||||||
|
(select
|
||||||
|
m."LastName" || ' ' || m."FirstName" || ' ' || m. "MiddleName" as "UserName"
|
||||||
|
--m."UserName", m1."UserName" as "UserName1"
|
||||||
|
from lex."UserMeta" as m
|
||||||
|
join lex."OrganizationUser" as ou on m."Id" = ou."User" and coalesce(ou."IsBlocked",false) = false
|
||||||
|
join lex."Replacement" as rep on ou."Id" = rep."Replacer"
|
||||||
|
--AND now() between coalesce(rep."BeginDate",now()) AND coalesce(rep."EndDate",now())
|
||||||
|
and coalesce(rep."BeginDate",now())::date<= c."DateEnd"::date and coalesce(rep."EndDate",now())::date>= c."DateBegin"
|
||||||
|
join lex."OrganizationUser" as ou1 on rep."Replaceable" = ou1."Id" --and coalesce(ou1."IsBlocked",false) = false
|
||||||
|
join lex."UserMeta" as m1 on ou1."User" = m1."Id"
|
||||||
|
where m1."UserName" = t."VirtualCUser"
|
||||||
|
group by m."LastName" || ' ' || m."FirstName" || ' ' || m. "MiddleName"
|
||||||
|
-- m."UserName", m1."UserName"
|
||||||
|
) as x ) ::character varying(1000) AS "AnyColumnAG"
|
||||||
|
--надо найти руководителя по штатке
|
||||||
|
,
|
||||||
|
|
||||||
|
(select um."LastName" || ' ' ||um."FirstName" || ' ' ||um."MiddleName" as "UserName"
|
||||||
|
from comdoc."Department" dep
|
||||||
|
join rp."RP_Worker" w on dep."Manager" = w."VCode"
|
||||||
|
join rp."RP_PersonContact" pers on w."IdPerson" = pers."Pcode" and pers."IdTypeContact" = 6
|
||||||
|
join lex."UserMeta" um on um."UserName" = pers."Code"
|
||||||
|
where dep."VCode" = (select "Department" from comdoc."DocflowExists" where "VCode" = t."DocCode" and "TypeName" = t."DocType" limit 1) )
|
||||||
|
AS "AnyColumnAH"
|
||||||
|
, wi."Dpost" AS "AnyColumnAI", wi."Duvl" AS "AnyColumnAJ"
|
||||||
|
, c."PaymentMethod" as "AnyColumnAK" , c."SumAddContractWithoutVAT" as "AnyColumnAL" ,
|
||||||
|
null as "AnyColumnAM"
|
||||||
|
, null as "Colors"
|
||||||
|
from (select distinct t."DocCode" , t."DocType" , t."DocForm" , t."DocTypeName" , t."SettingsId"
|
||||||
|
, t."orgId" , t."DocumentDate" , t."DocumentNumber" , t."VirtualCUser" , t."DateOfExecution"
|
||||||
|
, t."DateControl", t."RouteVCode" , t."RouteStatusId" , t."RouteStatusName" , t."DocName"
|
||||||
|
, t."DocSubject", t."Department", t."DocumentSubtype", t."DocumentCategory"
|
||||||
|
from "tmp_preresult" t
|
||||||
|
where t."DocType" in ('Base.AdditionalContract')
|
||||||
|
) t
|
||||||
|
inner join contract."VAdditionalContractRegistry" ds on t."DocCode" =ds."VCode"
|
||||||
|
inner join contract."VContractRegistry" c on ds."Contract" = c."VCode"
|
||||||
|
LEFT JOIN ( SELECT w."VCode", w."lexLogin", dep."VCode" AS "DepartmentVCode", dep."Name" AS "Department", pos."Name" AS "Position" ,to_char(w."DateBeg",'DD.MM.YYYY') as "Dpost",to_char(w."DateEnd",'DD.MM.YYYY') as "Duvl"
|
||||||
|
FROM rp."VLookupWorker" AS w
|
||||||
|
JOIN rp."RP_WorkerMove" AS m ON m."IdWorker" = w."VCode"
|
||||||
|
LEFT JOIN comdoc."Department" AS dep ON dep."VCode" = m."IdDepartment"
|
||||||
|
LEFT JOIN rp."RP_Post" AS pos ON pos."VCode" = m."IdPost"
|
||||||
|
WHERE w."lexLogin" IS NOT NULL
|
||||||
|
ORDER BY ROW_NUMBER() OVER(
|
||||||
|
PARTITION BY w."lexLogin"
|
||||||
|
ORDER BY COALESCE(m."DateEnd", w."DateEnd", '2070-01-01'::date) DESC, m."VCode" DESC
|
||||||
|
)
|
||||||
|
FETCH FIRST 1 ROWS WITH TIES ) --as "workers"
|
||||||
|
AS wi ON wi."lexLogin" = t."VirtualCUser"
|
||||||
|
LEFT JOIN LATERAL comdoc."getDocRouteCurrentStatus"(t."DocCode", t."DocType") AS rst ON true
|
||||||
|
-- where c."DateContract" BETWEEN _bdate AND _edate
|
||||||
|
|
||||||
|
*/
|
||||||
```
|
```
|
@ -198,13 +198,13 @@
|
|||||||
|
|
||||||
#### Столбец "Рассылка"
|
#### Столбец "Рассылка"
|
||||||
|
|
||||||
Используется в случае, когда необходимо направить документ определенной группе пользователей, которые не участвуют в маршруте. В этом случае настраивается вначале необходимая [группа рассылки](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Группы%20рассылки/). После этого данная группа выбирается из выпадающего списка и указывается статус маршрута при каком статусе выбранной группе будет направлена рассылка.
|
Используется в случае, когда необходимо направить документ определенной группе пользователей, которые не участвуют в маршруте. В этом случае настраивается вначале необходимая [группа рассылки](../Группы рассылки/index.md). После этого данная группа выбирается из выпадающего списка и указывается статус маршрута при каком статусе выбранной группе будет направлена рассылка.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
В данном примере указано что после согласования заявления Макеевым С.П., документ поступит на обработку Елизарьевой Е.А., и одновременно с помощью [списка рассылки](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Обработка%20документов/#список_рассылки) направится пользователям Кузнецовой А.А. и Солодовниковой М.П..
|
В данном примере указано что после согласования заявления Макеевым С.П., документ поступит на обработку Елизарьевой Е.А., и одновременно с помощью [списка рассылки](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Обработка документов/#список_рассылки) направится пользователям Кузнецовой А.А. и Солодовниковой М.П..
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -243,7 +243,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.ListOf.AllChiefs</strong></td>
|
<td><strong>Service.ListOf.AllChiefs</strong></td>
|
||||||
<td>автоматически определяющая руководителя сотрудника из управленческой структуры, <a href="../../Настройка пользователей/Настройка пользователей/">настроек пользователей</a> и по подразделению.</td>
|
<td>автоматически определяющая руководителя сотрудника из управленческой структуры, <a href="../Настройка пользователей/">настроек пользователей</a> и по подразделению.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.ListOf.Chiefs</strong></td>
|
<td><strong>Service.ListOf.Chiefs</strong></td>
|
||||||
@ -263,7 +263,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.ListOf.FunctionalChiefs</strong></td>
|
<td><strong>Service.ListOf.FunctionalChiefs</strong></td>
|
||||||
<td>автоматически определяющая руководителя сотрудника из управленческой структуры и <a href="../../Настройка пользователей/Настройка пользователей/">настроек пользователей</a>.</td>
|
<td>автоматически определяющая руководителя сотрудника из управленческой структуры и <a href="../Настройка пользователей/">настроек пользователей</a>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.ListOf.Recipient</strong></td>
|
<td><strong>Service.ListOf.Recipient</strong></td>
|
||||||
@ -279,11 +279,11 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.ServiceDeskCustomer</strong></td>
|
<td><strong>Service.ServiceDeskCustomer</strong></td>
|
||||||
<td>автоматически определяющая заказчика в заявках в <a href="../../Заявка в техническую поддержку/Заявки в техподдержку/">техническую поддержку.</a></td>
|
<td>автоматически определяющая заказчика в заявках в <a href="../Заявка в техническую поддержку/">техническую поддержку.</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.StaffTrainingChief</strong></td>
|
<td><strong>Service.StaffTrainingChief</strong></td>
|
||||||
<td>автоматически определяющая руководителя сотрудника в заявках на обучение. Данные поставляются из столбца "Руководитель" в <a href="../../УОП/Планирование обучения/Заявки на обучение/Заявки на обучение/">заявке на обучение</a>.</td>
|
<td>автоматически определяющая руководителя сотрудника в заявках на обучение. Данные поставляются из столбца "Руководитель" в <a href="../Заявки на обучение/">заявке на обучение</a>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Service.Worker</strong></td>
|
<td><strong>Service.Worker</strong></td>
|
||||||
@ -421,7 +421,7 @@
|
|||||||
|
|
||||||
### Примеры настраиваемых ограничений
|
### Примеры настраиваемых ограничений
|
||||||
|
|
||||||
#### Пример настраиваемого ограничения для [корректирующего заявления](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Заявления%20от%20сотрудников/#создание_корректирующего_заявления)
|
#### Пример настраиваемого ограничения для [корректирующего заявления](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Заявления от сотрудников/#создание_корректирующего_заявления)
|
||||||
|
|
||||||
`(Head."TypeName" = 'EmployeeStatement' and
|
`(Head."TypeName" = 'EmployeeStatement' and
|
||||||
Head."DocumentSubtype" in (133,134)
|
Head."DocumentSubtype" in (133,134)
|
||||||
@ -429,7 +429,7 @@ Head."DocumentSubtype" in (133,134)
|
|||||||
|
|
||||||
Где 133,134 - VCode подтипов заявлений.
|
Где 133,134 - VCode подтипов заявлений.
|
||||||
|
|
||||||
#### Пример настраиваемых ограничений для поля "Срочность" во [входящем документе](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Входящий%20документ/), [исходящем документе](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Исходящий%20документ/), [служебной записке](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Служебная%20записка/), [организационно-распорядительном документе](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/ОРД/):
|
#### Пример настраиваемых ограничений для поля "Срочность" во [входящем документе](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Входящий документ/), [исходящем документе](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Исходящий документ/), [служебной записке](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Служебная записка/), [организационно-распорядительном документе](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/ОРД/):
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
table {
|
table {
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
search:
|
||||||
|
boost: 2
|
||||||
|
---
|
||||||
# Управление пользователями
|
# Управление пользователями
|
||||||
|
|
||||||
## Общее описание назначения формы
|
## Общее описание назначения формы
|
||||||
|
@ -1,44 +1,260 @@
|
|||||||
|
---
|
||||||
|
search:
|
||||||
|
boost: 2
|
||||||
|
---
|
||||||
# Функции планировщика задач
|
# Функции планировщика задач
|
||||||
|
|
||||||
В системе список задач, выполняемых по расписанию постоянно обновляется .На текущий момент доступны следующие задачи:
|
В системе список задач, выполняемых по расписанию постоянно обновляется. На текущий момент доступны следующие задачи:
|
||||||
|
|
||||||
|
<table border="1">
|
||||||
|
<tr>
|
||||||
|
<th width="200px">Название действия (задача)</th>
|
||||||
|
<th width="width:auto;">Техническое название</th>
|
||||||
|
<th width="width:auto;">Что она делает</th>
|
||||||
|
<th width="200px">Где используется</th>
|
||||||
|
<th width="180px">Рекомендуемая частота выполнения задачи</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Автоматическое обновление статуса обучение</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-staff-training-functions.AutomaticUpdateStudyingCourseStatus</td>
|
||||||
|
<td>Автоматически переводит просроченные <a href="../Программы обучения/">программы обучения</a> по дате обучения в статус "Не пройдено"</td>
|
||||||
|
<td>В процедуре обучения</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Автоматическое создание заявок на обучение</td>
|
||||||
|
<td>Осуществляет автоматическое создание <a href="../Заявки на обучение/">заявки на обучение</a> из <a href="../План обучения/">плана обучения</a>.
|
||||||
|
</td>
|
||||||
|
<td>Автоматическое создание заявки на обучение из плана обучения</td>
|
||||||
|
<td>В процессе планирования обучения</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Автоматическое формирование протоколов обучения</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-staff-training-functions.AutomaticCreateStaffTrainingJournalFromStatistic</td>
|
||||||
|
<td>Автоматически формирует протоколы обучения согласно статистике обучения по сотрудникам</td>
|
||||||
|
<td>В процедуре обучения</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Блокировка учетных записей пользователей, где дата увольнения меньше текущей</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.UserBloking</td>
|
||||||
|
<td>Проставляет признак блокировки у пользователей, если у связанного сотрудника проставлена дата увольнения меньше текущей даты</td>
|
||||||
|
<td>В процедуре блокировки пользователей</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Выгрузка документов из Лексемы в 1С</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.unLoadDocuments</td>
|
||||||
|
<td>Осуществляет автоматическую выгрузку документов из Лексемы в 1С перечисленные на вкладке <a href="../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Исходящие документы/">Исходящие документы</td>
|
||||||
|
<td>В процедуре автоматической выгрузки данных в 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Выпуск новых сертификатов, когда истекают сроки</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.createCloudCertificateExpiring</td>
|
||||||
|
<td>Осуществляет автоматическую заявку на выпуск <a href="../Выпуск ОНЭП/#Заявки-на-выпуск-ЭП"> сертификата</a> пользователям у которых закончился срок действия сертификата электронной подписи. В настройках учетной политики должна быть включена константа <b>"ЭЦП_количество_дней_за_сколько_отправтить_заявку_на_перевыпуск"</b>, где указывается значение количества дней по которому нужно проверять сертификаты. Если текущая дата меньше даты окончания действующего ЭП либо равна константе - то создается заявка на перевыпуск. Сертификаты создаются по всем филиалам организаций, на которых истекает срок действия. Также с помощью <a href="../Настройка констант/#система_электронного_и_кадрового_документооборота">константы</a> "количество_перевыпускаемых_сертификатов_ЭП_за_раз" возможно задать количество сертификатов которые будут выпущены за раз.</td>
|
||||||
|
<td>В процедуре выпуска сертификатов пользователям</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Выпуск сертификатов новым сотрудникам</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.NewUsersCloudCertificateCreate</td>
|
||||||
|
<td>Осуществляет автоматический выпуск сертификатов электронной подписи новым принятым сотрудникам. Функция работает по следующему принципу: в случае если используется положение о КЭДО, то кандидаты подбираются если текущая дата больше либо равна дата перехода на КЭДО и есть логин в системе. В случае если положение о КЭДО не используется то по наличию логина в системе у сотрудника.</td>
|
||||||
|
<td>В процедуре выпуска сертификатов пользователям</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Добавление в список рассылки ЛНА с признаком "Ознакомлен ранее"</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.InsertReadListLNDReadEarlier</td>
|
||||||
|
<td>В список рассылки автоматически добавляются сотрудники, которые подписали ознакомление с ЛНА на бумажном носителе при приеме на работу</td>
|
||||||
|
<td>В процедуре создания ЛНА</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Договора в статусе черновик (не отправленные по маршруту)</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.sendingContractNotificationsExpired</td>
|
||||||
|
<td>Удаляет договора, которым не назначен маршрут. На следующий день после создания договора. Все договора, которые остались без маршрута будут удалены</td>
|
||||||
|
<td>В процедуре удаления договоров, которым не назначен маршрут</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка в Лексему документов на подписание из файлов (расчетные листы)</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.loadDocumentForSigningFromFile</td>
|
||||||
|
<td>Осуществляет автоматическую загрузку файлов в Лексему из сетевого хранилища</td>
|
||||||
|
<td>В процедуре автоматической загрузки данных из 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка в Лексему из 1С документов</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.loadDocumentForm</td>
|
||||||
|
<td>Осуществляет автоматическую загрузку физических документов из 1С в Лексему перечисленные на вкладке <a href="../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Входящие документы/">"Входящие документы"</a> с типом "Документ в Лексеме"</td>
|
||||||
|
<td>В процедуре автоматической загрузки данных из 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка в Лексему из 1С произвольных выборок</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.loadFreeQuery</td>
|
||||||
|
<td>Осуществляет автоматическую загрузку сущностей, не относящих к справочникам и документам, в произвольном виде в физическую таблицу СЭД. Например, управленческую структуру.</td>
|
||||||
|
<td>В процедуре автоматической выгрузки произвольных выборок из 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка из 1С в Лексему документов на подписание</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.loadDocumentForSigningFromFile</td>
|
||||||
|
<td>Осуществляет автоматическую загрузку документов на подписание из 1С в Лексему <a href="../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Входящие документы/">"Входящие документы"</a> с типом "Документ в Лексеме". Также создает документы на подписание в документообороте</td>
|
||||||
|
<td>В процедуре автоматической загрузки данных из 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка из 1С физ.лиц</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.loadDocumentForm</td>
|
||||||
|
<td>Осуществляет автоматическую загрузку физических лиц из 1С</td>
|
||||||
|
<td>В процедуре автоматической загрузки физических лиц из 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка пользователей из Active Directory в форму для сопоставления</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.loadADUsers</td>
|
||||||
|
<td>Автоматически добавляет и сопоставляет доменные учетные записи из Active Directory со справочником физических лиц</td>
|
||||||
|
<td>В процедуре создания нового пользователя. Если в системе Active Directory были изменения в данных пользователей, таких как ФИО или адрес электронной почты, то обновленная информация используется для обновления соответствующих таблиц.</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Загрузка справочников (должности,подразделения,физ.лица и сотрудники)</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.loadDictionary</td>
|
||||||
|
<td>Осуществляет автоматическую загрузку справочников из 1С. Будут загружаться только те справочники, у которых в настройке стоит галка в поле "Загружать в пакете справочников" (должности,подразделения, ... физические лица при небольшом объеме можно загружать здесь же)</td>
|
||||||
|
<td>В процедуре автоматической загрузки данных из 1С</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Напоминание о входе в систему неактивированным пользователям</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.SendAuthEmail</td>
|
||||||
|
<td>Создает в системе информационное письмо, с помощью которого рассылается напоминание пользователям о входе в систему, которые не сделали этого ранее (в настройках учетной политики должна быть настроена константа "УпрП_напоминание_о_созданной_УЗ" со значением 1). Также задача направляет уведомление пользователям, которые дали согласие на кадровый электронный документооборот, но также не зарегистрировались в системе (в настройках учетной политики должна быть настроена константа "ПереходНаКЭДО_НапоминаниеОбОригинале" со значением 1).</td>
|
||||||
|
<td>В процедуре активации учетной записи пользователями</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Напоминание о необходимости сдачи заявления на сертификат в отдел кадров</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.SendSertificationEmail</td>
|
||||||
|
<td>Осуществляет автоматическую отправку письма пользователю, у которого был выпущен сертификат НЭП, но не были сданы оригиналы документов "Заявление на выдачу сертификата" и "Расписка в получении сертификата ключа проверки электронной подписи".</td>
|
||||||
|
<td>В процедуре автоматической отправки писем</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Отзыв сертификатов при изменении должности</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.revokeCertificate</td>
|
||||||
|
<td>Создает документ "Отзыв сертификата" при смене должности сотрудника. Проверяет должность в сертификате и текущую должность сотрудника на предприятии.</td>
|
||||||
|
<td>В процессе смены должности сотрудником</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Проверка документов Лексемы на удаление в 1С</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-odata-functions.unLoadDictionaryMaterials</td>
|
||||||
|
<td>У заявлений проставляется признак "Удалено" у тех документов, которые были удалены в 1С. Также этот признак отображается в реестре обмена с 1С.</td>
|
||||||
|
<td>В процедуре автоматической загрузки данных из 1С</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Просроченные документы</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.sendingNotificationsExpired</td>
|
||||||
|
<td>Рассылает пользователям информацию о просроченных документах (нарушения сроков обработки).</td>
|
||||||
|
<td>В процедуре рассылки просроченных документов</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Рассылка документов на этапе инициирования</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.sendingNotificationsFirstStage</td>
|
||||||
|
<td>Осуществляет автоматическую отправку письма инициатору, в случае если он создал документ, но не запустил документ по маршруту.</td>
|
||||||
|
<td>В процедуре автоматической отправки писем</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Рассылка просроченных документов руководителям</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.sendingNotificationsExpiredChief</td>
|
||||||
|
<td>Создает автоматическую рассылку руководителю подразделения со списком подчиненных, у которых есть задолженности, с указанием количества просроченных документов и типов документов.</td>
|
||||||
|
<td>В процедуре автоматической рассылки просроченных документов руководителям</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Рассылка сводки по просроченным документам их инициаторам</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationsExpiredSummaryToInitiator</td>
|
||||||
|
<td>Оповещения направляются инициатору с информацией по документам, действия по которым просрочил любой из маршрута.</td>
|
||||||
|
<td>В процедуре автоматической отправки писем</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Рассылка уведомлений об ознакомлении ЛНА</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.longQuery</td>
|
||||||
|
<td>В список рассылки автоматически добавляются вновь принятые сотрудники, которые работают в подразделения, на которые распространяется действие ЛНА. Также из списка рассылки автоматически удаляются уволенные сотрудники, которые не успели ознакомиться с данным ЛНА.</td>
|
||||||
|
<td>В процедуре автоматической отправки писем</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Снятие с ознакомления ЛНА с истёкшим сроком действия</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.ClearReadListOfExpiredLND</td>
|
||||||
|
<td>Отменяет факт отправки ЛНА на ознакомление пользователям, которые не ознакомились с ЛНА до истечения его срока действия. В списках рассылки таких ЛНА останутся только пользователи, которые ознакомились с ним до выполнения задачи.</td>
|
||||||
|
<td>В процедуре рассылки ЛНА</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Создание новых пользователей</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.createNewUsers</td>
|
||||||
|
<td>Создает новых пользователей, осуществляет их привязку к организации, формирует документы "настройка пользователей" на основании данных справочников "Физическое лицо" и "Сотрудник", а также данных, загруженных из Active Directory, при необходимости. Примечание: У физического лица должно быть заполнено поле "Адрес эл/почты".</td>
|
||||||
|
<td>В процедуре создания новых пользователей</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Уведомления Lexema</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationLexema</td>
|
||||||
|
<td>Создает уведомления в системе, с помощью которых можно посылать по СЭД сообщения пользователям. Все уведомления будут находиться в окне "На обработку" как напоминание.</td>
|
||||||
|
<td>В процедуре уведомления в системе</td>
|
||||||
|
<td>Ежеминутно</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Уведомления о приближающейся просрочке документов</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationsProcessing</td>
|
||||||
|
<td>Создает в системе информационное письмо, с помощью которого пользователям направляется уведомление о необходимости обработки документов СЭД согласно срокам. Необходима настройка константы "Предупреждать об окончании норматива согласования за (дней)".</td>
|
||||||
|
<td>В процедуре уведомления в системе</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Уведомления о приближающейся просрочке документов через СМС</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationsSMS</td>
|
||||||
|
<td>Пользователям направляется уведомление о необходимости обработки документов СЭД согласно срокам, а также о просроченных документов через SMS.</td>
|
||||||
|
<td>В процедуре уведомления в системе</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Уведомления об окончании срока доверенностей</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.SendingEmpowermentNotificationExpired</td>
|
||||||
|
<td>Автоматически рассылает уведомления об окончании срока действия доверенности.</td>
|
||||||
|
<td>В процедуре рассылки</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Установка даты перехода на КЭДО принятым сотрудникам</th>
|
||||||
|
<th>Техническое название</th>
|
||||||
|
<th>Что она делает</th>
|
||||||
|
<th>Где используется</th>
|
||||||
|
<th>Рекомендуемая частота выполнения задачи</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ecosoft-lexema8-scheduler-admin-console-functions.UpdateWorkerDateEDM</td>
|
||||||
|
<td>Осуществляет автоматическое проставление вновь принятым сотрудникам даты перехода на кадровый электронный документооборот. Система проверяет на текущий день всех новых сотрудников, у которых присутствует логин, но отсутствует дата перехода на КЭДО. В настройках учетной политики должна быть настроена константа "Дата_принятия_положения_КЭДО" с заполненной датой в формате дд.мм.гггг (например 09.09.2022). По указанной дате система определяет сотрудников, у которых дата приема позже, чем дата из константы, и по таким сотрудникам устанавливает дату перехода на КЭДО, равную дате приема.</td>
|
||||||
|
<td>В процедуре автоматического проставления даты перехода на КЭДО</td>
|
||||||
|
<td>Один раз в день</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Формирование недостающих отчетов со штампом электронной подписи</td>
|
||||||
|
<td>ecosoft-lexema8-scheduler-formation-mailing-list.loadWaterMarkReport</td>
|
||||||
|
<td>Формирует автоматическое вложение отчета со штампом электронной подписи во вложении к заявлению, в случае если это не было сделано ранее по завершению маршрута заявления.</td>
|
||||||
|
<td>В процедуре укомплектования документов</td>
|
||||||
|
<td>Один раз в час</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
Название действия (задача) | Техническое название | Что она делает | Где используется
|
|
||||||
-----------------------------|--------------------------|--------------------|---------------------
|
|
||||||
Автоматическое обновление статуса обучение | ecosoft-lexema8-scheduler-staff-training-functions.AutomaticUpdateStudyingCourseStatus | Автоматически переводит просроченные [программы обучения](../Программы обучения/) по дате обучения в статус «Не пройдено» | В процедуре обучения
|
|
||||||
Автоматическое создание заявок на обучение | - | Автоматическое создание [заявки на обучение](../Заявки на обучение/) из [плана обучения](../План обучения/) | В процессе планирования обучения
|
|
||||||
Автоматическое формирование протоколов обучения | eecosoft-lexema8-scheduler-staff-training-functions.AutomaticCreateStaffTrainingJournalFromStatistic | Автоматически формирует протоколы обучения согласно статистике обучения по сотрудникам | В процедуре обучения
|
|
||||||
Блокировка учетных записей пользователей, где дата увольнения меньше текущей | ecosoft-lexema8-scheduler-admin-console-functions.UserBloking | Проставляет признак блокировки у пользователей, если у связанного сотрудника проставлена дата увольнения меньше текущей даты | В процедуре блокировки пользователей
|
|
||||||
Выгрузка документов из Лексемы в 1С | ecosoft-lexema8-scheduler-odata-functions.unLoadDocuments | Осуществляет автоматическую выгрузку документов из Лексемы в 1С (перечисленные на вкладке ["Исходящие документы"](../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Исходящие документы/) | В процедуре автоматической выгрузки данных в 1С
|
|
||||||
Выпуск новых сертификатов, когда истекают сроки | ecosoft-lexema8-scheduler-admin-console-functions.createCloudCertificateExpiring | Осуществляет автоматическую [заявку на выпуск сертификата](../Выпуск ОНЭП/#Заявки-на-выпуск-ЭП) пользователям у которых закончился срок действия сертификата электронной подписи. В настройках учетной политики должна быть включена константа **ЭЦП_количество_дней_за_сколько_отправтить_заявку_на_перевыпуск**, где указывается значение количества дней по которому нужно проверять сертификаты. Если текущая дата меньше даты окончания действующего ЭП либо равна константе - то создается заявка на перевыпуск. Сертификаты создаются по всем филиалам организаций, на которых истекает срок действия. Также с помощью [константы](../Настройка%20констант/index.md) **количество_перевыпускаемых_сертификатов_ЭП_за_раз** возможно задать количество сертификатов которые будут выпущены за раз. | В процедуре выпуска сертификатов пользователям
|
|
||||||
Выпуск сертификатов новым сотрудникам | ecosoft-lexema8-scheduler-admin-console-functions.NewUsersCloudCertificateCreate | Осуществляет автоматический выпуск сертификатов электронной подписи новым принятым сотрудникам. Функция работает по следующему принципу: в случае если используется положение о КЭДО, то кандидаты подбираются если текущая дата больше либо равна дата перехода на КЭДО и есть логин в системе. В случае если положение о КЭДО не используется то по наличию логина в системе у сотрудника. | В процедуре выпуска сертификатов пользователям
|
|
||||||
Добавление в список рассылки ЛНА с признаком "Ознакомлен ранее" | ecosoft-lexema8-scheduler-formation-mailing-list.InsertReadListLNDReadEarlier | В [список рассылки](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Обработка%20документов/#список_рассылки) автоматически добавляются сотрудники, которые подписали ознакомление с ЛНА на [бумажном носителе при приеме на работу](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Локально-нормативные%20документы/#вкладка_распространяется_на) | В процедуре создания ЛНА
|
|
||||||
Договора в статусе черновик (не отправленные по маршруту) | ecosoft-lexema8-scheduler-formation-mailing-list.sendingContractNotificationsExpired | Удаляет договора, которым не назначен маршрут. На следующий день после создания договора. Все договора, которые остались без маршрута будут удалены | В процедуре удаления договоров, которым не назначен маршрут
|
|
||||||
Загрузка в Лексему документов на подписание из файлов (расчетные листы) | ecosoft-lexema8-scheduler-odata-functions.loadDocumentForSigningFromFile | Осуществляет автоматическую загрузку файлов в Лексему из сетевого хранилища | В процедуре автоматической загрузки данных из 1С
|
|
||||||
Загрузка в Лексему из 1С документов | ecosoft-lexema8-scheduler-odata-functions.loadDocumentForm | Осуществляет автоматическую загрузку физических документов из 1С в Лексему (перечисленные на вкладке ["Входящие документы"](../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Входящие документы/) с типом *"Документ в Лексеме"*) | В процедуре автоматической загрузки данных из 1С
|
|
||||||
Загрузка в Лексему из 1С произвольных выборок | ecosoft-lexema8-scheduler-odata-functions.loadFreeQuery | Осуществляет автоматическую загрузку сущностей, не относящих к справочникам и документам, в произвольном виде в физическую таблицу СЭД. Например, управленческую структуру. Подробнее ознакомиться можно в разделе [Произвольные выборки](../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Произвольные выборки/) | В процедуре автоматической выгрузки произвольных выборок из 1С
|
|
||||||
Загрузка из 1С в Лексему документов на подписание | ecosoft-lexema8-scheduler-odata-functions.loadDocumentForSigningFromFile | Осуществляет автоматическую загрузку документов на подписание из 1С в Лексему (перечисленные на вкладке ["Входящие документы"](../Настройка для интеграции с 1С/Настройка интеграции справочников и документов/Вкладка Входящие документы/) с типом *"Подтип документа на подписание"*).. Так же создает документы на подписание в документообороте | В процедуре автоматической загрузки данных из 1С
|
|
||||||
Загрузка из 1С физ.лиц | ecosoft-lexema8-scheduler-odata-functions.loadDocumentForm | Осуществляет автоматическую загрузку физических лиц из 1С | В процедуре автоматической загрузки физических лиц из 1С
|
|
||||||
Загрузка пользователей из Active Directory в форму для сопоставления | ecosoft-lexema8-scheduler-admin-console-functions.loadADUsers | Автоматически добавляет и сопоставляет доменные учетные записи из Active Directory со справочником физических лиц | В процедуре создания нового пользователя. Если в системе Active Directory были изменения в данных пользователей, таких как ФИО или адрес электронной почты, то обновленная информация используется для обновления соответствующих таблиц.
|
|
||||||
Загрузка справочников (должности,подразделения,физ.лица и сотрудники) | ecosoft-lexema8-scheduler-odata-functions.loadDictionary | Осуществляет автоматическую загрузку справочников из 1С. Будут загружаться только те справочники, у которых в настройке стоит галка в поле "Загружать в пакете справочников" (должности,подразделения, ... физические лица при небольшом объеме можно загружать здесь же) | В процедуре автоматической загрузки данных из 1С
|
|
||||||
Напоминание о входе в систему неактивированным пользователям | ecosoft-lexema8-scheduler-admin-console-functions.SendAuthEmail | Создает в системе информационное письмо, с помощью которого рассылается напоминание пользователям о входе в систему, которые не сделали этого ранее в настройках учетной политики должна быть настроена константа **УпрП_напоминание_о_созданной_УЗ** со значением 1). Также задача направляет уведомление пользователям которые дали согласие на кадровый электронный документооборот, но также не зарегистрировались в системе (в настройках учетной политики должна быть настроена константа **ПереходНаКЭДО_НапоминаниеОбОригинале** со значением 1) | В процедуре активации учетной записи пользователями
|
|
||||||
Напоминание о необходимости сдачи заявления на сертификат в отдел кадров | ecosoft-lexema8-scheduler-admin-console-functions.SendSertificationEmail | Осуществляет автоматическую отправку письма пользователю, у которого был выпущен сертификат НЭП, но не были сданы оригиналы документов **Заявление на выдачу сертификата** и **Расписка в получении сертификата ключа проверки электронной подписи**. | В процедуре автоматической отправки писем
|
|
||||||
Отзыв сертификатов при изменении должности | ecosoft-lexema8-scheduler-admin-console-functions.revokeCertificate | Cоздает документ "Отзыв сертификата" при смене должности сотрудника. Проверяет должность в сертификате и текущую должность сотрудника на предприятии | В процессе смены должности сотрудником
|
|
||||||
Проверка документов Лексемы на удаление в 1С | ecosoft-lexema8-scheduler-odata-functions.unLoadDictionaryMaterials | У заявлений проставляется признак "Удалено" у тех документов, которые были удалены в 1С. Также этот признак отображается в реестре обмена с 1С | В процедуре автоматической загрузки данных из 1С
|
|
||||||
Просроченные документы | ecosoft-lexema8-scheduler-formation-mailing-list.sendingNotificationsExpired | Рассылает пользователям информацию о просроченных документах (нарушения сроков обработки) | В процедуре рассылки просроченных документов
|
|
||||||
Рассылка документов на этапе инициирования | ecosoft-lexema8-scheduler-formation-mailing-list.sendingNotificationsFirstStage | Осуществляет автоматическую отправку письма инициатору, в случае если он создал документ, но не запустил документ по маршруту | В процедуре автоматической отправки писем
|
|
||||||
Рассылка просроченных документов руководителям | ecosoft-lexema8-scheduler-formation-mailing-list.sendingNotificationsExpiredChief | Создает автоматическую рассылку руководителю подразделения со списком подчиненных у которых есть задолженности, с указанием количества просроченных документов и типов документов | В процедуре автоматической рассылки просроченных документов руководителям
|
|
||||||
Рассылка сводки по просроченным документам их инициаторам | ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationsExpiredSummaryToInitiator | Оповещения направляются инициатору с информацией по документам, действия по которым просрочил любой из маршрута | В процедуре автоматической отправки писем
|
|
||||||
Рассылка уведомлений об ознакомлении ЛНА | ecosoft-lexema8-scheduler-formation-mailing-list.longQuery | В [список рассылки](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Обработка%20документов/#список_рассылки) автоматически добавляются вновь принятые сотрудники, которые работают в подразделения на которые [распространяется действие ЛНА](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Локально-нормативные%20документы/#вкладка_распространяется_на). Также из списка рассылки автоматически удаляются уволенные сотрудники, которые не успели ознакомиться с данным ЛНА | В процедуре автоматической отправки писем
|
|
||||||
Снятие с ознакомления ЛНА с истёкшим сроком действия | ecosoft-lexema8-scheduler-formation-mailing-list.ClearReadListOfExpiredLND | Отменяет факт отправки ЛНА на ознакомление пользователям, которые не ознакомились с ЛНА до истечения его срока действия. В списках рассылки таких ЛНА останутся только пользователи, которые ознакомились с ним до выполнения задачи | В процедуре рассылки ЛНА
|
|
||||||
Создание новых пользователей | ecosoft-lexema8-scheduler-admin-console-functions.createNewUsers | Создает новых пользователей, осуществляет их привязку к организации, формирует документы "настройка пользователей" на основании данных справочников "Физическое лицо" и "Сотрудник", а также данных, загруженных из Active Directory, при необходимости. Примечание: У физического лица должно быть заполнено поле "Адрес эл/почты" | В процедуре создания новых пользователей
|
|
||||||
Уведомления Lexema | ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationLexema | Создает уведомления в системе, с помощью которых можно посылать по СЭД сообщения пользователям. Все уведомления будут находиться в окне "На обработку" как напоминание | В процедуре уведомления в системе
|
|
||||||
Уведомления о приближающейся просрочке документов | ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationsProcessing | Создает в системе информационное письмо, с помощью которого пользователям направляется уведомление о необходимости обработки документов СЭД согласно срокам. Необходимо настройка константы [**"Предупреждать об окончании норматива согласования за (дней)"**](../Настройка констант/) | В процедуре уведомления в системе
|
|
||||||
Уведомления о приближающейся просрочке документов через СМС | ecosoft-lexema8-scheduler-formation-mailing-list.SendingNotificationsSMS | Пользователям направляется уведомление о необходимости обработки документов СЭД согласно срокам, а также о просроченных документов через SMS | В процедуре уведомления в системе
|
|
||||||
Уведомления об окончании срока доверенностей | ecosoft-lexema8-scheduler-formation-mailing-list.SendingEmpowermentNotificationExpired | Автоматичеси рассылает уведомления об окончании срока действия доверенности | В процедуре рассылки
|
|
||||||
Установка даты перехода на КЭДО принятым сотрудникам | ecosoft-lexema8-scheduler-admin-console-functions.UpdateWorkerDateEDM | Осуществляет автоматическое проставление вновь принятым сотрудникам даты перехода на кадровый электронный документооборот. Система проверяет на текущий день всех новых сотрудников, у которых присутствует логин, но отсутствует дата перехода на КЭДО. В настройках учетной политики должна быть настроена константа **Дата_принятия_положения_КЭДО** с заполненой датой в формате дд.мм.гггг (например 09.09.2022). По указанной дате система определяет сотрудников,у которых дата приема позже, чем дата из константы, и по таким сотрудникам устанавливает дату перехода на КЭДО, равную дате приема | В процедуре автоматического проставления даты перехода на КЭДО
|
|
||||||
Формирование недостающих отчетов со штампом электронной подписи | ecosoft-lexema8-scheduler-formation-mailing-list.loadWaterMarkReport | Формирует автоматическое вложение отчета со штампом электронной подписи во вложении к заявлению, в случае если это не было сделано ранее по завершению маршрута заявления | В процедуре укомплектования документов
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**Способы и примеры настройки расписания задаются в формате crontab**
|
**Способы и примеры настройки расписания задаются в формате crontab**
|
||||||
Ознакомиться подробнее можно в разделе [Создание расписания в формате Crontab](../FAQ/#использование_crontab_для_сервиса_sheduler)
|
Ознакомиться подробнее можно в разделе [Создание расписания в формате Crontab](../FAQ/#использование_crontab_для_сервиса_sheduler)
|
107
docs/SUMMARY.md
@ -1,57 +1,57 @@
|
|||||||
- Администрирование электронного документооборота
|
- Администрирование электронного документооборота
|
||||||
- [Администрирование СЭД](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Администрирование СЭД/)
|
- [Настройка своей организации](Admin manuals/Управление компаниями/)
|
||||||
- [Валюта](Admin manuals/Валюта/)
|
|
||||||
- [Группы рассылки](Admin manuals/Группы рассылки/)
|
|
||||||
- [Журнал регистрации и нумерация](Admin manuals/Журнал регистрации/)
|
|
||||||
- [Импорт данных из Excel-файлов](Admin manuals/Импорт данных из Excel-файлов/)
|
|
||||||
- [Исключение из группы рассылки](Admin manuals/Исключения из рассылки/)
|
|
||||||
- [Конструктор документов](Admin manuals/Конструктор документов/)
|
|
||||||
- [Мобильное приложение](Admin manuals/Мобильное приложение/)
|
|
||||||
- [Настройка архива](Admin manuals/Настройка архива/)
|
|
||||||
- [Настройка документов, участвующих в документообороте](Admin manuals/Настройка документов/)
|
- [Настройка документов, участвующих в документообороте](Admin manuals/Настройка документов/)
|
||||||
- [Настройка запрещающих правил для создания документов](Admin manuals/Настройка запрещающих правил/)
|
- [Журнал регистрации и нумерация](Admin manuals/Журнал регистрации/)
|
||||||
|
- [Настройка архива](Admin manuals/Настройка архива/)
|
||||||
|
- [Типы вложений](Admin manuals/Типы вложений/)
|
||||||
- [Настройка обозревателя аналитик](Admin manuals/Настройка ОА/)
|
- [Настройка обозревателя аналитик](Admin manuals/Настройка ОА/)
|
||||||
|
- [Подтипы документов](Admin manuals/Подтипы документов/)
|
||||||
|
- [Конструктор документов](Admin manuals/Конструктор документов/)
|
||||||
|
- [Пользовательские типы атрибутов документов](Admin manuals/Пользовательские типы атрибутов документов/)
|
||||||
|
- [Настройка шаблонов маршрутов](Admin manuals/Настройка шаблонов маршрутов/)
|
||||||
- [Настройка правил поиска для ЖСД](Admin manuals/Настройка правил поиска для ЖСД/)
|
- [Настройка правил поиска для ЖСД](Admin manuals/Настройка правил поиска для ЖСД/)
|
||||||
- [Настройка правил поиска для истории операций](Admin manuals/Настройка правил поиска для истории операций/)
|
- [Настройка правил поиска для истории операций](Admin manuals/Настройка правил поиска для истории операций/)
|
||||||
- [Настройка своей организации](Admin manuals/Управление компаниями/)
|
- [Администрирование СЭД](Admin manuals/Администрирование СЭД/)
|
||||||
|
- [Настройка мобильного приложения](Admin manuals/Мобильное приложение/)
|
||||||
|
- [Группы рассылки](Admin manuals/Группы рассылки/)
|
||||||
|
- [Настройка пунктов плиточного меню](Admin manuals/Настройка плиточного меню/)
|
||||||
|
- [Импорт данных из Excel-файлов](Admin manuals/Импорт данных из Excel-файлов/)
|
||||||
|
- [Исключение из группы рассылки](Admin manuals/Исключения из рассылки/)
|
||||||
|
- [Настройка запрещающих правил для создания документов](Admin manuals/Настройка запрещающих правил/)
|
||||||
- [Настройки сообщений в окне Документооборот](Admin manuals/Настройки сообщений в окне Документооборот/)
|
- [Настройки сообщений в окне Документооборот](Admin manuals/Настройки сообщений в окне Документооборот/)
|
||||||
- [Настройка шаблонов маршрутов](Admin manuals/Настройка шаблонов маршрутов/)
|
- [Валюта](Admin manuals/Валюта/)
|
||||||
- [Подтипы документов](Admin manuals/Подтипы документов/)
|
|
||||||
- [Пользовательские типы атрибутов документов](Admin manuals/Пользовательские типы атрибутов документов/)
|
|
||||||
- [Ставки НДС](Admin manuals/Ставки НДС/)
|
- [Ставки НДС](Admin manuals/Ставки НДС/)
|
||||||
- [Типы вложений](Admin manuals/Типы вложений/)
|
|
||||||
- [Условия для проверки контрагента](Admin manuals/Условия для проверки контрагентов/)
|
- [Условия для проверки контрагента](Admin manuals/Условия для проверки контрагентов/)
|
||||||
- Управление пользователями
|
|
||||||
- [Автоматическое создание пользователей](Admin manuals/Автоматическое создание пользователей/)
|
|
||||||
- [Виды авторизации пользователей](Admin manuals/Авторизация/)
|
|
||||||
- [Настройка пользователей](Admin manuals/Настройка пользователей/)
|
|
||||||
- [Настройка служебных пользователей](Admin manuals/Настройка служебных пользователей/)
|
|
||||||
- [Роли системы](Admin manuals/Бизнес-роли.md)
|
|
||||||
- [Создание сотрудника с сайта регистрации](Admin manuals/Создание сотрудника с сайта регистрации/)
|
|
||||||
- [Технические роли](Admin manuals/Технические роли.md)
|
|
||||||
- [Управление пользователями](Admin manuals/Управление пользователями/)
|
|
||||||
- Работа с электронными подписями
|
|
||||||
- [Виды электронных подписей](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/ЭП/)
|
|
||||||
- [Выпуск корневого сертификата](Admin manuals/Организация выпуска корневого сертификата/)
|
|
||||||
- [Выпуск облачной неквалифицированной электронной подписи в Lexema-ECM](Admin manuals/Выпуск ОНЭП/)
|
|
||||||
- [Как настроить работу с КЭП на токенах?](Admin manuals/Настройка для токенов КЭП/)
|
|
||||||
- [Настройка массового подписания](Admin manuals/Настройка для массового подписания/)
|
|
||||||
- [Настройка ЭП для документов СЭД](Admin manuals/Настройка ЭП для документов СЭД/)
|
|
||||||
- [Отзыв сертификата электронной подписи](Admin manuals/Отзыв ЭП/)
|
|
||||||
- Техническая поддержка проектов
|
|
||||||
- [Заявки в техническую поддержку](Admin manuals/Заявка в техническую поддержку/)
|
- [Заявки в техническую поддержку](Admin manuals/Заявка в техническую поддержку/)
|
||||||
- [Типы заявок в техническую поддержку](Admin manuals/Типы заявок в техподдержку/)
|
- [Типы заявок в техническую поддержку](Admin manuals/Типы заявок в техподдержку/)
|
||||||
|
- [Самостоятельное проведение тестирования сайта](Admin manuals/Проведение тестирование сайта/)
|
||||||
|
- Управление пользователями
|
||||||
|
- [Автоматическое создание пользователей](Admin manuals/Автоматическое создание пользователей/)
|
||||||
|
- [Создание сотрудника с сайта саморегистрации](Admin manuals/Создание сотрудника с сайта регистрации/)
|
||||||
|
- [Управление пользователями](Admin manuals/Управление пользователями/)
|
||||||
|
- [Настройка пользователей](Admin manuals/Настройка пользователей/)
|
||||||
|
- [Роли системы](Admin manuals/Бизнес-роли.md)
|
||||||
|
- [Технические роли](Admin manuals/Технические роли.md)
|
||||||
|
- [Настройка служебных пользователей](Admin manuals/Настройка служебных пользователей/)
|
||||||
|
- [Виды авторизации пользователей](Admin manuals/Авторизация/)
|
||||||
|
- Работа с электронными подписями
|
||||||
|
- [Виды электронных подписей](Admin manuals/Виды электронных подписей/)
|
||||||
|
- [Настройка ЭП для документов СЭД](Admin manuals/Настройка ЭП для документов СЭД/)
|
||||||
|
- [Выпуск облачной неквалифицированной электронной подписи в Lexema-ECM](Admin manuals/Выпуск ОНЭП/)
|
||||||
|
- [Выпуск корневого сертификата](Admin manuals/Организация выпуска корневого сертификата/)
|
||||||
|
- [Как настроить работу с КЭП на токенах?](Admin manuals/Настройка для токенов КЭП/)
|
||||||
|
- [Настройка массового подписания](Admin manuals/Настройка для массового подписания/)
|
||||||
|
- [Отзыв сертификата электронной подписи](Admin manuals/Отзыв ЭП/)
|
||||||
- Работа с уведомлениями
|
- Работа с уведомлениями
|
||||||
- [Конструктор уведомлений](Admin manuals/Конструктор уведомлений/)
|
- [Рассылки системы](Admin manuals/Рассылки системы/)
|
||||||
- [Настройка внутрисистемных уведомлений](Admin manuals/Настройка внутрисистемных уведомлений/)
|
- [Настройка внутрисистемных уведомлений](Admin manuals/Настройка внутрисистемных уведомлений/)
|
||||||
|
- [Конструктор уведомлений](Admin manuals/Конструктор уведомлений/)
|
||||||
|
- [Создание задачи в планировщике задач](Admin manuals/Планировщик задач/)
|
||||||
|
- [Функции планировщика задач](Admin manuals/Функции планировщика задач/)
|
||||||
- [Настройка констант](Admin manuals/Настройка констант/)
|
- [Настройка констант](Admin manuals/Настройка констант/)
|
||||||
- [Настройка интеграции сервиса Telegram](Admin manuals/Настройка телеграм/)
|
- [Настройка интеграции сервиса Telegram](Admin manuals/Настройка телеграм/)
|
||||||
- [Настройка оповещений об окончании сроков действия лицензий](Admin manuals/Настройка оповещений об окончании лицензии/)
|
- [Настройка оповещений об окончании сроков действия лицензий](Admin manuals/Настройка оповещений об окончании лицензии/)
|
||||||
- [Настройка пунктов плиточного меню](Admin manuals/Настройка плиточного меню/)
|
|
||||||
- [Настройка рассылки уведомлений](Admin manuals/Настройки рассылки уведомлений/)
|
- [Настройка рассылки уведомлений](Admin manuals/Настройки рассылки уведомлений/)
|
||||||
- [Рассылки системы](Admin manuals/Рассылки системы/)
|
|
||||||
- [Создание задачи в планировщике задач](Admin manuals/Планировщик задач/)
|
|
||||||
- [Функции планировщика задач](Admin manuals/Функции планировщика задач/)
|
|
||||||
- Настройка для интеграции с 1С
|
- Настройка для интеграции с 1С
|
||||||
- [Настройка интеграции справочников и документов](Admin manuals/Настройка для интеграции с 1С/Настройка интеграции справочников и документов/)
|
- [Настройка интеграции справочников и документов](Admin manuals/Настройка для интеграции с 1С/Настройка интеграции справочников и документов/)
|
||||||
- [Настройка обмена данных с 1С](Admin manuals/Настройка для интеграции с 1С/Обмен данными с 1С/)
|
- [Настройка обмена данных с 1С](Admin manuals/Настройка для интеграции с 1С/Обмен данными с 1С/)
|
||||||
@ -61,26 +61,27 @@
|
|||||||
- [Описание протокола обмена](Admin manuals/Настройка для интеграции с 1С/Описание протокола обмена/Описание протокола обмена.md)
|
- [Описание протокола обмена](Admin manuals/Настройка для интеграции с 1С/Описание протокола обмена/Описание протокола обмена.md)
|
||||||
- Администрирование системы обучения персонала
|
- Администрирование системы обучения персонала
|
||||||
- [Вид обучения](Admin manuals/Вид обучения/)
|
- [Вид обучения](Admin manuals/Вид обучения/)
|
||||||
- [Группы обучения](Admin manuals/Группы обучения/)
|
- [Ресурс обучения](Admin manuals/Ресурс обучения/)
|
||||||
- [Группа обучения аналитическая форма](Admin manuals/Группа обучения аналитическая/)
|
- [Формат обучения](Admin manuals/Формат обучения/)
|
||||||
- [Доступные программы в организации](Admin manuals/Доступные программы в организации/)
|
|
||||||
- [Действие обученности при смене работодателя](Admin manuals/Действие обученности при смене работодателя/)
|
- [Действие обученности при смене работодателя](Admin manuals/Действие обученности при смене работодателя/)
|
||||||
- [Заявки на обучение](Admin manuals/Заявки на обучение/)
|
|
||||||
- [Журнал протоколов обучения](Admin manuals/Журнал протоколов обучения/)
|
|
||||||
- [Комплекс программ обучения](Admin manuals/Комплекс программ обучения/)
|
|
||||||
- [Конструктор программ обучения](Admin manuals/Конструктор программ обучения/)
|
|
||||||
- [Конструктор тем](Admin manuals/Конструктор тем/)
|
|
||||||
- [Конструктор тестов](Admin manuals/Конструктор тестов/)
|
|
||||||
- [Критерии оценок](Admin manuals/Критерии оценки теста/)
|
|
||||||
- [Матрица обучения](Admin manuals/Матрица обучения/)
|
|
||||||
- [Направления обучения](Admin manuals/Направления обучения/)
|
- [Направления обучения](Admin manuals/Направления обучения/)
|
||||||
- [Периодичность обучения](Admin manuals/Периодичность обучения/)
|
- [Периодичность обучения](Admin manuals/Периодичность обучения/)
|
||||||
- [План обучения](Admin manuals/План обучения/)
|
- [Должности](Admin manuals/Должности/)
|
||||||
|
- [Категории должностей](Admin manuals/Категории должностей/)
|
||||||
- [Программы обучения](Admin manuals/Программы обучения/)
|
- [Программы обучения](Admin manuals/Программы обучения/)
|
||||||
|
- [Комплекс программ обучения](Admin manuals/Комплекс программ обучения/)
|
||||||
|
- [Доступные программы в организации](Admin manuals/Доступные программы в организации/)
|
||||||
|
- [Матрица обучения](Admin manuals/Матрица обучения/)
|
||||||
|
- [План обучения](Admin manuals/План обучения/)
|
||||||
|
- [Заявки на обучение](Admin manuals/Заявки на обучение/)
|
||||||
|
- [Критерии оценок](Admin manuals/Критерии оценки теста/)
|
||||||
|
- [Конструктор тестов](Admin manuals/Конструктор тестов/)
|
||||||
|
- [Конструктор тем](Admin manuals/Конструктор тем/)
|
||||||
|
- [Конструктор программ обучения](Admin manuals/Конструктор программ обучения/)
|
||||||
|
- [Группы обучения](Admin manuals/Группы обучения/)
|
||||||
|
- [Группа обучения аналитическая форма](Admin manuals/Группа обучения аналитическая/)
|
||||||
- [Протокол обучения](Admin manuals/Протокол обучения/)
|
- [Протокол обучения](Admin manuals/Протокол обучения/)
|
||||||
- [Ресурс обучения](Admin manuals/Ресурс обучения/)
|
|
||||||
- [Статистика обучения](Admin manuals/Статистика обучения/)
|
- [Статистика обучения](Admin manuals/Статистика обучения/)
|
||||||
- [Формат обучения](Admin manuals/Формат обучения/)
|
- [Журнал протоколов обучения](Admin manuals/Журнал протоколов обучения/)
|
||||||
- [Логи приложения](Admin manuals/Логи приложения/)
|
- [Логи приложения](Admin manuals/Логи приложения/)
|
||||||
- [Самостоятельное проведение тестирования сайта](Admin manuals/Проведение тестирование сайта/)
|
|
||||||
- [FAQ Lexema-ECM](Admin manuals/FAQ/)
|
- [FAQ Lexema-ECM](Admin manuals/FAQ/)
|
@ -10,7 +10,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.md-grid {
|
.md-grid {
|
||||||
max-width: 95%;
|
max-width: 98%;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.uldisc {
|
ul.uldisc {
|
||||||
|
@ -58,8 +58,6 @@ theme:
|
|||||||
- search.suggest
|
- search.suggest
|
||||||
- header.autohide
|
- header.autohide
|
||||||
- navigation.path
|
- navigation.path
|
||||||
- navigation.expand
|
|
||||||
# - navigation.tabs
|
|
||||||
|
|
||||||
docs_dir: docs
|
docs_dir: docs
|
||||||
site_dir: site
|
site_dir: site
|