Compare commits

..

4 Commits

30 changed files with 516 additions and 224 deletions

View File

@ -62,7 +62,7 @@
В форме заявки отображается такая информация как: заказчик, подразделение, организация, суть обращения и текст заявки. В форме заявки отображается такая информация как: заказчик, подразделение, организация, суть обращения и текст заявки.
![Заявка](media/zayavka.png) ![Заявка](media/screen1.png)
Во вложениях на панели инструментов инициатор прикрепляет файлы при наличии(скриншот ошибки, уточняющие документы и т.п.). Во вложениях на панели инструментов инициатор прикрепляет файлы при наличии(скриншот ошибки, уточняющие документы и т.п.).
@ -106,7 +106,9 @@
* Согласование ЗНИ. * Согласование ЗНИ.
В ЗНИ открываются 3 поля. Два из них надо заполнить при расчёте затрат: В ЗНИ открываются 3 поля. Два из них надо заполнить при расчёте затрат:
* Затраты (часов) - сколько часов чистого времени требуется для решения проблемы. * Затраты (часов) - сколько часов чистого времени требуется для решения проблемы.
* Время выполнения (часов) - сколько времени реально потребуется для решения проблемы, отсчитывая от даты согласования ЗНИ. Столько часов будет выделено Исполнителю на его этапе в маршруте. * Время выполнения (часов) - сколько времени реально потребуется для решения проблемы, отсчитывая от даты согласования ЗНИ. Столько часов будет выделено Исполнителю на его этапе в маршруте.
![Часы](media/hour.png) ![Часы](media/hour.png)
@ -131,12 +133,24 @@
После регистрации заявки, она поступает на исполнение ответственному исполнителю. После исполнения заявки, исполнитель должен заполнить "Отчет об исполнении". После регистрации заявки, она поступает на исполнение ответственному исполнителю. После исполнения заявки, исполнитель должен заполнить "Отчет об исполнении".
![Отчет](media/otchet.png) ![Отчет](media/screen2.png)
Далее он подтверждает исполнение соответствующей кнопкой в панели инструментов. Заявка направляется инициатору данной заявки на ознакомление, фактический срок исполнения проставляется автоматически, статус заявка автоматически назначается "Выполнено". Далее он подтверждает исполнение соответствующей кнопкой в панели инструментов. Заявка направляется инициатору данной заявки на ознакомление, фактический срок исполнения проставляется автоматически, статус заявка автоматически назначается "Выполнено".
![Исполнение](media/ispolnenie.png) ![Исполнение](media/ispolnenie.png)
В данной форме имеется выпадающий список с названием "Вид обращения". Через этот выпадающий список есть возможность группировать заявки в техническую поддержку. В выпадающем списке появляются варианты групп, при выборе которой можно определить данную заявку в необходимую подгруппу.
![Рисунок](media/screen3.png)
Так же подгруппы можно создавать из заявки в техническую поддержку. На скриншоте ниже видно как через "Кнопку быстрого создания" можно создать необходимую группировку.
![Рисунок](media/screen4.png)
После нажатия "Кнопки быстрого создания" откроется окошко в котором указывается наименование группировки. После чего необходимо нажать на кнопку "Сохранить" и новая группа будет отображаться в выпадающем списке.
![Рисунок](media/screen5.png)
### Статусы заявки ### Статусы заявки
Изменять статусы по заявкам возможно по кнопке "Операции" в панели инструментов: Изменять статусы по заявкам возможно по кнопке "Операции" в панели инструментов:

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,154 @@
# Диадок
## Описание
**Диадок** — это система юридически значимого электронного документооборота. Пользователи сервиса подписывают документы квалифицированной электронной подписью и обмениваются ими с контрагентами без дублирования на бумаге.
![Рисунок](media/article14022022-1.png)
## Настройка работы Диадока
Для интеграции системы с сервисом Диадок необходимо настроить следующие библиотеки:
- Диадок
- диадок-Сервис
## Подключение библиотек
В настройках конфигурации сайта (конфиги) прописываются настройки сервиса Диадок для каждой организации. Прописываются такие параметры как:
- путь
- логин
- пароль
- ключ который предоставляется Контур.Диадок при заключении договора организации с диадоком (API-ключ для интеграции с Контур.Диадок)
Ниже приведен скрин с примером:
![Pictures](media/screen-9.png)
## Работа Диадока
Для работы Диадока необходимо настроить задания планировщика:
1. **Загрузка boxid** - это идентификаторы на которые будут отправляться и приниматься контрагенты.
2. **Обновление статусов** - считывает текущие статусы контрагента (принятые, подписанные, аннулированные и т.д).
3. **Загрузка новых событий** - факты подписания документов контрагентов и загрузка файла.
![Pictures](media/screen-1.png)
Для работы с Диадоком в Лексеме необходимо иметь определенную роль, подробнее можно ознакомиться в разделе [Технические роли](https://ecm-administrator-manuals.readthedocs.io/ru/latest/Admin%20manuals/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D1%80%D0%BE%D0%BB%D0%B8/#%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5).
В системе имеется 2 формы Диадока:
**Документы Диадока** - форма документа которая хранит все данные о том что отправляли или принимали по Диадоку.
**Реестр документа Диадока** - аналитическая форма, она необходима для оптимизированной работы документов по Диадоку.
![Pictures](media/screen-3.png)
Создание документа Диадока происходит автоматически в процессе отправки документа в Диадок. Система автоматически заполняет всю информацию по документу.
Имеется 2 вида документов Диадока:
1. **_Входящие документы_** - формируются по задачи шедулера по проверке новых событий в ящике "Диадок".
2. **_Исходящие документы_** - формируются из формы документа "Договор" и "Доп. Соглашения" к договору.
![Pictures](media/screen-2.png)
При отправке договора или доп. соглашения в Диадок, система определяем кем был подписан докумен подписью КЭП и вместе с файлом во вложении отправляется в диадок. Если на сотрудника подписавшего документ, существует дейтвующая МЧД, ЭДО то в диадок отправляется идентификатор доверенности.
После того как договор был подписан, в документ вкладывается скан-файл с типом вложения "Оригинал PDF". На каждое вложение формируется новый документ Диадок. Ему присваивается **Messageid** и **Entityid**.
??? Информация
**_Messageid_** — уникальный идентификатор, который используется для идентификации сообщений.
**_Entityid_** - это уникальный идентификатор, который используется для однозначного представления сущности (объекта) в системе или контексте, где она существует.
Чтобы отправить договор в Диадок необходимо по кнопке "Операции" в панели управления выбрать строку "Отправить документ в Диадок".
![Pictures](media/screen-4.png)
После выбора действия "Отправить документ в Диадок" в реестре "Документы Диадок" формируется новый исходящий документ, в котором автоматически заполняются информация:
- от имени какой организации отправился документ и какой организации отправился (строка идентификатор ящика отправителя)
- с какого ящика диадок отправился и на какой ящик другой организации (строка идентификатор ящика получателя)
- строка с именем файла отправленного с документом (строка файл)
![Pictures](media/screen-6.png)
Так же по кнопке "Перейти" есть возможность перейти в договор или Доп. Соглашение отправленного в Диадок.
![Pictures](media/screen-5.png)
## Настройка интеграции с Диадок
Система автоматически загрузит в раздел "Реквизиты Диадока" реквизиты контрагента по задачам загрузки **boxid**, **Guid** и таблицу с информацией о том с каким юридическим лицом интегрированы по Диадоку. Проще говоря, это те контрагенты которые приняли приглашение для обмена по Диадоку с указанным контрагентом в строке "Идентификатор участника ЭДО".
В карточке контрагента на вкладке "Настройка интеграции с Диадок" указана информация по данному контрагенту в системе Диадока:
![Pictures](media/screen-10.png)
Если необходимо указать инедтификатор участника ЭДО, отличный от того который загружен автоматически, то необходимо заполнить поле "Идентификатора" участника ЭДО. Для редактирования этого поля у пользователя должна быть роль **_responsible_accountant_diadoc_**.
- **Идентификатор участника ЭДО** - поле с запросом которое выводит реквизиты по контрагенту из Диадока
- **идентификатор участника ЭДО сверен** - чекбокс признак необходимый для того чтобы другой идентификатор не загружался в систему.
![Pictures](media/screen-6.png)
Далее необходимо нажать кнопку "Загрузить реквизиты из Диадока".
![Pictures](media/screen-7.png)
**boxid (ручной ввод)** - заполняется в ручную в случае если необходим для работы с ним один конкретный ящик, а у контрагента имеется разное множество ящиков.
**boxid (загруженный)** - строка которая заполняется автоматически при работе задачи **"Загрузка boxid ящиков Диадок контрагентов"**
![Pictures](media/screen-8.png)
??? Пример "Пример JSON формата данных контрагента"
```json
"OrgIdGuid": "0581-JHY-862",
"OrgId": "0581-JHY-8620", --Guid
"Inn": "1234567890",
"Kpp": "1234567890",
"FullName": "Акционерное общество \"Радуга\"",
"ShortName": "АО \"Радуга\"",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "111abc654@diadoc.ru", --boxId
"BoxIdGuid": "111abc-654",
"Title": "АО \"Радуга\"",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": false
}
],
"Ogrn": "1234567890",
"FnsParticipantId": "2BH47rDA", --Идентификатор учатсника ЭДО
```
При нажатии на кнопку "Операции" в документе договор или доп. соглашение, имеются две операции:
1. **Отправить в Диадок** - документ направляется в систему Диадока c помощью сервиса API, где его при необходимости возможно отредактировать.
2. **Отправить в Диадок шаблон** - отправляется шаблон документа который не возможно редактировать.
В окне "История" в панели управления документа Диадока показывается история документа, например _"Ожидается подпись контрагентом"_, _"Подписан контрагентом"_, _"Аннулирован контрагентом"_ и т.п.
![Рисунок](media/configi.jpg)
Также во вложении будет файл, который имеет подписание с двух сторон с водяным знаком.
При каждой новой отправке в Диадок система отправляет те файлы, которые не были отправлены ранее, с последней подписью КЭП.

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -206,6 +206,7 @@
**ЭЦП_количество_дней_за_сколько_отправтить_заявкуа_перевыпуск** | осуществляет автоматическую [заявку на выпуск сертификата](../Выпуск ОНЭП/index.md#Заявки-на-выпуск-ЭП) пользователям у которых закончился срок действия сертификата электронной подписи. Указывается значение количества дней по которому нужно проверять срок окончания сертификатов | | 7 **ЭЦП_количество_дней_за_сколько_отправтить_заявкуа_перевыпуск** | осуществляет автоматическую [заявку на выпуск сертификата](../Выпуск ОНЭП/index.md#Заявки-на-выпуск-ЭП) пользователям у которых закончился срок действия сертификата электронной подписи. Указывается значение количества дней по которому нужно проверять срок окончания сертификатов | | 7
**заявкаа_выпуск_сертификата_проверка_КЭП_МЧД** | Позволяет включать и отключать проверку на строку "Доверенность" в заявке на выпуск сертификата. Если константа включена то и проверка на строку (выпадающий список) "Доверенность" работает. **заявкаа_выпуск_сертификата_проверка_КЭП_МЧД** | Позволяет включать и отключать проверку на строку "Доверенность" в заявке на выпуск сертификата. Если константа включена то и проверка на строку (выпадающий список) "Доверенность" работает.
**empowerment_word_report** | Позволяет выводить QR-код в отчете доверенностей через формат Word. Отчет формата Word открывается через панель управления с помощью печатной формы. **empowerment_word_report** | Позволяет выводить QR-код в отчете доверенностей через формат Word. Отчет формата Word открывается через панель управления с помощью печатной формы.
**СЭД_ВХД_показать_кнопку_печать** | Позволяет отоброжать в тулбаре (в палени управления) кнопку "Печать" во входящих документах.
#### Автосоздание_пользователей_Регистрировать_только_согласныха_КЭДО #### Автосоздание_пользователей_Регистрировать_только_согласныха_КЭДО

View File

@ -175,7 +175,7 @@
limit 1 limit 1
) )
``` ```
<!-- ### Примеры запросов ### Примеры запросов
#### Просроченные документы #### Просроченные документы
@ -226,6 +226,8 @@
??? note "Запрос" ??? note "Запрос"
![alt text](media/image-24.png)
Основной запрос: Основной запрос:
Итоговая выборка: Итоговая выборка:
@ -299,6 +301,8 @@
??? note "Запрос" ??? note "Запрос"
![alt text](media/image-25.png)
Основной запрос: Основной запрос:
Итоговая выборка: Итоговая выборка:
@ -333,6 +337,8 @@
??? note "Запрос" ??? note "Запрос"
![alt text](media/image-26.png)
Основной запрос: Основной запрос:
Итоговая выборка: Итоговая выборка:
@ -366,6 +372,8 @@
??? note "Запрос" ??? note "Запрос"
![alt text](media/image-27.png)
Основной запрос: Основной запрос:
```sql ```sql
@ -603,6 +611,8 @@
??? note "Запрос" ??? note "Запрос"
![alt text](media/image-29.png)
Основной запрос: Основной запрос:
```sql ```sql
@ -1235,4 +1245,103 @@
join comdoc."VFilials" f on p."COrg" = f."VCode" join comdoc."VFilials" f on p."COrg" = f."VCode"
where now()::date between coalesce(p."BeginDate",'19700101') and coalesce(p."EndDate",'20700101') where now()::date between coalesce(p."BeginDate",'19700101') and coalesce(p."EndDate",'20700101')
; ;
``` --> ```
#### Аналитическая форма по расписанию задач
??? note "Запрос"
![alt text](media/image-28.png)
Основной запрос:
```sql
INSERT INTO "tmp_calcWithBaseParams_for_documentStatusJournalProc"( "DocCode" )
select null;
```
Итоговая выборка:
```sql
insert into "tmp_finresult"( "DocCode" , "DocType" , "DocForm" , "DocTypeName", "DocName", "DocumentDate",
"AnyColumnA" , "AnyColumnB" , "AnyColumnC" , "AnyColumnD" , "AnyColumnE",
"AnyColumnF", "AnyColumnG", "AnyColumnH", "AnyColumnI", "AnyColumnJ")
select dd."Id", 'task'::text, 'taskForm'::text, ('Шедулер' || dd."Name")::text, 'Планировщик задач ' ||dd."Name" , dd."CDate"::date,
dd."Name" as "AnyColumnA" , dd."Description" as "AnyColumnB" ,
dd."Minutes" as "AnyColumnC" , dd."Hours" as "AnyColumnD" , dd."Days" as "AnyColumnE" , dd."Months" as "AnyColumnF" , dd."DaysOfTheWeek" as "AnyColumnG" ,dd. "Note" as "AnyColumnH" ,dd. "TypeTask" as "AnyColumnI"
, sum(comdoc."datediff"('minute',j."TimeStart" , j."TimeEnd"))/ count(j."Id") as "AnyColumnJ"
from (
select t."Id", t."Name", t."Description",
sh."Crontab",
max(case when s."VCode" = 1 then s."PartString" else '' end) as "Minutes",
max(case when s."VCode" = 2 then s."PartString" else '' end) as "Hours",
max(case when s."VCode" = 3 then s."PartString" else '' end) as "Days",
max(case when s."VCode" = 4 then s."PartString" else '' end) as "Months",
max(case when s."VCode" = 5 then s."PartString" else '' end) as "DaysOfTheWeek",
'по гринвичу' as "Note", 'Шедулер' as "TypeTask", t."CDate"
from lex."Task" t
join lex."Schedule" sh on t."Id" = sh."Parent"
LEFT JOIN LATERAL comdoc."LexStringToListNew"(replace(sh."Crontab",' ','Ё'),'Ё',0) s on true
join (select 1 as "VCode", 'мин.' as "Name"
union all
select 2 as "VCode", 'часы' as "Name"
union all
select 3 as "VCode", 'день' as "Name"
union all
select 4 as "VCode", 'месяц' as "Name"
union all
select 5 as "VCode", 'дни недели' as "Name"
) d on s."VCode" = d."VCode"
-- inner join lex."StepJournalEntryDetail" s on j."Id" = s."PCode"
where coalesce(t."Toggle",false) = true
group by t."Id", t."Name", t."Description", sh."Crontab", t."CDate"
)dd
left join lex."TaskJournalEntry" j on dd."Id" = j."TaskId" and j."TimeStart">= now()::date - '1 month'::interval and j."TimeEnd" is not null
--where j."TimeStart">= now()::date - '1 month'::interval and j."TimeEnd" is not null
group by dd."Id", dd."Name", dd."Description", dd."Crontab", "Minutes", "Hours", "Days", "Months", "DaysOfTheWeek", "Note", "TypeTask", dd."CDate"
union all
select t."VCode", 'NotificationLexemaDirectory'::text, 'NotificationLexemaDirectoryForm'::text , '', ( 'Задачи планировщика ' ||t."TaskName") ::text, t."CDate"::date,
t."TaskName" as "AnyColumnA" , null::text as "AnyColumnB" ,
t."Minutes" as "AnyColumnC" , t."Hours" as "AnyColumnD" , t."Days" as "AnyColumnE" , t."Months" as "AnyColumnF" , t."DaysOfTheWeek" as "AnyColumnG" ,'серверное время' as "AnyColumnH" ,'Задачи планировщика' as "AnyColumnI",
null::int as "AnyColumnJ"
from dfd."NotificationLexemaDirectory" t
where coalesce(t."Included",false) = true;
```
#### Логи отправки почты и СМС
Необходимо дополнительно настроить [задачу планировщика](../Функции%20планировщика%20задач/#переносогов_отправки_почты_и_смс_в_таблицу_sendlog)
??? note "Запрос"
![alt text](media/image-30.png)
Основной запрос:
```sql
INSERT INTO "tmp_calcWithBaseParams_for_documentStatusJournalProc"( "DocCode")
select 1 from dfd."OutgoingEmailLog" where 1 = 1
limit 1;
```
Итоговая выборка:
```sql
do $myQ$
declare _str text;
begin
_str := '
insert into "tmp_finresult"("AnyColumnA", "AnyColumnB", "AnyColumnC", "AnyColumnD", "AnyColumnE", "AnyColumnF", "AnyColumnG", "AnyColumnH", "AnyColumnI", "AnyColumnJ", "AnyColumnK", "AnyColumnL", "AnyColumnM")
select p."Level", p."type", p."To", p."Subject", p."Body", p."Cc", p."Bcc", p."phones", p."text", p."errorText",
to_char(p."CDateLog",''DD.MM.YYYY hh:mi'') as "CDateLog", p."CUserLog", p."CHostLog"
from comdoc."SendLog" p
where coalesce( p."CDateLog"::date,'_bdate'::date) between '_bdate'::date and '_edate'::date
order by p."CDateLog" desc'
_topcount ;
execute _str;
end;
$myQ$;
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -15,6 +15,7 @@
[Анализ плановых графиков отпусков](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Анализ%20плановых%20графиков%20сотрудников/) | analytvacationplan_read | analytvacationplan_write | [Анализ плановых графиков отпусков](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Анализ%20плановых%20графиков%20сотрудников/) | analytvacationplan_read | analytvacationplan_write |
[Анализ просроченных документов](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Анализ%20и%20отчетность/#анализ_просроченныхокументов) | | dashboardcharts_write | [Анализ просроченных документов](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Анализ%20и%20отчетность/#анализ_просроченныхокументов) | | dashboardcharts_write |
Анкета соискателя (регистрация) | registrationrequest_read | registrationrequest_write | Анкета соискателя (регистрация) | registrationrequest_read | registrationrequest_write |
Вид обращения|treatmentofdocument_read| treatmentofdocument_write|
[Вид обучения](../Вид обучения/) | stafftrainingkind_read, StaffTraining_Admin | stafftrainingkind_write, StaffTraining_Admin | [Вид обучения](../Вид обучения/) | stafftrainingkind_read, StaffTraining_Admin | stafftrainingkind_write, StaffTraining_Admin |
Виды адресов | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write | Виды адресов | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write |
Виды воинской обязанности | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write | Виды воинской обязанности | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write |
@ -48,6 +49,7 @@
[Группы рассылки](../Группы рассылки/) | readlistgroup_read | docflowAdmin,readlistgroup_admin,readlistgroup_write | [Группы рассылки](../Группы рассылки/) | readlistgroup_read | docflowAdmin,readlistgroup_admin,readlistgroup_write |
Группы учета (запас) | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write | Группы учета (запас) | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write |
[Действие обученности при смене работодателя](../Действие обученности при смене работодателя/) | activityoftraining_read, StaffTraining_Admin | activityoftraining_write, StaffTraining_Admin | [Действие обученности при смене работодателя](../Действие обученности при смене работодателя/) | activityoftraining_read, StaffTraining_Admin | activityoftraining_write, StaffTraining_Admin |
Диадок||responsible_accountant_diadoc| Роль позволяет редактировать поле "Идентификатор ЭДО" в карточке контрагента, в разделе "Настройки интеграции с Диадок"|
Доверенности | empowerment_read | empowerment_write | create_origin_pdf_empowerment - роль для формирования финальной части в формат PDF, empovermentvisibleremove, showallnotremovedempowerment - отображение кнопки "Удалить" (перевод в статус "Удаленно") внутри доверенности, **docconstructor_write** - открывает доступ к переходу в конструктор документа по данному типу/подтипу документа, **routetemplate_write** - открывает доступ к переходу в настройки шаблона маршрута по данному документу, **documentsubtype_write** - открывает доступ к переходу в настройки подтипа документа Доверенности | empowerment_read | empowerment_write | create_origin_pdf_empowerment - роль для формирования финальной части в формат PDF, empovermentvisibleremove, showallnotremovedempowerment - отображение кнопки "Удалить" (перевод в статус "Удаленно") внутри доверенности, **docconstructor_write** - открывает доступ к переходу в конструктор документа по данному типу/подтипу документа, **routetemplate_write** - открывает доступ к переходу в настройки шаблона маршрута по данному документу, **documentsubtype_write** - открывает доступ к переходу в настройки подтипа документа
Формирование вложений в доверенностях (PDF, Word)| empowerment_pdf_report, empowerment_word_report | | **empowerment_pdf_report** открывает доступ pdf отчету через печатную форму, файл вкладывается после формирования во вложения документа. **empowerment_word_report** открывает доступ к word отчету через печатную форму, сформированный отчет так же как и pdf вкладывается во вложение документа. Формирование вложений в доверенностях (PDF, Word)| empowerment_pdf_report, empowerment_word_report | | **empowerment_pdf_report** открывает доступ pdf отчету через печатную форму, файл вкладывается после формирования во вложения документа. **empowerment_word_report** открывает доступ к word отчету через печатную форму, сформированный отчет так же как и pdf вкладывается во вложение документа.
[Договоры](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80/) | contract_read | super,jurist,contract_write | **master_jurist** - позволяет редактировать полный, внутренний, входящий номера в договоре на любом этапе маршрута. **projects_write** предоставляет возможность создания формы «Новый проект» из документа "Договор". Открывает доступ к кнопке «Создать проект». Данная роль предоставляется пользователю, который в системе заполняет справочник проектов. видеть_конфиденциальныеоговора позволяет видеть договора с признаком "Конфиденциальность". **contract_editor** - предоставляет возможность редактировать договор в процессе согласования | [Договоры](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80/) | contract_read | super,jurist,contract_write | **master_jurist** - позволяет редактировать полный, внутренний, входящий номера в договоре на любом этапе маршрута. **projects_write** предоставляет возможность создания формы «Новый проект» из документа "Договор". Открывает доступ к кнопке «Создать проект». Данная роль предоставляется пользователю, который в системе заполняет справочник проектов. видеть_конфиденциальныеоговора позволяет видеть договора с признаком "Конфиденциальность". **contract_editor** - предоставляет возможность редактировать договор в процессе согласования |

View File

@ -255,6 +255,8 @@ search:
### Документы, не пришедшие из 1с ### Документы, не пришедшие из 1с
??? Задача
```sql ```sql
with "no1c" with "no1c"
as as
@ -314,11 +316,12 @@ from "no1c" dd
and rl."DocTypes" ilike '%NotificationLexema%' and rl."DocTypes" ilike '%NotificationLexema%'
join comdoc."ReadListGroupUsers" rlU on rl."VCode" = rlU."PCode"*/ join comdoc."ReadListGroupUsers" rlU on rl."VCode" = rlU."PCode"*/
--group by rlU."DocflowUser" --group by rlU."DocflowUser"
``` ```
### Задача по изменению фамилии в карточке пользователя + склонение в карточке физического лица ### Задача по изменению фамилии в карточке пользователя + склонение в карточке физического лица
??? Задача
```sql ```sql
do $$ do $$
begin begin
@ -359,6 +362,8 @@ $$;
### Оповещение о необходимости замены паспорта ### Оповещение о необходимости замены паспорта
??? Задача
```sql ```sql
insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker") insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker")
select distinct pc."Code" , '<font size="3"> <b>Настоящим сообщаем, что приближается срок замены паспорта </b> <br/>' || '</font>' , select distinct pc."Code" , '<font size="3"> <b>Настоящим сообщаем, что приближается срок замены паспорта </b> <br/>' || '</font>' ,
@ -381,6 +386,8 @@ where (
### Оповещение о списке работников, которые не создали заявление об отпуске из уведомления ### Оповещение о списке работников, которые не создали заявление об отпуске из уведомления
??? Задача
```sql ```sql
with list as ( with list as (
select ud."VCode", ud."IdWorker", atr."Value" as "Vacation", to_char(atrD."DateValue",'DD.MM.YYYY') as "DateBeg" , f."Name" as "COrgName" select ud."VCode", ud."IdWorker", atr."Value" as "Vacation", to_char(atrD."DateValue",'DD.MM.YYYY') as "DateBeg" , f."Name" as "COrgName"
@ -423,6 +430,8 @@ d."data" | Список | #query_list#
### Отсутствие планового графика отпусков по подразделению ### Отсутствие планового графика отпусков по подразделению
??? Задача
```sql ```sql
with "chiefStruct" as with "chiefStruct" as
(select * from vac."SendingLateApplicationNotice"()) (select * from vac."SendingLateApplicationNotice"())
@ -461,17 +470,12 @@ replace(replace(
inner join comdoc."DocflowUser" du on main."ChiefLogin" = du."UserName" inner join comdoc."DocflowUser" du on main."ChiefLogin" = du."UserName"
group by main."Chief", coalesce(du."FirstName",''), coalesce(du."MiddleName",''), main."ChiefLogin", main."planYear"; group by main."Chief", coalesce(du."FirstName",''), coalesce(du."MiddleName",''), main."ChiefLogin", main."planYear";
``` ```
### Смена организации по умолчанию при смене основного места работы
```sql
call dfd."updateUsersDefaultOrganization" (null, 'Admin;EVIvaschenko')
/* 1 - коды исключен физ лиц через ;
2 - логины исключения через ; */
```
### Создание отзывов доверенностей МЧД по уволенным ### Создание отзывов доверенностей МЧД по уволенным
??? Задача
```sql ```sql
with res as (select * , with res as (select * ,
'<tr> '<tr>
@ -496,3 +500,11 @@ from (select distinct r."DocflowUser", (select string_agg(coalesce(r1."ref_link"
таблица.столбец | описание | # для шаблона таблица.столбец | описание | # для шаблона
----------------|----------|-------------- ----------------|----------|--------------
d.list | Список документов | #query_list# d.list | Список документов | #query_list#
### Перенос логов отправки почты и СМС в таблицу SendLog
??? Задача
```sql
call comdoc."PostToSendLog"();
```