Merge branch 'master' of http://gogs.lex.lan/l8-base/ECM-administrator-manuals
|
@ -24,8 +24,4 @@
|
|||
|
||||
Обязательными поля "Наименование", "Код цифровой" и "Код буквенный" должны быть заполнены в соответствии с общероссийским классификатором валют (ОКВ).
|
||||
|
||||
<<<<<<< HEAD
|
||||
Опция "Валюта по умолчанию" отмечает ту валюту, которая будет вставляться в соответствующее поле при создании документов автоматически. Поставить галочку в поле "Валюта по умолчанию" можно в том случае, если она не проставлена для другой валюты. В противном случае при попытке сохранить документ операция не будет выполнена, и появится системное сообщение с предупреждением, что значение по умолчанию уже выбрано, с указанием, какая именно валюта выбрана по умолчанию.
|
||||
=======
|
||||
Опция "Валюта по умолчанию" отмечает ту валюту, которая будет вставляться в соответствующее поле при создании документов автоматически. Поставить галочку в поле "Валюта по умолчанию" можно в том случае, если она не проставлена для другой валюты. В противном случае при попытке сохранить документ операция не будет выполнена, и появится системное сообщение с предупреждением, что значение по умолчанию уже выбрано, с указанием, какая именно валюта выбрана по умолчанию.
|
||||
>>>>>>> f1a0579c0686f83ca615dc341b1b9f9abe05392c
|
||||
Опция "Валюта по умолчанию" отмечает ту валюту, которая будет вставляться в соответствующее поле при создании документов автоматически. Поставить галочку в поле "Валюта по умолчанию" можно в том случае, если она не проставлена для другой валюты. В противном случае при попытке сохранить документ операция не будет выполнена, и появится системное сообщение с предупреждением, что значение по умолчанию уже выбрано, с указанием, какая именно валюта выбрана по умолчанию.
|
|
@ -1014,6 +1014,13 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
|
|||
----------------------|-----------|---------------------
|
||||
#year# | Необходимо заполнить информацию | #Master_Position# ilike '%водитель%'
|
||||
|
||||
Также возможно использовать служебное слово **#Master_PositionName#**, например, при написании заявления на ежегодный отпуск руководителем, необходимо указать заместителя на период отсутствия.
|
||||
|
||||
Колонка для выделения | Сообщение | Правило для проверки
|
||||
----------------------|-----------|---------------------
|
||||
#zam# | Необходимо заполнить информацию | coalesce(#zam#,0)::bigint=0::bigint and '#Master_PositionName#'::text ilike '%глав%врач%'::text
|
||||
|
||||
|
||||
#### Проверки для табличных атрибутов
|
||||
|
||||
В столбец **"Колонка для выделения"** указывается служебное наименование таблицы,например, **#Table1#**, а в столбце **"Правило для проверки"** указывается служебные наименования таблицы и атрибута, например, **#Table1_bigint#**.
|
||||
|
@ -1069,8 +1076,6 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
|
|||
![Alt text](media/image-2.png)
|
||||
![Alt text](media/image-1.png)
|
||||
|
||||
|
||||
|
||||
## Вкладка "Сообщения об удаленных документах"
|
||||
|
||||
Данная вкладка предназначена для самостоятельного указания текста для удаленных документах из системы 1С. Если электронный документ был загружен в систему 1С, и при этом соответствующий приказ был помечен на удаление в системе 1С, то указанный текст, он будет отображаться в связанном с приказом заявлении. Для проставления признака должна быть настроена задача ["Проверка документов Лексемы на удаление в 1С"](../Функции планировщика задач/index.md) в [планировщике](../Планировщик задач/index.md).
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
- [Вкладка "Входящие документы"](Вкладка Входящие документы/)
|
||||
- [Вкладка "Исходящие документы"](Вкладка Исходящие документы/)
|
||||
- [Вкладка "Произвольные выборки"](Вкладка Произвольные выборки/)
|
||||
- [Вкладка "Соответствие справочников"](Вкладка Соответствие справочников/)
|
||||
- [Вкладка "Справочники"](Вкладка Справочники/)
|
||||
- [Вкладка "Соответствие справочников"](Вкладка Соответствие справочников/)
|
||||
- [Вкладка "Исходящие документы"](Вкладка Исходящие документы/)
|
||||
- [Вкладка "Входящие документы"](Вкладка Входящие документы/)
|
||||
- [Вкладка "Произвольные выборки"](Вкладка Произвольные выборки/)
|
||||
- [Настройка интеграция справочников и документов](Настройка интеграция справочников и документов/)
|
||||
- [Настройка интеграции с форматом JSON](Настройка интеграции с форматом JSON/)
|
||||
- [Описание работы с Postman](Описание работы с Postman/)
|
|
@ -1,40 +1,59 @@
|
|||
# Вкладка «Входящие документы»
|
||||
|
||||
Для настройки нужно в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".<br>
|
||||
Для настройки нужно в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".
|
||||
|
||||
Данная вкладка предназначена для описания настроек по документам, забираемым из 1С, например: «Документ на подписание», «Документ в Лексеме» .<br>
|
||||
Данная вкладка предназначена для описания настроек по документам, забираемых из 1С, например: «Документ на подписание», «Документ в Лексеме» .
|
||||
|
||||
При первом входе в документ, табличная часть вкладки «Входящие документы» будет пред заполнена.<br>
|
||||
В зависимости от того, на каком «Типе» строк вызывается справочник – для выбора будет соответствующий набор данных. <br>
|
||||
Например, для Подтипа документа на подписание будут подтипы из «Конструктора документов» с типом «Документ на подписание»:<br>
|
||||
![Рисунок 1 Подтипы_на_подписание](../media/Подтипы_на_подписание.png) <br>
|
||||
![Рисунок 2 Входящие1](../media/Входящие1.png) <br>
|
||||
При первом входе в документ, табличная часть вкладки «Входящие документы» будет пред заполнена.
|
||||
|
||||
Для документов на подписание, с одной сущностью 1С, например Дополнительный отпуск (компенсация) и учебный отпуск прошу настроена загрузка в разные подтипы документов:
|
||||
![Рисунок 3 Одна сущность 2 приказа](../media/Одна сущность 2 приказа.PNG) <br>
|
||||
В зависимости от того, на каком «Типе» строк вызывается справочник – для выбора будет соответствующий набор данных.
|
||||
|
||||
В параметр для запроса сущности в 1С при этом пишем идентификатор, который отличит эти типы документов, например, <br>
|
||||
?$filter=ДополнительныеОтпуска/ВидОтпуска_Key eq guid'cf447156-eb49-11e8-5f86-005056ab6485' and Date gt datetime'2022-07-01T00:00:00' <br>
|
||||
Например, для Подтипа документа на подписание будут подтипы из «Конструктора документов» с типом «Документ на подписание»:
|
||||
![alt text](media/image.png)
|
||||
![alt text](media/image-1.png)
|
||||
|
||||
Для документов на подписание, с одной сущностью 1С необходимо настроить загрузку в разные подтипы документов:
|
||||
|
||||
![alt text](media/image-2.png)
|
||||
|
||||
В параметр для запроса сущности в 1С при этом пишем идентификатор, который отличит эти типы документов, например,
|
||||
```json
|
||||
?$filter=ДополнительныеОтпуска/ВидОтпуска_Key eq guid'cf447156-eb49-11e8-5f86-005056ab6485' and Date gt datetime'2022-07-01T00:00:00'
|
||||
```
|
||||
|
||||
В документы на подписание также можно забирать печатные формы, прикрепляемые к документу "Сотрудники" в 1С:
|
||||
|
||||
![Рисунок 4 Сотрудники_отчеты](../media/Сотрудники_отчеты.PNG) <br>
|
||||
![alt text](media/image-3.png)
|
||||
|
||||
Для этого в поле **"Условие наличия отчета в 1С"** пишем название отчета, который является признаком готовности забрать <br> комплект печатных форм, описанных в колонке **"Наименование отчетов в 1С для загрузки"** во вложения к документу.<br>
|
||||
Например, <br>
|
||||
**"Условие наличия отчета в 1С"** = Комплект документов при приеме<br>
|
||||
**"Наименование отчетов в 1С для загрузки"** = Комплект документов при приеме;Личная карточка (Т-2) <br>
|
||||
Для этого в поле **"Условие наличия отчета в 1С"** пишем название отчета, который является признаком готовности забрать комплект печатных форм, описанных в колонке **"Наименование отчетов в 1С для загрузки"** во вложения к документу.
|
||||
Например,
|
||||
**"Условие наличия отчета в 1С"** = Комплект документов при приеме
|
||||
**"Наименование отчетов в 1С для загрузки"** = Комплект документов при приеме;Личная карточка (Т-2)
|
||||
|
||||
![alt text](media/image-4.png)
|
||||
|
||||
Для указания параметров загрузки документов и вложений с типом «Дата» введены следующие переменные:
|
||||
|
||||
- {{LastDay}} – переменная для определения количества дней, за которое нужно выбрать данные для загрузки. Значение задается в настройках учетной политики в константе **"ЗаСколькоПоследнихДнейЗагружатьДокументыИз1С"**.
|
||||
Например, `?$filter=Date gt datetime'{{LastDay}}'` со значением константы 10 – за последние 10 дней будут загружаться данные
|
||||
- `{{LastDay}}` – переменная для определения количества дней, за которое нужно выбрать данные для загрузки. Значение задается в настройках учетной политики в константе **"ЗаСколькоПоследнихДнейЗагружатьДокументыИз1С"**.
|
||||
Например,
|
||||
```json
|
||||
?$filter=Date gt datetime'{{LastDay}}'
|
||||
```
|
||||
со значением константы 10 – за последние 10 дней будут загружаться данные
|
||||
|
||||
- {{FirstDayMonth}} – переменная для определения даты, до которой нужно загружать документы прошлого месяца. Значение задается в настройках учетной политики в константе **"ДоКакогоЧислаЗагружатьДокументыИз1С_ЗаПрошлыйМесяц"**.
|
||||
Например, `?$filter=Date gt datetime'{{ FirstDayMonth }}'` со значением константы 15 – до 15.12.22 будут загружаться данные с 01.12.22
|
||||
- `{{FirstDayMonth}}` – переменная для определения даты, до которой нужно загружать документы прошлого месяца. Значение задается в настройках учетной политики в константе **"ДоКакогоЧислаЗагружатьДокументыИз1С_ЗаПрошлыйМесяц"**.
|
||||
Например,
|
||||
```json
|
||||
?$filter=Date gt datetime'{{ FirstDayMonth }}'
|
||||
```
|
||||
со значением константы 15 – до 15.12.22 будут загружаться данные с 01.12.22
|
||||
|
||||
- {{YesterDay}} – переменная, обозначающая предыдущий день от текущего.
|
||||
Например, `?$filter=ДатаСоздания ge datetime'{{YesterDay}}'` – если сегодня 15.12.22, то документы для загрузки будут выбраны за 14.12.22
|
||||
- `{{YesterDay}}` – переменная, обозначающая предыдущий день от текущего.
|
||||
Например,
|
||||
```json
|
||||
?$filter=ДатаСоздания ge datetime'{{YesterDay}}'
|
||||
```
|
||||
– если сегодня 15.12.22, то документы для загрузки будут выбраны за 14.12.22
|
||||
|
||||
Столбец **"Дата начала проверки отчетов по кодам (guid-ам)"**. В нужной строке указывается дата и документы с заданными сущностями и параметрами, отчеты которых будут загружаться каждый раз, когда в 1С будут вкладывать новые отчеты. Без отчетов такие документы грузиться не будут, даже если "Условие наличия отчета" - пусто.
|
||||
|
||||
|
@ -46,78 +65,65 @@
|
|||
|
||||
## Документ на подписание
|
||||
|
||||
Документ на подписание может быть создан в СЭД из Заявления сотрудников, либо быть не связанным с Заявлением документом, для которого необходимо пройти процедуру согласования в СЭД. <br>
|
||||
Поле **«Наименование документа»** должно быть одинаковым на вкладках «Исходящие документы» и «Входящие документы», относящимся к одной сущности 1С, в том случае, если *необходимо забирать из 1С документы, которые созданы на основании Заявлений из СЭД*. <br>
|
||||
Если же необходимо забирать *документы указанной сущности 1С, не связанных с Заявлениями из СЭД*, то в строке «Подтип документа на подписание» на вкладке «Входящие документы» необходимо указать «Наименование документа», отличное от закладки «Исходящие документы».<br>
|
||||
Для каждого документа на подписание, обмен которыми планируется между системами, необходимо создать «Подтип документа» и оформить для него карточку «Конструктора документов».<br>
|
||||
Документ на подписание может быть создан в СЭД из Заявления сотрудников, либо быть не связанным с Заявлением документом, для которого необходимо пройти процедуру согласования в СЭД.
|
||||
|
||||
![Рисунок 1 Документ_на_подписание_конструктор](../media/Документ_на_подписание_конструктор.png) <br>
|
||||
![Рисунок 2 Докумет_на_подписание2](../media/Докумет_на_подписание2.png) <br>
|
||||
Поле **«Наименование документа»** должно быть одинаковым на вкладках «Исходящие документы» и «Входящие документы», относящимся к одной сущности 1С, в том случае, если *необходимо забирать из 1С документы, которые созданы на основании Заявлений из СЭД*.
|
||||
Если же необходимо забирать *документы указанной сущности 1С, не связанных с Заявлениями из СЭД*, то в строке «Подтип документа на подписание» на вкладке «Входящие документы» необходимо указать «Наименование документа», отличное от закладки «Исходящие документы».
|
||||
Для каждого документа на подписание, обмен которыми планируется между системами, необходимо создать «Подтип документа» и оформить для него карточку «Конструктора документов».
|
||||
|
||||
**Справочник в Лексеме** – подтип из Конструктора документов для типа «Документ на подписание», который указан в поле Наименование документа.<br>
|
||||
**Наименование документа** – наименование документа, с которым будет происходить обмен данными. <br>
|
||||
**Сущность в 1С** – сущность на стороне 1С для обмена данными. В этих строчках указываются параметры для передачи документов на подписание в 1С.<br>
|
||||
**Параметры** - условия для загрузки документа в СЭД , например, для документа «Отпуск» - это { "ПредоставитьОсновнойОтпуск": true, "ДокументРассчитан": true }, так как данный вид сущности должен быть рассчитан . А для отпуска без сохранения оплаты параметры будут заполнены следующим образом: {"ВидОтпуска_Key":"7601b82e-8584-11e2-9371-001b11b25590"}. Определение параметров выполняется исходя из анализа сущности 1С.<br>
|
||||
**Наименование отчета в 1С** – наименование отчета в 1С, присоединенного к документу, наличие которого является обязательным условием для импорта документа из 1С в СЭД.<br>
|
||||
Например, для документа «Отпуск» – во вложении анализируется наличие Приказа о предоставлении отпуска (Т-6). Если еще нет вложения, то приказ считается не удовлетворяющим условиям загрузки и не попадет в СЭД. Если в настройках наименование отчета не указано, то для импорта этого документа наличие какого-либо отчета не является необходимым условием и этот документ будет импортирован даже без единого отчета. При этом при импорте документов всегда забираются все вложения прикрепленные в 1С.<br>
|
||||
**Сущность вложения** – наименование сущности 1С, в которую необходимо передавать данные. Содержит перечень файлов – наименование, расширение, связка с документом в 1С, например, *Catalog_ОтпускПрисоединенныеФайлы*<br>
|
||||
**Параметры для запроса вложений**
|
||||
**Сущность хранилища файлов** - промежуточная сущность в которой хранится связь между присоединенными файлами документа и самими двоичными данными файлов InformationRegister_ХранилищеФайлов, также необходимо Catalog_ХранилищеДвоичныхДанных прописать в Сущность двоичных данных файлов
|
||||
**Сущность двоичных данных файлов** InformationRegister_ДвоичныеДанныеФайлов, сущность, в которой хранятся все файлы в двоичном представлении.<br>
|
||||
Существует два вида условий для выбора документов в 1С для формирования «Документа на подписание» в СЭД:<br>
|
||||
• наличие во вложении отчета с определенным наименованием (например, для отпуска - это отчет «Приказ о предоставлении отпуска (Т-6…». ) <br>
|
||||
• условия из поля «Параметры» (например, для отпуска, статус ДокументРассчитан).<br>
|
||||
**Заполнить поле "Работник"**
|
||||
![alt text](media/image-5.png)
|
||||
|
||||
**Справочник в Лексеме** – подтип из Конструктора документов для типа «Документ на подписание», который указан в поле Наименование документа.
|
||||
|
||||
**Наименование документа** – наименование документа, с которым будет происходить обмен данными.
|
||||
|
||||
**Сущность в 1С** – сущность на стороне 1С для обмена данными. В этих строчках указываются параметры для передачи документов на подписание в 1С.
|
||||
|
||||
**Параметр для запроса сущности в 1С**
|
||||
|
||||
**Дополнительные условия к документу 1С** - условия для загрузки документа в СЭД , например, для документа «Отпуск» - это
|
||||
```json
|
||||
{ "ПредоставитьОсновнойОтпуск": true, "ДокументРассчитан": true },
|
||||
```
|
||||
так как данный вид сущности должен быть рассчитан . А для отпуска без сохранения оплаты параметры будут заполнены следующим образом:
|
||||
```json
|
||||
{"ВидОтпуска_Key":"7601b82e-8584-11e2-9371-001b11b25590"}.
|
||||
```
|
||||
Определение параметров выполняется исходя из анализа сущности 1С.
|
||||
|
||||
**Наименование отчета в 1С** – наименование отчета в 1С, присоединенного к документу, наличие которого является обязательным условием для импорта документа из 1С в СЭД.
|
||||
|
||||
Например, для документа «Отпуск» – во вложении анализируется наличие Приказа о предоставлении отпуска (Т-6). Если еще нет вложения, то приказ считается не удовлетворяющим условиям загрузки и не попадет в СЭД. Если в настройках наименование отчета не указано, то для импорта этого документа наличие какого-либо отчета не является необходимым условием и этот документ будет импортирован даже без единого отчета. При этом при импорте документов всегда забираются все вложения прикрепленные в 1С.
|
||||
|
||||
**Сущность вложения** – наименование сущности 1С, в которую необходимо передавать данные. Содержит перечень файлов – наименование, расширение, связка с документом в 1С, например, `Catalog_ОтпускПрисоединенныеФайлы`
|
||||
|
||||
**Сущность хранилища файлов** - промежуточная сущность в которой хранится связь между присоединенными файлами документа и самими двоичными данными файлов InformationRegister_ХранилищеФайлов, также необходимо `Catalog_ХранилищеДвоичныхДанных` прописать в Сущность двоичных данных файлов
|
||||
|
||||
**Сущность двоичных данных файлов** `InformationRegister_ДвоичныеДанныеФайлов`, сущность, в которой хранятся все файлы в двоичном представлении.
|
||||
Существует два вида условий для выбора документов в 1С для формирования «Документа на подписание» в СЭД:
|
||||
|
||||
• наличие во вложении отчета с определенным наименованием (например, для отпуска - это отчет «Приказ о предоставлении отпуска (Т-6…». )
|
||||
• условия из поля «Параметры» (например, для отпуска, статус ДокументРассчитан).
|
||||
|
||||
## Документ в Лексеме
|
||||
|
||||
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.<br>
|
||||
![Рисунок 1 Настройка параметров обмена с 1С](../media/Настройка_параметров_обмена_с_1С.png)<br>
|
||||
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.
|
||||
|
||||
Для загрузки документов 1С в документы, отличные от Документов на подписание, то есть физические документы СЭД предусмотрен блок настроек с типом «Документ в Лексеме».<br>
|
||||
Отличием настроек от предыдущих документов является поле *«Порядок выполнения»* и *«Наименование документа»*.<br>
|
||||
**Порядок выполнения** – указывается по документам, для загрузки которых важна хронология этапов. Например, для документа «График отпусков» - сначала необходимо загрузить *«График отпусков»*, затем *«Перенос отпуска»*:<br>
|
||||
![Рисунок 1 Документ_в_Лексеме](../media/Документ_в_Лексеме.png) <br>
|
||||
Для загрузки документов 1С в документы, отличные от Документов на подписание, то есть физические документы СЭД предусмотрен блок настроек с типом «Документ в Лексеме».
|
||||
|
||||
Отличием настроек от предыдущих документов является поле *«Порядок выполнения»* и *«Наименование документа»*.
|
||||
|
||||
**Порядок выполнения** – указывается по документам, для загрузки которых важна хронология этапов. Например, для документа «График отпусков» - сначала необходимо загрузить *«График отпусков»*, затем *«Перенос отпуска»*:
|
||||
|
||||
![Рисунок 1 Документ_в_Лексеме](../media/Документ_в_Лексеме.png)
|
||||
|
||||
**Наименование документа** – форма СЭД, например, «RP_VacationForm».<br>
|
||||
**Сущность 1С** – наименование метаданных для загрузки в СЭД, например, Document_ГрафикОтпусков<br>
|
||||
**Параметры** не заполняются, так как данные не передаются в 1С.<br>
|
||||
**Сущность вложений** - сущность вложений файлов в 1С, из которой забираем данные. В ней хранится перечень файлов – наименование, расширение, связка с документом в 1С, например, Catalog_ ГрафикОтпусковПрисоединенныеФайлы<br>
|
||||
**Наименование документа** – форма СЭД, например, «RP_VacationForm».
|
||||
**Сущность 1С** – наименование метаданных для загрузки в СЭД, например, Document_ГрафикОтпусков
|
||||
**Параметры** не заполняются, так как данные не передаются в 1С.
|
||||
**Сущность вложений** - сущность вложений файлов в 1С, из которой забираем данные. В ней хранится перечень файлов – наименование, расширение, связка с документом в 1С, например, Catalog_ ГрафикОтпусковПрисоединенныеФайлы
|
||||
|
||||
**Сущность файла** InformationRegister_ДвоичныеДанныеФайлов, сущность 1С, в которой хранятся все файлы в двоичном представлении. <br>
|
||||
**Сущность файла** InformationRegister_ДвоичныеДанныеФайлов, сущность 1С, в которой хранятся все файлы в двоичном представлении.
|
||||
|
||||
## Настройка входящих документов
|
||||
|
||||
Тип | Наименование справочника в Лексеме | Наименование документа | Сущность в 1С | Параметр для запроса сущности в 1С | Дополнительные условия к документу 1С | Условие наличия отчета в 1С (наименование отчета) | Наименования отчетов в 1С для для загрузки во вложения к документу | Наименование повторяющейся части | Сущность вложений | Сущность файлов
|
||||
:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|-:-----------|:-----------|:-----------
|
||||
Документ в Лексеме | | RP_VacationForm | Document_ГрафикОтпусков | | | Форма Т-7 | | Сотрудники | Catalog_ГрафикОтпусковПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Документ в Лексеме | | RP_VacationChangesForm | Document_ПереносОтпуска | | | | | Переносы | Catalog_ПереносОтпускаПрисоединенныеФайлы_ | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Документ в Лексеме | | RP_WorkTabBaseForm | Document_ТабельУчетаРабочегоВремени | | | | | | Catalog_ТабельУчетаРабочегоВремениПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Документ в Лексеме | | RP_WorkContractForm | Document_ПриемНаРаботу | $filter=ВидДоговора eq 'ТрудовойДоговор' | | | | | |
|
||||
Документ в Лексеме | | RP_StaffingForm | Document_УтверждениеШтатногоРасписания | | | | | Позиции | Catalog_УтверждениеШтатногоРасписанияПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Договор подряда | Договор подряда | Document_ДоговорРаботыУслуги | ?$filter=Date gt datetime'{{LastDay}}' | | Договор подряда | Договор подряда | | Catalog_ДоговорРаботыУслугиПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов_
|
||||
Подтип документа на подписание | Перенос отпуска | ПереносОтпуска | Document_ПереносОтпуска | ?$filter=Date gt datetime'{{LastDay}}' | | | | | Catalog_ПереносОтпускаПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на материальную помощь | МатериальнаяПомощь | Document_МатериальнаяПомощь | ?$filter=Date gt datetime'{{LastDay}}' | | | | Начисления | Catalog_МатериальнаяПомощьПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на материальную помощь | ВозмещениеФСС | Document_ЗаявлениеВФССОВозмещенииРасходовНаПогребение | ?$filter=Date gt datetime'{{LastDay}}' | | | Универсальный документ;Приказ | Оплаты | Catalog_ЗаявлениеВФССОВозмещенииРасходовНаПогребениеПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск | УчебныйОтпускБезОплаты | Document_ОтпускБезСохраненияОплаты | ?$filter=Date gt datetime'{{LastDay}}' | | | | | Catalog_ОтпускБезСохраненияОплатыПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск | ЕжегодныйОтпускКомпенсация | Document_Отпуск | ?$filter=Date gt datetime'{{LastDay}}' | { "ПредоставитьКомпенсациюОсновногоОтпуска": true } | Приказ о предоставлении отпуска (Т-6 | | | Catalog_ОтпускПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск | ДополнительныйОтпуск | Document_Отпуск | ?$filter=Date gt datetime'{{LastDay}}' | { "ПредоставитьДополнительныйОтпуск": true} | Приказ о предоставлении отпуска (Т-6 | | | Catalog_ОтпускПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск | ДополнительныйОтпускКомпенсация | Document_Отпуск | ?$filter=Date gt datetime'{{LastDay}}' | { "ПредоставитьДополнительныйОтпуск": true} | Приказ о предоставлении отпуска (Т-6 | | | Catalog_ОтпускПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск | ОтпускЕжегодный | Document_Отпуск | ?$filter=Date gt datetime'{{LastDay}}' | { "ПредоставитьОсновнойОтпуск": true,"ДокументРассчитан": true } | Приказ о предоставлении отпуска (Т-6 | Приказ о предоставлении отпуска (Т-6; Записка - расчет о предоставлении отпуска работнику;ДС_Изменение;Приказ_на_материальную_помощь | | Catalog_ОтпускПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск | ПереносБОЛОтпуск | Document_Отпуск | ?$filter=Date gt datetime'{{LastDay}}' | | | | | Catalog_ОтпускПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск без сохранения оплаты | ОтпускБезСохр | Document_ОтпускБезСохраненияОплаты | ?$filter=Date gt datetime'{{LastDay}}' | | Приказ о предоставлении отпуска | | | Catalog_ОтпускБезСохраненияОплатыПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ на отпуск по беременности и родам | Отпуск по беременности и родам | Document_БольничныйЛист | ?$filter=Date gt datetime'{{LastDay}}' | | | | | |
|
||||
Подтип документа на подписание | Приказ о направлении в командировку | Командировка | Document_Командировка | ?$filter=Date gt datetime'{{LastDay}}' | | | | | Catalog_КомандировкаПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ о направлении в командировку | Командировка группы | Document_КомандировкиСотрудников | ?$filter=Date gt datetime'{{LastDay}}' | | | | Сотрудники | Catalog_КомандировкиСотрудниковПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ о неявке | ПрогулНеявкаДонорские | Document_ПрогулНеявка | ?$filter=Date gt datetime'{{LastDay}}' | | | | | Catalog_ОтпускПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ о переводе | КадровыйПеревод | Document_КадровыйПеревод | ?$filter=Date gt datetime'{{LastDay}}' | | Приказ о переводе | | | Catalog_КадровыйПереводПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ о предоставлении дополнительных оплачиваемых выходных дней для ухода за ребенком-инвалидом | ОплатаДнейУходаЗаДетьмиИнвалидами | Document_ОплатаДнейУходаЗаДетьмиИнвалидами | ?$filter=Date gt datetime'{{LastDay}}' | | Приказ о предоставлении дополнительных оплачиваемых выходных дней для ухода за ребенком-инвалидом | Приказ о предоставлении дополнительных оплачиваемых выходных дней для ухода за ребенком-инвалидом | | Catalog_ОплатаДнейУходаЗаДетьмиИнвалидамиПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Приказ о приеме | ПриемНаРаботу | Document_ПриемНаРаботу | ?$filter=Date gt datetime'{{LastDay}}' | | | | | Catalog_ПриемНаРаботуПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Расчетный лист | РасчетныйЛист | | | | | Расчетный лист | | |
|
||||
Подтип документа на подписание | Расчетный лист | РасчетныйЛист | | | | | | | |
|
||||
Подтип документа на подписание | Справка 2 НДФЛ | СправкаНДФЛ | Document_СправкаНДФЛ | ?$filter=Date gt datetime'{{LastDay}}' | | Форма 2НДФЛ | Форма 2НДФЛ | | Catalog_СправкаНДФЛПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Справка о работе с печатью | СправкаОРаботеСПечатью | Catalog_ФизическиеЛица | | | Справка о работе с печатью | Справка о работе с печатью | | Catalog_ФизическиеЛицаПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Подтип документа на подписание | Табель учета рабочего времени | ТабельУчетаРабочегоВремени | Document_ТабельУчетаРабочегоВремени | | | | | ДанныеОВремени | Catalog_ТабельУчетаРабочегоВремениПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Документ в Лексеме | | RP_StaffingForm | Document_УтверждениеШтатногоРасписания | $filter=Date gt datetime'2022-06-01T00:00:00' | {"Posted": true} | | | Позиции,Начисления,Показатели | Catalog_УтверждениеШтатногоРасписанияПрисоединенныеФайлы | InformationRegister_ДвоичныеДанныеФайлов
|
||||
Документ в Лексеме | | RP_StaffingForm | Document_ИзменениеШтатногоРасписания | $filter=Date gt datetime'2023-01-01T00:00:00' | {"Posted": true} | | | Позиции,Начисления,Показатели | |
|
||||
Дополнительный регистр | | RP_StaffingForm | InformationRegister_ГрейдыПозиций | | | | | | |
|
||||
|
||||
|
|
After Width: | Height: | Size: 107 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 249 KiB |
|
@ -1,118 +1,431 @@
|
|||
# Вкладка "Исходящие документы"
|
||||
|
||||
Для настройки нужно в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".<br>
|
||||
Для настройки нужно в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".
|
||||
|
||||
Данная вкладка предназначена для описания настроек по документам, отправляемым в 1С. <br>
|
||||
При первом входе в документ, табличная часть вкладки «Исходящие документы» будет пред заполнена.<br>
|
||||
Данная вкладка предназначена для описания настроек по документам, отправляемым в 1С.
|
||||
При первом входе в документ, табличная часть вкладки «Исходящие документы» будет пред заполнена.
|
||||
|
||||
![Рисунок 1 Вкладка_Исходящие_документы](../media/Вкладка_Исходящие_документы.png) <br>
|
||||
Необходимо заполнить столбец «Справочник в Лексеме» в строках с «Типами»: <br>
|
||||
• Заявление от сотрудника<br>
|
||||
• Реквизиты заявлений от сотрудников<br>
|
||||
• Служебная записка на командировку<br>
|
||||
В зависимости от того, на каком «Типе» строк вызывается справочник – для выбора будет соответствующий набор данных. <br>
|
||||
![Рисунок 1 Вкладка_Исходящие_документы](../media/Вкладка_Исходящие_документы.png)
|
||||
|
||||
Необходимо заполнить столбец «Справочник в Лексеме» в строках с «Типами»:
|
||||
• Заявление от сотрудника
|
||||
• Реквизиты заявлений от сотрудников
|
||||
• Служебная записка на командировку
|
||||
В зависимости от того, на каком «Типе» строк вызывается справочник – для выбора будет соответствующий набор данных.
|
||||
|
||||
## Заявления от сотрудников
|
||||
|
||||
Для «Типа» строк «Заявления от сотрудников» необходимо заполнить следующие поля:
|
||||
**Справочник в Лексеме** – подтип из документа «Конструктор документов» с типом «Заявление от сотрудника»:
|
||||
|
||||
![Рисунок 1 Справочник_для_заявлений](../media/Справочник_для_заявлений.png)<br>
|
||||
![Рисунок 1 Конструктор_Заявления](../media/Конструктор_Заявления.png)<br>
|
||||
![Рисунок 1 Справочник_для_заявлений](../media/Справочник_для_заявлений.png)
|
||||
![Рисунок 1 Конструктор_Заявления](../media/Конструктор_Заявления.png)
|
||||
|
||||
**Наименование документа** – наименование документа, в который будут передаваться данные. <br>
|
||||
**Сущность в 1С** – наименование метаданных для обмена данными с 1С. Для заявлений указываются параметры для передачи. Например, Document_Отпуск.<br>
|
||||
**Параметр** #- шаблон json передачи данных в 1С для создания приказа, указанного в столбцах "Наименование документа" и "Сущность в 1С".<br>
|
||||
Например, при формировании запроса, на основании строки шаблона "Сотрудник_Key": "" из таблицы соответствия по данным заявления подбирается код сотрудника и строка будет иметь вид:<br>
|
||||
*"Сотрудник_Key": "d3533108-6e8a-11dc-827a-000bcdf174e3"*<br>
|
||||
**Наименование документа** – наименование документа, в который будут передаваться данные.
|
||||
**Сущность в 1С** – наименование метаданных для обмена данными с 1С. Для заявлений указываются параметры для передачи. Например, Document_Отпуск.
|
||||
**Параметр** #- шаблон json передачи данных в 1С для создания приказа, указанного в столбцах "Наименование документа" и "Сущность в 1С".
|
||||
Например, при формировании запроса, на основании строки шаблона "Сотрудник_Key": "" из таблицы соответствия по данным заявления подбирается код сотрудника и строка будет иметь вид:
|
||||
*"Сотрудник_Key": "d3533108-6e8a-11dc-827a-000bcdf174e3"*
|
||||
|
||||
При первоначальной настройке необходимо для документов типа "Отпуск" указать guid видов отпуска, в тэгах "ВидОтпуска_Key":,
|
||||
"ВидРасчета_Key": <br>
|
||||
"ВидРасчета_Key":
|
||||
|
||||
**Параметр для повторяющей части** заполняется, например, для Заявлений на доп. отпуска, потому что заявление обычно составляет один сотрудник, а для доп. отпусков запись в 1С производится в табличную часть. Для того, чтобы значение данного поля учлось при формировании параметра, в поле *Параметр* указывается служебное слово **%parametrDetail%** <br>
|
||||
**Параметр для повторяющей части** заполняется, например, для Заявлений на доп. отпуска, потому что заявление обычно составляет один сотрудник, а для доп. отпусков запись в 1С производится в табличную часть. Для того, чтобы значение данного поля учлось при формировании параметра, в поле *Параметр* указывается служебное слово **%parametrDetail%**
|
||||
|
||||
**Например**,<br>
|
||||
*Параметр*<br>
|
||||
{"ФизическоеЛицо_Key": "",<br>
|
||||
"Сотрудник_Key": "",<br>
|
||||
................<br>
|
||||
"НачалоОтпуска": "0001-01-01T00:00:00",<br>
|
||||
"ОкончаниеОтпуска": "0001-01-01T00:00:00",<br>
|
||||
%parametrDetail% --Это часть про дополнительные отпуска<br>
|
||||
}<br>
|
||||
**Например**,
|
||||
```json
|
||||
*Параметр*
|
||||
{"ФизическоеЛицо_Key": "",
|
||||
"Сотрудник_Key": "",
|
||||
................
|
||||
"НачалоОтпуска": "0001-01-01T00:00:00",
|
||||
"ОкончаниеОтпуска": "0001-01-01T00:00:00",
|
||||
%parametrDetail% --Это часть про дополнительные отпуска
|
||||
}
|
||||
|
||||
*Параметр для повторяющей части*<br>
|
||||
"ДополнительныеОтпуска": [<br>
|
||||
{<br>
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",<br>
|
||||
.....<br>
|
||||
}<br>
|
||||
]<br>
|
||||
*Параметр для повторяющей части*
|
||||
"ДополнительныеОтпуска": [
|
||||
{
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",
|
||||
.....
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**Сущность вложения** - сущность на стороне 1С, в которую передаются вложения (файлы) из документа «Заявления от сотрудника». В ней хранится перечень файлов – наименование, расширение, связка с документом в 1С, например, Catalog_ОтпускПрисоединенныеФайлы<br>
|
||||
**Сущность хранилища файлов** InformationRegister_ХранилищеФайлов, сущность, в которой хранятся все файлы в двоичном представлении.<br>
|
||||
**Сущность вложения** - сущность на стороне 1С, в которую передаются вложения (файлы) из документа «Заявления от сотрудника». В ней хранится перечень файлов – наименование, расширение, связка с документом в 1С, например, Catalog_ОтпускПрисоединенныеФайлы
|
||||
**Сущность хранилища файлов** InformationRegister_ХранилищеФайлов, сущность, в которой хранятся все файлы в двоичном представлении.
|
||||
|
||||
<!-- **Шаблон json вложения** – шаблон для передачи вложения в 1С. Имеет одинаковый формат для всех типов документов.<br>
|
||||
**Шаблон json файлов** – шаблон для передачи вложения в 1С. Имеет одинаковый формат для всех типов документов.<br>
|
||||
<!-- **Шаблон json вложения** – шаблон для передачи вложения в 1С. Имеет одинаковый формат для всех типов документов.
|
||||
**Шаблон json файлов** – шаблон для передачи вложения в 1С. Имеет одинаковый формат для всех типов документов.
|
||||
{"Файл": "", "Файл_Type": "StandardODATA.Catalog_ОтпускПрисоединенныеФайлы", здесь сущность вложения будет подставлена та, которая указана по строке
|
||||
"ДвоичныеДанныеФайла_Type": "application/octet-stream",
|
||||
" ": ""
|
||||
}<br> -->
|
||||
} -->
|
||||
|
||||
|
||||
При появлении нового типа заявления, обмен которыми необходим между системами, нужно внести вручную новые строчки с типом и заполнить все необходимые данные. В первую очередь внести данный подтип заявления в «Конструктор документов» и указать код созданного подтипа в поле «Справочник в Лексеме | Выбор».<br>
|
||||
При появлении нового типа заявления, обмен которыми необходим между системами, нужно внести вручную новые строчки с типом и заполнить все необходимые данные. В первую очередь внести данный подтип заявления в «Конструктор документов» и указать код созданного подтипа в поле «Справочник в Лексеме | Выбор».
|
||||
Для параметров, которые должны быть заполнены из СЭД, оставляем строчку пустой ": ""
|
||||
Это реквизиты заявлений, а также поля: ФизическоеЛицо_Key,Сотрудник_Key,ОсновнойСотрудник_Key,ПериодРегистрации,Date,Организация_Key,Основание,Комментарий.<br>
|
||||
Дату документа "Date": "", совсем убираем из шаблона, если нужно чтобы дата создаваемого в 1С документа устанавливалась текущей датой, если будет данная строчка в шаблоне – возьмется дата заявления <br>
|
||||
Значения, которые передавать не надо, заполняем нулевыми значениями, н-р, “Руководитель_Key” : "00000000-0000-0000-0000-000000000000".<br>
|
||||
Это реквизиты заявлений, а также поля: ФизическоеЛицо_Key,Сотрудник_Key,ОсновнойСотрудник_Key,ПериодРегистрации,Date,Организация_Key,Основание,Комментарий.
|
||||
Дату документа "Date": "", совсем убираем из шаблона, если нужно чтобы дата создаваемого в 1С документа устанавливалась текущей датой, если будет данная строчка в шаблоне – возьмется дата заявления
|
||||
Значения, которые передавать не надо, заполняем нулевыми значениями, н-р, “Руководитель_Key” : "00000000-0000-0000-0000-000000000000".
|
||||
|
||||
**Например**,<br>
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000", --заполняем нули, так как поле типа quid и не передаем из СЭД<br>
|
||||
"DataVersion": "AAACsQAAAAA=",<br>
|
||||
"DeletionMark": false,<br>
|
||||
"Number": "",<br>
|
||||
"Posted": true,<br>
|
||||
"Организация_Key": "", --не заполняем, так как поле передается из СЭД<br>
|
||||
"ФизическоеЛицо_Key": "", --не заполняем, так как поле передается из СЭД <br>
|
||||
"ПериодРасчетаСреднегоЗаработкаНачало": "0001-01-01T00:00:00", --поле типа дата, не передаем из СЭД, поэтому заполняем нулевым значением <br>
|
||||
........<br>
|
||||
**Например**,
|
||||
```json
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000", --заполняем нули, так как поле типа quid и не передаем из СЭД
|
||||
"DataVersion": "AAACsQAAAAA=",
|
||||
"DeletionMark": false,
|
||||
"Number": "",
|
||||
"Posted": true,
|
||||
"Организация_Key": "", --не заполняем, так как поле передается из СЭД
|
||||
"ФизическоеЛицо_Key": "", --не заполняем, так как поле передается из СЭД
|
||||
"ПериодРасчетаСреднегоЗаработкаНачало": "0001-01-01T00:00:00", --поле типа дата, не передаем из СЭД, поэтому заполняем нулевым значением
|
||||
........
|
||||
```
|
||||
|
||||
## Реквизиты заявления от сотрудников
|
||||
|
||||
Для формирования файла обмена по Заявлению от сотрудников необходимы соответствия данных в 1с и СЭД. <br>
|
||||
**Справочник в Лексеме** – атрибут документа «Конструктор документов», из которого берутся значения для составления файла обмена передачи документа.<br>
|
||||
Для формирования файла обмена по Заявлению от сотрудников необходимы соответствия данных в 1с и СЭД.
|
||||
**Справочник в Лексеме** – атрибут документа «Конструктор документов», из которого берутся значения для составления файла обмена передачи документа. Выпадающий список с атрибутами отфильтровывается по выбранному конструктору.
|
||||
|
||||
![Рисунок 1 Справочник_для_реквизитов ](../media/Справочник_для_реквизитов.png) <br>
|
||||
![Рисунок 2 Атрибуты_конструктора](../media/Атрибуты_конструктора.png) <br>
|
||||
![alt text](media/image.png)
|
||||
|
||||
При выборе соответсвующего справочника в документе отображается его наименование.
|
||||
![Рисунок 3 Наименование_справочника](../media/Наименование_справочника.png) <br>
|
||||
![Рисунок 3 Наименование_справочника](../media/Наименование_справочника.png)
|
||||
|
||||
**Наименование документа** – наименование документа, в который будут передаваться данные. <br>
|
||||
**Сущность в 1С** – сущность на стороне 1С, в которую передаются данные. В этих строчках указываются параметры для передачи заявления от сотрудника в 1С.<br>
|
||||
**Параметры** – имя реквизита в 1С, которое будет подставлено в шаблон выгрузки заявления.<br>
|
||||
Например, в шаблоне для заявления указана строка *"ДатаНачалаОсновногоОтпуска"*: "",<br>
|
||||
*ДатаНачалаОсновногоОтпуска* – по этому реквизиту будет найдена строчка с описанием реквизита, по коду реквизита из документа Заявление от сотрудника найдется значение и итоговая строчка будет иметь вид: *"ДатаНачалаОсновногоОтпуска"*:*"01.12.2021"*<br>
|
||||
**Наименование документа** – наименование документа, в который будут передаваться данные.
|
||||
**Сущность в 1С** – сущность на стороне 1С, в которую передаются данные. В этих строчках указываются параметры для передачи заявления от сотрудника в 1С.
|
||||
**Параметры** – имя реквизита в 1С, которое будет подставлено в шаблон выгрузки заявления.
|
||||
Например, в шаблоне для заявления указана строка *"ДатаНачалаОсновногоОтпуска"*: "",
|
||||
*ДатаНачалаОсновногоОтпуска* – по этому реквизиту будет найдена строчка с описанием реквизита, по коду реквизита из документа Заявление от сотрудника найдется значение и итоговая строчка будет иметь вид: *"ДатаНачалаОсновногоОтпуска"*:*"01.12.2021"*
|
||||
|
||||
## Служебная записка на командировку для интеграции с 1С
|
||||
Пример настройки для подтипа **"Заявление на ежегодный оплачиваемый отпуск (по графику отпусков)"**:
|
||||
|
||||
Настройки похожи на тип «Заявления от сотрудника», но создается другой тип документа - «Служебная записка на командировку». Документ не делится по подтипам, поэтому нет необходимости указывать подтип в поле «Справочник в Лексеме | Выбор».<br>
|
||||
|
||||
**Параметр для повторяющей части** – в СЗ на командировку может быть указано несколько сотрудников в табличной части документа. В этом поле указывается шаблон json для формирования файла обмена по табличной части документа.<br>
|
||||
- **Тип заявления:** Заявления от сотрудников
|
||||
- **Наименование:** Заявление на ежегодный основной оплачиваемый отпуск (по графику отпусков)
|
||||
- **Наименование документа:** ОтпускЕжегодный
|
||||
- **Сущность в 1С:** `Document_Отпуск`
|
||||
- **Параметр:**
|
||||
|
||||
```json
|
||||
{"ФизическоеЛицо_Key": "",
|
||||
"Сотрудник_Key": "",
|
||||
"ПериодРегистрации": "",
|
||||
"ДатаНачалаОсновногоОтпуска": "",
|
||||
"Организация_Key": "",
|
||||
"ДатаНачалаПериодаОтсутствия": "",
|
||||
"ДатаОкончанияПериодаОтсутствия": "",
|
||||
"КоличествоДнейОсновногоОтпуска": "",
|
||||
"ДатаНачалаСобытия": "",
|
||||
"ДатаОкончанияОсновногоОтпуска": "",
|
||||
"Основание": "Заявление от сотрудника",
|
||||
"ЗаявкаСотрудника": "",
|
||||
"ПредставлениеПериода": "",
|
||||
"DeletionMark": false,
|
||||
"Posted": false,
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПредоставитьОсновнойОтпуск": true,
|
||||
"КоличествоДнейКомпенсацииОсновногоОтпуска": 0,
|
||||
"РасходЧасовОтгула": 0,
|
||||
"ПредоставитьОтгул": false,
|
||||
"КоличествоДнейОтгула": 0,
|
||||
"ПредоставитьКомпенсациюОсновногоОтпуска": false,
|
||||
"ПредоставитьЕдиновременнуюВыплатуКОтпуску": false,
|
||||
"ПредоставитьДополнительныйОтпуск": false,
|
||||
"РасходДнейОтгула": 0,
|
||||
"ПредоставитьМатериальнуюПомощьПриОтпуске": false,
|
||||
"ВидРасчетаОтгул_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ВидРасчетаЕдиновременнойВыплатыКОтпуску_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ВидРасчетаМатериальнойПомощиПриОтпуске_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ФиксПериодРасчетаСреднегоЗаработка": false,
|
||||
"Руководитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПорядокВыплаты": "Межрасчет",
|
||||
"ОснованиеПодписиРуководителя": "",
|
||||
"ДокументПроведен": false,
|
||||
"ДокументРассчитан": false,
|
||||
"РассчитатьЗарплату": false,
|
||||
"ИсправленныйДокумент_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ГлавныйБухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьГлавногоБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Бухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиГлавногоБухгалтера": "",
|
||||
"ДолжностьРуководителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДокументЗаполнения_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Ответственный_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Исполнитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиРаботникаКадровойСлужбы": "",
|
||||
"ДолжностьБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьИсполнителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"РаботникКадровойСлужбы_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьРаботникаКадровойСлужбы_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиБухгалтера": "",
|
||||
"ДатаЗапрета": "0001-01-01T00:00:00",
|
||||
"УчитыватьМРОТПриОплатеПоСреднемуЗаработку": true,
|
||||
"НачалоОтпуска": "0001-01-01T00:00:00",
|
||||
"ОкончаниеОтпуска": "0001-01-01T00:00:00"
|
||||
}
|
||||
```
|
||||
|
||||
Остальные поля заполняются аналогично типу [«Заявления от сотрудника»](#заявления_от_сотрудников)
|
||||
- **Сущность вложений:** Catalog_ОтпускПрисоединенныеФайлы
|
||||
- **Сущность хранилища файлов:** InformationRegister_ХранилищеФайлов
|
||||
- **Сущность двоичных данных файлов:** Catalog_ХранилищеДвоичныхДанных
|
||||
|
||||
## Служебная записка на конструкторе
|
||||
|
||||
Настройки похожи на тип «Заявления от сотрудника», но создается другой тип документа - «СЗ на конструкторе».
|
||||
|
||||
- **Тип заявления:** СЗ на конструкторе
|
||||
- **Наименование:** (для ЗУП УПР) КТУ
|
||||
- **Наименование документа:** (для ЗУП УПР) КТУ
|
||||
- **Сущность в 1С:** `InformationRegister_нп_СлужебныеЗапискиЛексема`
|
||||
- **Параметр:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Ref_Key": "",
|
||||
"Period": "",
|
||||
"ТипСлужебнойЗаписки": "КТУ",
|
||||
"GUID_Сотрудник": "",
|
||||
"Сумма": ""
|
||||
}
|
||||
```
|
||||
|
||||
- **Сущность хранилища файлов:** InformationRegister_ХранилищеФайлов
|
||||
- **Сущность двоичных данных файлов:** Catalog_ХранилищеДвоичныхДанных
|
||||
|
||||
## Служебная записка на командировку
|
||||
|
||||
Настройки похожи на тип «Заявления от сотрудника», но создается другой тип документа - «Служебная записка на командировку». Документ не делится по подтипам, поэтому нет необходимости указывать подтип в поле «Справочник в Лексеме | Выбор».
|
||||
|
||||
- **Тип заявления:** Служебная записка на командировку
|
||||
- **Наименование:** Командировка
|
||||
- **Сущность в 1С:** `Document_Командировка`
|
||||
- **Параметр:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"DataVersion": "AAAABwAAAAA=",
|
||||
"DeletionMark": false,
|
||||
"Number": "",
|
||||
"Posted": true,
|
||||
"ПериодРегистрации": "",
|
||||
"Организация_Key": "",
|
||||
"Сотрудник_Key": "",
|
||||
"ФизическоеЛицо_Key": "",
|
||||
"ВидРасчета_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ВнутрисменнаяКомандировка": false,
|
||||
"ДатаНачала": "",
|
||||
"ДатаОкончания": "",
|
||||
"ДатаКомандировки": "0001-01-01T00:00:00",
|
||||
"ОплачиватьЧасов": 0,
|
||||
"ДатаНачалаСобытия": "",
|
||||
"ОсвобождатьСтавку": false,
|
||||
"ПериодРасчетаСреднегоЗаработкаНачало": "0001-01-01T00:00:00",
|
||||
"ПериодРасчетаСреднегоЗаработкаОкончание": "0001-01-01T00:00:00",
|
||||
"ФиксПериодРасчетаСреднегоЗаработка": false,
|
||||
"СреднийЗаработок": 0,
|
||||
"Начислено": 0,
|
||||
"Удержано": 0,
|
||||
"ВидВремениЗамещаемый_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПорядокВыплаты": "Зарплата",
|
||||
"ПланируемаяДатаВыплаты": "0001-01-01T00:00:00",
|
||||
"ИсправленныйДокумент_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДокументРассчитан": false,
|
||||
"Рассчитал_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПредставлениеПериода": "",
|
||||
"МестоНазначения": "",
|
||||
"ОрганизацияНазначения": "",
|
||||
"Основание": "",
|
||||
"Цель": "",
|
||||
"ДнейВПути": 0,
|
||||
"КомандировкаЗаСчетСредств": "",
|
||||
"Руководитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьРуководителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиРуководителя": "",
|
||||
"ГлавныйБухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьГлавногоБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиГлавногоБухгалтера": "",
|
||||
"Бухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиБухгалтера": "",
|
||||
"Исполнитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьИсполнителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиИсполнителя": "",
|
||||
"ЗаявкаСотрудника": ""
|
||||
}
|
||||
```
|
||||
|
||||
**Параметр для повторяющей части** – в СЗ на командировку может быть указано несколько сотрудников в табличной части документа. В этом поле указывается шаблон json для формирования файла обмена по табличной части документа.
|
||||
|
||||
- **Сущность вложений:** Catalog_КомандировкаПрисоединенныеФайлы
|
||||
- **Сущность хранилища файлов:** InformationRegister_ХранилищеФайлов
|
||||
- **Сущность двоичных данных файлов:** Catalog_ХранилищеДвоичныхДанных
|
||||
|
||||
## Служебная записка на командировку на конструкторе
|
||||
|
||||
- **Тип заявления:** Служебная записка на командировку
|
||||
- **Наименование:** Командировка
|
||||
- **Сущность в 1С:** `Document_Командировка`
|
||||
- **Параметр:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"DataVersion": "AAAABwAAAAA=",
|
||||
"DeletionMark": false,
|
||||
"Number": "",
|
||||
"Posted": false,
|
||||
"ПериодРегистрации": "",
|
||||
"Организация_Key": "",
|
||||
"Сотрудник_Key": "",
|
||||
"ФизическоеЛицо_Key": "",
|
||||
"ВидРасчета_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ВнутрисменнаяКомандировка": false,
|
||||
"ДатаНачала": "",
|
||||
"ДатаОкончания": "",
|
||||
"ДатаКомандировки": "0001-01-01T00:00:00",
|
||||
"ОплачиватьЧасов": 0,
|
||||
"ДатаНачалаСобытия": "",
|
||||
"ОсвобождатьСтавку": false,
|
||||
"ПериодРасчетаСреднегоЗаработкаНачало": "0001-01-01T00:00:00",
|
||||
"ПериодРасчетаСреднегоЗаработкаОкончание": "0001-01-01T00:00:00",
|
||||
"ФиксПериодРасчетаСреднегоЗаработка": false,
|
||||
"СреднийЗаработок": 0,
|
||||
"Начислено": 0,
|
||||
"Удержано": 0,
|
||||
"ВидВремениЗамещаемый_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПорядокВыплаты": "Зарплата",
|
||||
"ПланируемаяДатаВыплаты": "0001-01-01T00:00:00",
|
||||
"ИсправленныйДокумент_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДокументРассчитан": false,
|
||||
"Рассчитал_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПредставлениеПериода": "",
|
||||
"МестоНазначения": "",
|
||||
"ОрганизацияНазначения": "",
|
||||
"Основание": "",
|
||||
"Цель": "",
|
||||
"ДнейВПути": 0,
|
||||
"КомандировкаЗаСчетСредств": "",
|
||||
"Руководитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьРуководителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиРуководителя": "",
|
||||
"ГлавныйБухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьГлавногоБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиГлавногоБухгалтера": "",
|
||||
"Бухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиБухгалтера": "",
|
||||
"Исполнитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьИсполнителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиИсполнителя": "",
|
||||
"ЗаявкаСотрудника": "",
|
||||
"Комментарий": ""
|
||||
}
|
||||
```
|
||||
|
||||
**Параметр для повторяющей части** – в СЗ на командировку может быть указано несколько сотрудников в табличной части документа. В этом поле указывается шаблон json для формирования файла обмена по табличной части документа.
|
||||
|
||||
- **Сущность вложений:** Catalog_КомандировкаПрисоединенныеФайлы
|
||||
- **Сущность хранилища файлов:** InformationRegister_ХранилищеФайлов
|
||||
- **Сущность двоичных данных файлов:** Catalog_ХранилищеДвоичныхДанных
|
||||
|
||||
## Уведомления Lexema
|
||||
|
||||
Из подписанных работником Уведомлений, сформированных по графику отпусков, есть возможность создавать приказ на отпуск в 1С.
|
||||
Для этого в конструкторе документов должен быть создан документ со служебным наименованием NotificationLexema:<br>
|
||||
Для этого в конструкторе документов должен быть создан документ со служебным наименованием NotificationLexema:
|
||||
|
||||
![Рисунок 1 Уведомление конструктор](../media/Уведомление конструктор.PNG) <br>
|
||||
![alt text](media/image-1.png)
|
||||
|
||||
|
||||
Настройки похожи на тип «Заявления от сотрудника». Документ не делится по подтипам, поэтому нет необходимости указывать подтип в поле «Справочник в Лексеме | Выбор».<br>
|
||||
- **Тип заявления:** Уведомления Lexema
|
||||
- **Наименование:** Уведомления об отпуске
|
||||
- **Наименование документа:** ОтпускИзУведомлений
|
||||
- **Сущность в 1С:** `Document_Отпуск`
|
||||
- **Параметр:**
|
||||
|
||||
```json
|
||||
|
||||
![Рисунок 2 Уведомления Lexema](../media/Уведомление.PNG) <br>
|
||||
{"ФизическоеЛицо_Key": "",
|
||||
"Сотрудник_Key": "",
|
||||
"ПериодРегистрации": "",
|
||||
"Организация_Key": "",
|
||||
"ДатаНачалаОсновногоОтпуска": "",
|
||||
"КоличествоДнейОсновногоОтпуска": "",
|
||||
"ДатаОкончанияОсновногоОтпуска": "",
|
||||
"ДатаНачалаПериодаОтсутствия": "",
|
||||
"ДатаНачалаСобытия": "",
|
||||
"Основание": "Заявление от сотрудника",
|
||||
"ЗаявкаСотрудника": "",
|
||||
"ПредставлениеПериода": "",
|
||||
"Комментарий": "",
|
||||
"ВидРасчетаКомпенсацииОсновногоОтпуска_Key":"00000000-0000-0000-0000-000000000000",
|
||||
"DeletionMark": false,
|
||||
"Posted": false,
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПредоставитьОсновнойОтпуск": ,
|
||||
"КоличествоДнейКомпенсацииОсновногоОтпуска": "",
|
||||
"РасходЧасовОтгула": 0,
|
||||
"ПредоставитьОтгул": false,
|
||||
"КоличествоДнейОтгула": 0,
|
||||
"ПредоставитьКомпенсациюОсновногоОтпуска": false,
|
||||
"ПредоставитьЕдиновременнуюВыплатуКОтпуску": false,
|
||||
"ПредоставитьДополнительныйОтпуск": ,
|
||||
"РасходДнейОтгула": 0,
|
||||
"ПредоставитьМатериальнуюПомощьПриОтпуске": false,
|
||||
"ВидРасчетаОтгул_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ВидРасчетаЕдиновременнойВыплатыКОтпуску_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ВидРасчетаМатериальнойПомощиПриОтпуске_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ФиксПериодРасчетаСреднегоЗаработка": false,
|
||||
"Руководитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ПорядокВыплаты": "Межрасчет",
|
||||
"ОснованиеПодписиРуководителя": "",
|
||||
"ДокументПроведен": false,
|
||||
"ДокументРассчитан": false,
|
||||
"ДокументПроведен": false,
|
||||
"РассчитатьЗарплату": false,
|
||||
"ИсправленныйДокумент_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ГлавныйБухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьГлавногоБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Бухгалтер_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиГлавногоБухгалтера": "",
|
||||
"ДолжностьРуководителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДокументЗаполнения_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Ответственный_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Исполнитель_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиРаботникаКадровойСлужбы": "",
|
||||
"ДолжностьБухгалтера_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьИсполнителя_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"РаботникКадровойСлужбы_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ДолжностьРаботникаКадровойСлужбы_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"ОснованиеПодписиБухгалтера": "",
|
||||
"ДатаЗапрета": "0001-01-01T00:00:00",
|
||||
"УчитыватьМРОТПриОплатеПоСреднемуЗаработку": true,
|
||||
"НачалоОтпуска": "0001-01-01T00:00:00",
|
||||
"ОкончаниеОтпуска": "0001-01-01T00:00:00",
|
||||
"ДополнительныеОтпуска": [%parametrDetail%]
|
||||
}
|
||||
```
|
||||
|
||||
**Параметр для повторяющей части:**
|
||||
|
||||
```json
|
||||
{
|
||||
"Ref_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"LineNumber": "1",
|
||||
"ВидОтпуска_Key": "",
|
||||
"ВидРасчета_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"НачалоПериодаЗаКоторыйПредоставляетсяОтпуск": "0001-01-01T00:00:00",
|
||||
"КонецПериодаЗаКоторыйПредоставляетсяОтпуск": "0001-01-01T00:00:00",
|
||||
"КоличествоДней": ,
|
||||
"ДатаНачала": "",
|
||||
"КоличествоДнейКомпенсации": 0,
|
||||
"ВидРасчетаКомпенсации_Key": "00000000-0000-0000-0000-000000000000",
|
||||
"Основание": "",
|
||||
"КоличествоДнейАвансом": 0,
|
||||
"ВидВремени_Key": "00000000-0000-0000-0000-000000000000"
|
||||
}
|
||||
```
|
||||
|
||||
- **Сущность вложений:** Catalog_ОтпускПрисоединенныеФайлы
|
||||
- **Сущность двоичных данных файлов:** Catalog_ХранилищеДвоичныхДанных
|
||||
|
||||
Остальные поля заполняются аналогично типу [«Заявления от сотрудника»](#заявления_от_сотрудников)
|
||||
Данные передаются в сущность Document_Отпуск.
|
||||
|
|
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 237 KiB |
|
@ -1,15 +1,19 @@
|
|||
# Вкладка "Соответствие справочников"
|
||||
|
||||
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".<br>
|
||||
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".
|
||||
|
||||
На вкладке «Соответствие справочников» необходимо сопоставить вручную соответствия, значения которых не нашлись автоматически. Автоматически соответствие проставляется только по виду документов физических лиц. <br>
|
||||
Выбор – виртуальное поле для выбора соответствующего справочника в Лексеме, например, для Филиалов – будет набор данных из Своих организаций, для контактной информации – справочники модуля по учету персонала и т.д. <br>
|
||||
![Рисунок 1 Спр_в_Лексеме](../media/Спр_в_Лексеме.png) <br>
|
||||
На вкладке **«Соответствие справочников»** необходимо сопоставить вручную соответствия, значения которых не нашлись автоматически. Автоматически соответствие проставляется только по виду документов физических лиц.
|
||||
|
||||
Выбранное значение сохраняется в физическом поле «Справочник в Лексеме».<br>
|
||||
![Рисунок 2 Вкладка_Основная](../media/Вкладка_Соответствие_справочников.png) <br>
|
||||
**Выбор** – виртуальное поле для выбора соответствующего справочника в Лексеме, например, для Филиалов – будет набор данных из Своих организаций, для контактной информации – справочники модуля по учету персонала и т.д.
|
||||
|
||||
В случае доменной авторизации обязательно нужно установить соответствие по типу справочника Вид контактной информации Email рабочий - справочнику в Лексеме, для загрузки соответсвующих данных в справочник физических лиц на закладку "Контакты"
|
||||
![Рисунок 3 email](../media/email.png) <br>
|
||||
![alt text](media/image.png)
|
||||
|
||||
Выбранное значение сохраняется в физическом поле «Справочник в Лексеме».
|
||||
|
||||
![alt text](media/image-1.png)
|
||||
|
||||
В случае доменной авторизации обязательно нужно установить соответствие по типу справочника Вид контактной информации Email рабочий - справочнику в Лексеме, для загрузки соответсвующих данных в справочник физических лиц на закладку "Контакты".
|
||||
|
||||
![alt text](media/image-2.png)
|
||||
|
||||
Это важно для поиска физического лица при автоматическом создании пользователя из Active Directory.
|
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 95 KiB |
|
@ -1,109 +1,280 @@
|
|||
# Вкладка "Справочники"
|
||||
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".<br>
|
||||
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка параметров обмена с 1С*".
|
||||
|
||||
Откроется форма документа:<br>
|
||||
Откроется форма документа:
|
||||
|
||||
![Рисунок 2 Настройка параметров обмена с 1С форма](../media/Настройка_параметров_обмена_с_1С_форма.png)<br>
|
||||
![alt text](media/image.png)
|
||||
|
||||
На вкладке «Справочники» будут представлены основные справочники, необходимые для обмена данными с 1С::<br>
|
||||
Ниже представлены примеры настроек различных справочников:
|
||||
|
||||
Тип | Сущность в 1С | Параметр | Справочник в Лексеме
|
||||
----|---------------|----------|---------------------
|
||||
Виды графиков работ | Catalog_ГрафикиРаботыСотрудников | ?$select=Ref_Key,Description,ДлительностьРабочейНедели&$filter=DeletionMark eq false |
|
||||
Виды документов об образовании | Catalog_ВидыДокументовОбОбразовании | |
|
||||
Виды образования физ.лиц | Catalog_ВидыОбразованияФизическихЛиц | |
|
||||
Грейды | Catalog_Грейды | |
|
||||
Документы физических лиц | InformationRegister_ДокументыФизическихЛиц | |
|
||||
Завершение испытательного срока | Document_ЗавершениеИспытательногоСрока | $filter=Posted eq true |
|
||||
Испытательный срок | Document_ПриемНаРаботу | |
|
||||
Кадровые данные сотрудников | InformationRegister_КадроваяИсторияСотрудников | |
|
||||
Образование физ.лиц | Catalog_ОбразованиеФизическихЛиц | |
|
||||
Показатели начисления зарплаты | Catalog_ПоказателиРасчетаЗарплаты | |
|
||||
Продление испытательного срока | Document_ПродлениеИспытательногоСрока | $filter=Posted eq true |
|
||||
Семья физ.лиц | Catalog_РодственникиФизическихЛиц | |
|
||||
Специальности по образованию | Catalog_КлассификаторСпециальностейПоОбразованию | ?$select=Ref_Key,Description,Code&$filter=DeletionMark eq false |
|
||||
Справочник видов документов физических лиц | Catalog_ВидыДокументовФизическихЛиц | |
|
||||
Справочник видов занятости | InformationRegister_ВидыЗанятостиСотрудников | |
|
||||
Справочник видов контактной информации физ.лиц | Catalog_ВидыКонтактнойИнформации | |
|
||||
Справочник должностей | Catalog_Должности | |
|
||||
Справочник подразделений | Catalog_ПодразделенияОрганизаций | |
|
||||
Справочник своих организаций | Catalog_Организации | |
|
||||
Справочник склонений объектов | InformationRegister_СклоненияПредставленийОбъектов | |
|
||||
Справочник сотрудников | Catalog_Сотрудники | |
|
||||
Справочник физических лиц | Catalog_ФизическиеЛица | ?$select=Ref_Key,Description,Фамилия,Имя,Отчество,ДатаРождения,Инициалы,ИНН,СтраховойНомерПФР,Пол,КонтактнаяИнформация/Тип,КонтактнаяИнформация/Представление,КонтактнаяИнформация/Вид_Key,МестоРождения | ФИО, дата рождения // Реквизиты для сопоставления со справочником физ.лиц
|
||||
Степени родства физ.лиц | Catalog_СтепениРодстваФизическихЛиц | |
|
||||
Типы начислений | ChartOfCalculationTypes_Начисления | ?$select=Ref_Key,Description&$filter=DeletionMark eq false |
|
||||
Типы отпусков | Catalog_ВидыОтпусков | |
|
||||
Учреждения образования | Catalog_УчебныеЗаведения | |
|
||||
<style>
|
||||
#uniqueTable {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
#uniqueTable th {
|
||||
padding: 8px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
/* Указываем ширину для каждого заголовка */
|
||||
#uniqueTable th:nth-child(1) {
|
||||
width: 20%; /* Задайте необходимую ширину для первого столбца */
|
||||
}
|
||||
#uniqueTable th:nth-child(2) {
|
||||
width: 40%; /* Задайте необходимую ширину для второго столбца */
|
||||
}
|
||||
#uniqueTable th:nth-child(3) {
|
||||
width: 40%; /* Задайте необходимую ширину для третьего столбца */
|
||||
}
|
||||
|
||||
#uniqueTable td {
|
||||
padding: 8px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
#uniqueTable td:nth-child(3) {
|
||||
white-space: pre-wrap;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
</style>
|
||||
<table class="dataframe sortable" id="uniqueTable">
|
||||
<thead>
|
||||
<tr style="text-align: left;">
|
||||
<th><b>Тип</b></th>
|
||||
<th><b>Сущность в 1С</b></th>
|
||||
<th><b>Параметр</b></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Виды графиков работ</td>
|
||||
<td>Catalog_ГрафикиРаботыСотрудников</td>
|
||||
<td>{
|
||||
?$select: Ref_Key,
|
||||
Description,
|
||||
ДлительностьРабочейНедели
|
||||
$filter: DeletionMark eq false
|
||||
}
|
||||
|
||||
Для них должны быть указаны сущности 1С, например: <br>
|
||||
![Рисунок 1 Каталог_Организации](../media/Каталог_Организации.png)
|
||||
<b>Примечание:</b>Необходимо также в столбец "Реквизиты для сопоставления" указать ДлительностьРабочейНедели</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Виды графиков работ</td>
|
||||
<td>Catalog_ГрафикиРаботыСотрудников</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Виды документов об образовании</td>
|
||||
<td>Catalog_ВидыДокументовОбОбразовании</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Виды образования физ.лиц</td>
|
||||
<td>Catalog_ВидыОбразованияФизическихЛиц</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Документы физических лиц</td>
|
||||
<td>InformationRegister_ДокументыФизическихЛиц</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Завершение испытательного срока</td>
|
||||
<td>Document_ЗавершениеИспытательногоСрока</td>
|
||||
<td>{
|
||||
$filter: Posted eq true
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Испытательный срок из инф. регистра</td>
|
||||
<td>InformationRegister_ИспытательныйСрокСотрудников</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Испытательный срок из приказов о приеме</td>
|
||||
<td>Document_ПриемНаРаботу</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Кадровые данные сотрудников</td>
|
||||
<td>InformationRegister_КадроваяИсторияСотрудников</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Образование физ.лиц</td>
|
||||
<td>Catalog_ОбразованиеФизическихЛиц</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Показатели начисления зарплаты</td>
|
||||
<td>Catalog_ПоказателиРасчетаЗарплаты</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Продление испытательного срока</td>
|
||||
<td>Document_ПродлениеИспытательногоСрока</td>
|
||||
<td>{
|
||||
$filter: Posted eq true
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Семья физ.лиц</td>
|
||||
<td>Catalog_РодственникиФизическихЛиц</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Специальности по образованию</td>
|
||||
<td>Catalog_КлассификаторСпециальностейПоОбразованию</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Специальности по образованию</td>
|
||||
<td>Catalog_КлассификаторСпециальностейПоОбразованию</td>
|
||||
<td>{
|
||||
?$select: Ref_Key,
|
||||
Description,
|
||||
Code
|
||||
$filter: DeletionMark eq false
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник видов документов физических лиц</td>
|
||||
<td>Catalog_ВидыДокументовФизическихЛиц</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник видов занятости</td>
|
||||
<td>InformationRegister_ВидыЗанятостиСотрудников</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник видов контактной информации физ.лиц</td>
|
||||
<td>Catalog_ВидыКонтактнойИнформации</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник должностей</td>
|
||||
<td>Catalog_Должности</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник подразделений</td>
|
||||
<td>Catalog_ПодразделенияОрганизаций</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник подразделений</td>
|
||||
<td>Catalog_ПодразделенияОрганизаций</td>
|
||||
<td>{
|
||||
?$select: Ref_Key,
|
||||
Description,
|
||||
Фамилия,
|
||||
Имя,
|
||||
Отчество,
|
||||
ДатаРождения,
|
||||
Инициалы,
|
||||
ИНН,
|
||||
СтраховойНомерПФР,
|
||||
Пол,
|
||||
КонтактнаяИнформация/Тип,
|
||||
КонтактнаяИнформация/Представление,
|
||||
КонтактнаяИнформация/Вид_Key
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник своих организаций</td>
|
||||
<td>Catalog_Организации</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник склонений объектов</td>
|
||||
<td>InformationRegister_СклоненияПредставленийОбъектов</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник сотрудников</td>
|
||||
<td>Catalog_Сотрудники</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник физических лиц</td>
|
||||
<td>Catalog_ФизическиеЛица</td>
|
||||
<td>{
|
||||
?$select: Ref_Key,
|
||||
Description,
|
||||
Фамилия,
|
||||
Имя,
|
||||
Отчество,
|
||||
ДатаРождения,
|
||||
Инициалы,
|
||||
ИНН,
|
||||
СтраховойНомерПФР,
|
||||
Пол,
|
||||
МестоРождения,
|
||||
КонтактнаяИнформация/Тип,
|
||||
КонтактнаяИнформация/Представление,
|
||||
КонтактнаяИнформация/Вид_Key
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Справочник физических лиц</td>
|
||||
<td>Catalog_ФизическиеЛица</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Степени родства физ.лиц</td>
|
||||
<td>Catalog_СтепениРодстваФизическихЛиц</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Типы начислений</td>
|
||||
<td>ChartOfCalculationTypes_Начисления</td>
|
||||
<td>{
|
||||
?$select: Ref_Key,
|
||||
Description
|
||||
$filter: DeletionMark eq false
|
||||
}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Типы отпусков</td>
|
||||
<td>Catalog_ВидыОтпусков</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Учреждения образования</td>
|
||||
<td>Catalog_УчебныеЗаведения</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Если настроить константу "Папка для вставки импортируемых из 1С подразделений", то на каждом филиале подразделения будут загружаться к нужному корневому подразделению , иначе по умолчанию в корень папки Подразделения с кодом из константы "вершина_справочника_подразделений".
|
||||
Для каждого типа справочника должна быть указана сущность 1С, например, для типа **Виды графиков работ** указывается сущность **Catalog_ГрафикиРаботыСотрудников**
|
||||
|
||||
Кроме сущности 1С для запроса соответствующего справочника можно указать в поле **"Параметр"** поля и фильтры для выборки из 1С,<br> например, для сущности «Catalog_ФизическиеЛица»:<br>
|
||||
![alt text](media/image-1.png)
|
||||
|
||||
Если настроить константу **"Папка для вставки импортируемых из 1С подразделений"**, то на каждом филиале подразделения будут загружаться к нужному корневому подразделению , иначе по умолчанию в корень папки Подразделения с кодом из константы **"вершина_справочника_подразделений"**.
|
||||
|
||||
Кроме сущности 1С для запроса соответствующего справочника можно указать в поле **"Параметр"** поля и фильтры для выборки из 1С, например, для сущности «Catalog_ФизическиеЛица»:
|
||||
|
||||
```json
|
||||
"?$select=Ref_Key,Description,Фамилия,Имя,Отчество,ДатаРождения,КонтактнаяИнформация/Тип,КонтактнаяИнформация/Представление,КонтактнаяИнформация/Вид_Key".<br>
|
||||
"value": [{
|
||||
"Ref_Key": "6289c32e-b7f0-11e8-80e3-00505692bbd5",
|
||||
"Code": "00-0000749",
|
||||
"Description": "ФАМИЛИЯ ИМЯ ОТЧЕСТВО",
|
||||
"ДатаРождения": "ДАТА РОЖДЕНИЯ",
|
||||
"Пол": "ПОЛ",
|
||||
"ИНН": "ИНН",
|
||||
"СтраховойНомерПФР": " СНИЛС",
|
||||
"МестоРождения": "0,город Ленинград,,,",
|
||||
"ИмеетНаучныеТруды": false,
|
||||
"ИмеетИзобретения": false,
|
||||
"ФИО": " ФАМИЛИЯ ИМЯ ОТЧЕСТВО",
|
||||
"УточнениеНаименования": "",
|
||||
"ДатаРегистрации": "0001-01-01T00:00:00",
|
||||
"НаименованиеСлужебное": " ФАМИЛИЯ ИМЯ ОТЧЕСТВО ",
|
||||
"ЛьготаПриНачисленииПособий": "",
|
||||
"ОтношениеКОсобойЗоне": "",
|
||||
"ВидОсобойЗоны": "",
|
||||
"ПостоянноПроживалВКрыму18Марта2014Года": false,
|
||||
"Фамилия": " ФАМИЛИЯ",
|
||||
"Имя": "ИМЯ",
|
||||
"КонтактнаяИнформация": [
|
||||
{
|
||||
"Ref_Key": "6289c32e-b7f0-11e8-80e3-00505692bbd5",
|
||||
"LineNumber": "1",
|
||||
"Тип": "Адрес",
|
||||
"Вид_Key": "dfae44d5-1d84-11e8-80e0-00505692f865",
|
||||
"Представление": "РОССИЯ, 143090, Московская обл, Краснознаменск г, Победы ул, дом № 32, квартира 3",
|
||||
"Значение": "{\r\n\"value\": \"РОССИЯ, 143090, Московская обл, Краснознаменск г, Победы ул, дом № 32, квартира 3\",\r\n\"type\": \"Адрес\",\r\n\"Country\": \"РОССИЯ\",\r\n\"addressType\": \"Административно-территориальный\",\r\n\"CountryCode\": \"643\",\r\n\"ZIPcode\": \"143090\",\r\n\"area\": \"Московская\",\r\n\"areaType\": \"обл\",\r\n\"city\": \"Краснознаменск\",\r\n\"cityType\": \"г\",\r\n\"street\": \"Победы\",\r\n\"streetType\": \"ул\",\r\n\"houseType\": \"Дом\",\r\n\"houseNumber\": \"32\",\r\n\"apartments\": [\r\n{\r\n\"type\": \"Квартира\",\r\n\"number\": \"3\"\r\n}\r\n],\r\n\"oktmo\": \"46706000001\"\r\n}",
|
||||
"ЗначенияПолей": "<КонтактнаяИнформация xmlns=\"http://www.v8.1c.ru/ssl/contactinfo\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Представление=\"РОССИЯ, 143090, Московская обл, Краснознаменск г, Победы ул, дом № 32, квартира 3\"><Комментарий/><Состав xsi:type=\"Адрес\" Страна=\"РОССИЯ\"><Состав xsi:type=\"АдресРФ\"><СубъектРФ>Московская обл</СубъектРФ><Город>Краснознаменск г</Город><Улица>Победы ул</Улица><ОКТМО>46706000001</ОКТМО><ДопАдрЭл><Номер Тип=\"2010\" Значение=\"3\"/></ДопАдрЭл><ДопАдрЭл><Номер Тип=\"1010\" Значение=\"32\"/></ДопАдрЭл><ДопАдрЭл ТипАдрЭл=\"10100000\" Значение=\"143090\"/></Состав></Состав></КонтактнаяИнформация>",
|
||||
"Страна": "РОССИЯ",
|
||||
"Регион": "Московская обл",
|
||||
"Город": "Краснознаменск г",
|
||||
"АдресЭП": "",
|
||||
"ДоменноеИмяСервера": "",
|
||||
"НомерТелефона": "",
|
||||
"НомерТелефонаБезКодов": "",
|
||||
"ВидДляСписка_Key": "dfae44d5-1d84-11e8-80e0-00505692f865"
|
||||
},
|
||||
"?$select=Ref_Key,Description,Фамилия,Имя,Отчество,ДатаРождения,КонтактнаяИнформация/Тип,КонтактнаяИнформация/Представление,КонтактнаяИнформация/Вид_Key".
|
||||
```
|
||||
Для загрузки кадровых данных сотрудников должно быть заполнено поле **Сущность 1С** - InformationRegister_КадроваяИсторияСотрудников. Из этой сущности берем последние значения подразделения и занимаемой должности и загружаем в таблицу перемещений в Лексеме.<br>
|
||||
|
||||
**Справочник в Лексеме** - реквизиты для сопоставления со справочником физических лиц<br>
|
||||
![Рисунок 2 Справочник физ лиц](../media/Справочник физ лиц.PNG)
|
||||
Для загрузки кадровых данных сотрудников должно быть заполнено поле **Сущность 1С** - **InformationRegister_КадроваяИсторияСотрудников**. Из этой сущности берем последние значения подразделения и занимаемой должности и загружаем в таблицу перемещений в Лексеме.
|
||||
|
||||
**Загружать в пакете справочников** - галочка, означающая, что данная сущность будет загружена по задаче - ["Загрузка справочников"](../../../Функции планировщика задач/index.md) <br>
|
||||
![Рисунок 3 НастройкаСпрПараметры](../media/НастройкаСпрПараметры.PNG)
|
||||
**Справочник в Лексеме** - реквизиты для сопоставления со справочником физических лиц
|
||||
|
||||
**Способ загрузки**<br>
|
||||
- По одному физ.лицу из списка сотрудников - означает, что сущность физические лица будет загружаться по одному физическому лицу только по тем сотрудникам, которые работают на момент загрузки <br>
|
||||
- Всех за один запрос - означает, что сущность физические лица будет загружаться целиком<br>
|
||||
![alt text](media/image-2.png)
|
||||
|
||||
**Загружать в пакете справочников** - галочка, означающая, что данная сущность будет загружена по задаче - ["Загрузка справочников"](../../../Функции планировщика задач/index.md)
|
||||
|
||||
**Способ загрузки:**
|
||||
|
||||
- По одному физ.лицу из списка сотрудников - означает, что сущность физические лица будет загружаться по одному физическому лицу только по тем сотрудникам, которые работают на момент загрузки.
|
||||
- Всех за один запрос - означает, что сущность физические лица будет загружаться целиком
|
||||
**Филиалы** - список филиалов, для которых действует данная строчка
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
![alt text](media/image-3.png)
|
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 177 KiB |
|
@ -175,7 +175,7 @@
|
|||
limit 1
|
||||
)
|
||||
```
|
||||
<!-- ### Примеры запросов
|
||||
### Примеры запросов
|
||||
|
||||
#### Просроченные документы
|
||||
|
||||
|
@ -226,6 +226,8 @@
|
|||
|
||||
??? note "Запрос"
|
||||
|
||||
![alt text](media/image-24.png)
|
||||
|
||||
Основной запрос:
|
||||
|
||||
Итоговая выборка:
|
||||
|
@ -297,7 +299,9 @@
|
|||
|
||||
В реестре отображаются документы, которые в данный момент находятся в HR службе в работе
|
||||
|
||||
??? note "Запрос"
|
||||
??? note "Запрос"
|
||||
|
||||
![alt text](media/image-25.png)
|
||||
|
||||
Основной запрос:
|
||||
|
||||
|
@ -331,7 +335,9 @@
|
|||
|
||||
В реестре отображаются документы, которые были обработаны сегодня службой HR сегодня.
|
||||
|
||||
??? note "Запрос"
|
||||
??? note "Запрос"
|
||||
|
||||
![alt text](media/image-26.png)
|
||||
|
||||
Основной запрос:
|
||||
|
||||
|
@ -366,6 +372,8 @@
|
|||
|
||||
??? note "Запрос"
|
||||
|
||||
![alt text](media/image-27.png)
|
||||
|
||||
Основной запрос:
|
||||
|
||||
```sql
|
||||
|
@ -601,7 +609,9 @@
|
|||
|
||||
#### Договоры и доп. соглашения
|
||||
|
||||
??? note "Запрос"
|
||||
??? note "Запрос"
|
||||
|
||||
![alt text](media/image-29.png)
|
||||
|
||||
Основной запрос:
|
||||
|
||||
|
@ -1235,4 +1245,103 @@
|
|||
join comdoc."VFilials" f on p."COrg" = f."VCode"
|
||||
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$;
|
||||
```
|
||||
|
|
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 43 KiB |
|
@ -218,7 +218,7 @@
|
|||
Уведомления | notificationlexema_read | notificationlexema_write | **docconstructor_write** - открывает доступ к переходу в конструктор документа по данному типу/подтипу документа, **routetemplate_write** - открывает доступ к переходу в настройки шаблона маршрута по данному документу, **documentsubtype_write** - открывает доступ к переходу в настройки подтипа документа
|
||||
Удаленные документы КЭДО | | | **showremoveddocs** могут видеть удаленные (архивные) КЭДО документы.
|
||||
[Универсальный документ](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82/) | universaldocument_read | universaldocument_write | **universaldocumentvisibleremove** открывает возможность к удалению универсального документа внутри формы, **docconstructor_write** - открывает доступ к переходу в конструктор документа по данному типу/подтипу документа, **routetemplate_write** - открывает доступ к переходу в настройки шаблона маршрута по данному документу, **documentsubtype_write** - открывает доступ к переходу в настройки подтипа документа
|
||||
[Управление пользователями](../Управление пользователями/) | | super,adminconsole_write,adminconsole_read,lxm_department_manager | **adminconsole_short** - активны кнопки Загрузка пользователей, Данные пользователя (просмотр), Список сотрудников без логина и Замещаемые
|
||||
[Управление пользователями](../Управление пользователями/) | | super,adminconsole_write,adminconsole_read,lxm_department_manager | **adminconsole_short** - активны кнопки Загрузка пользователей, Данные пользователя (просмотр), Список сотрудников без логина и Замещаемые, **bn_support_first** - позволяет пользователю необладающему роли на редактирование пользоваетелей редактировать номер телефона и электронную почту
|
||||
[Управленческая структура и руководители](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F%20%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0%20%D0%B8%20%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D0%B8/) | | super,EmployeesManagers_write,EmployeesManagersTree_write | **EmployeesManagersTree_write** - в управленческой структуре предоставляет возможность создавать/редактировать подразделения и работников.
|
||||
[Условия для проверки контрагентов](../Условия для проверки контрагентов/) | contractorcheckconditiontype_read | contractorcheckconditiontype_write |
|
||||
[Физические лица](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/Физические%20лица/) | rpdictionaries_read | super,administrator_reg_personnel,rpdictionaries_write | administrator_rp_person (открывает доступ на все вкладки документа "Физические лица" ("Сведения", "Адреса", "Документы", "Контакты", "Семья", "Образование", "Ученые степени", "Ученые звания", "Языки","Воинский учет", "Особая категория", "Счета", "Трудовые договоры".)
|
||||
|
|
|
@ -255,244 +255,256 @@ search:
|
|||
|
||||
### Документы, не пришедшие из 1с
|
||||
|
||||
```sql
|
||||
with "no1c"
|
||||
as
|
||||
(select r."COrgName" , 'таб.№ ' || r."NumTab"|| ' ' || r."Workers" as "Workers" ,r."PostWorkers" ,
|
||||
r."name1c" || ' По заявлению № ' || r."DocumentNumber" || ' от ' || to_char( "DocumentDate"::date, 'DD.MM.YYYY') as "name1c"
|
||||
, l."link_txt" || '#/view/'|| r."TypeName" ||'Form' ||'/' || r."VCode" as "link"
|
||||
from odata."getExchange1CGuidsRegistry"(null, null, (now()::date+ '-45 day'::interval)::date , (now()::date+ '-3 day'::interval)::Date , null) r
|
||||
cross join (select "LocationProtocol" || '//' || "LocationHostName" as "link_txt" from comdoc."DocflowSettings") l
|
||||
where
|
||||
coalesce( "DeletionMark",'false') = 'false ' and
|
||||
r."VCode" is not null and
|
||||
r."DFS_VCode" is null and
|
||||
r."guid" is not null and
|
||||
r.name1c not ilike '%больнич%'
|
||||
and
|
||||
r.name1c not ilike '%НДФЛ%'
|
||||
and
|
||||
r.name1c not ilike '%вычет%'
|
||||
and
|
||||
r.name1c not ilike '%мат%пом%'
|
||||
and
|
||||
r. "DocumentDate" >= now()::date+ '-45 day'::interval
|
||||
and
|
||||
r. "DocumentDate" <= now()::date+ '-3 day'::interval
|
||||
)
|
||||
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker")
|
||||
select distinct 'Personnel' as "DocflowUser" ,
|
||||
--rlU."DocflowUser" ,
|
||||
'Следующие документы не пришли на подписание из 1С : <br/>' ||
|
||||
replace(
|
||||
replace(replace(
|
||||
'<table style = "border-collapse:collapse">
|
||||
<tr>
|
||||
<th style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Организация</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Работник</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Должность</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Документ</th>
|
||||
</tr>'||
|
||||
(SELECT DISTINCT string_agg(x."Body", '')
|
||||
FROM(select '<tr><td style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">'|| coalesce(p2."COrgName",'')||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||coalesce(p2."Workers",'')||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||coalesce(p2."PostWorkers",'')||'</td>
|
||||
|
||||
<td style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">' ||
|
||||
'<a href="' || coalesce(p2."link",'') || '">' ||coalesce(p2."name1c",'')|| '</a>'::text || '</td>
|
||||
|
||||
</tr>' as "Body" from "no1c" p2
|
||||
order by p2."COrgName", p2."Workers" ) x)||'</table>'
|
||||
,'<','<'),'>','>'),
|
||||
'&','&') as txt,
|
||||
null::bigint as "link", 'Первичный документ', 'Первичный документ',
|
||||
'Информационное сообщение о документах, не пришедших из 1С',
|
||||
null::bigint as "IdWorker"
|
||||
from "no1c" dd
|
||||
/*join comdoc."ReadListGroup" rl on rl."Name" = 'Кадровики для рассылки документов, не пришедших из 1С'
|
||||
and rl."DocTypes" ilike '%NotificationLexema%'
|
||||
join comdoc."ReadListGroupUsers" rlU on rl."VCode" = rlU."PCode"*/
|
||||
--group by rlU."DocflowUser"
|
||||
??? Задача
|
||||
|
||||
```
|
||||
```sql
|
||||
with "no1c"
|
||||
as
|
||||
(select r."COrgName" , 'таб.№ ' || r."NumTab"|| ' ' || r."Workers" as "Workers" ,r."PostWorkers" ,
|
||||
r."name1c" || ' По заявлению № ' || r."DocumentNumber" || ' от ' || to_char( "DocumentDate"::date, 'DD.MM.YYYY') as "name1c"
|
||||
, l."link_txt" || '#/view/'|| r."TypeName" ||'Form' ||'/' || r."VCode" as "link"
|
||||
from odata."getExchange1CGuidsRegistry"(null, null, (now()::date+ '-45 day'::interval)::date , (now()::date+ '-3 day'::interval)::Date , null) r
|
||||
cross join (select "LocationProtocol" || '//' || "LocationHostName" as "link_txt" from comdoc."DocflowSettings") l
|
||||
where
|
||||
coalesce( "DeletionMark",'false') = 'false ' and
|
||||
r."VCode" is not null and
|
||||
r."DFS_VCode" is null and
|
||||
r."guid" is not null and
|
||||
r.name1c not ilike '%больнич%'
|
||||
and
|
||||
r.name1c not ilike '%НДФЛ%'
|
||||
and
|
||||
r.name1c not ilike '%вычет%'
|
||||
and
|
||||
r.name1c not ilike '%мат%пом%'
|
||||
and
|
||||
r. "DocumentDate" >= now()::date+ '-45 day'::interval
|
||||
and
|
||||
r. "DocumentDate" <= now()::date+ '-3 day'::interval
|
||||
)
|
||||
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker")
|
||||
select distinct 'Personnel' as "DocflowUser" ,
|
||||
--rlU."DocflowUser" ,
|
||||
'Следующие документы не пришли на подписание из 1С : <br/>' ||
|
||||
replace(
|
||||
replace(replace(
|
||||
'<table style = "border-collapse:collapse">
|
||||
<tr>
|
||||
<th style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Организация</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Работник</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Должность</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Документ</th>
|
||||
</tr>'||
|
||||
(SELECT DISTINCT string_agg(x."Body", '')
|
||||
FROM(select '<tr><td style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">'|| coalesce(p2."COrgName",'')||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||coalesce(p2."Workers",'')||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||coalesce(p2."PostWorkers",'')||'</td>
|
||||
|
||||
<td style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">' ||
|
||||
'<a href="' || coalesce(p2."link",'') || '">' ||coalesce(p2."name1c",'')|| '</a>'::text || '</td>
|
||||
|
||||
</tr>' as "Body" from "no1c" p2
|
||||
order by p2."COrgName", p2."Workers" ) x)||'</table>'
|
||||
,'<','<'),'>','>'),
|
||||
'&','&') as txt,
|
||||
null::bigint as "link", 'Первичный документ', 'Первичный документ',
|
||||
'Информационное сообщение о документах, не пришедших из 1С',
|
||||
null::bigint as "IdWorker"
|
||||
from "no1c" dd
|
||||
/*join comdoc."ReadListGroup" rl on rl."Name" = 'Кадровики для рассылки документов, не пришедших из 1С'
|
||||
and rl."DocTypes" ilike '%NotificationLexema%'
|
||||
join comdoc."ReadListGroupUsers" rlU on rl."VCode" = rlU."PCode"*/
|
||||
--group by rlU."DocflowUser"
|
||||
```
|
||||
|
||||
### Задача по изменению фамилии в карточке пользователя + склонение в карточке физического лица
|
||||
|
||||
```sql
|
||||
do $$
|
||||
begin
|
||||
IF NOT comdoc."isTableExists"('#fio', 'temp') THEN
|
||||
CREATE TEMP TABLE "#fio"("Id" bigint, "OldFam" text, "OldName" text, "OldOtch" text,
|
||||
"IdPerson" bigint, "NewFam" varchar(255), "NewName" varchar(255), "NewOtch" varchar(255), "UserName" varchar(255), "Code" varchar(2550)
|
||||
) ON COMMIT DROP;
|
||||
END IF;
|
||||
insert into "#fio"
|
||||
select m."Id",m."LastName", m."FirstName", m."MiddleName", per."VCode", per."Family", per."Name", per."Father", m."UserName" , c."Code"
|
||||
from lex."UserMeta" m
|
||||
join rp."RP_PersonContact" c on c."IdTypeContact" = 6 and m."UserName" = c."Code"
|
||||
join rp."RP_Person" per on per."VCode" = c."Pcode"
|
||||
where (lower(coalesce(m."LastName",''))<> lower(coalesce(per."Family",'')) or lower(coalesce(m."FirstName",''))<> lower(coalesce(per."Name",''))
|
||||
or lower(coalesce(m."MiddleName",''))<>lower(coalesce(per."Father",'')))
|
||||
and (select count(a."Pc") from (select distinct c."Pcode" as "Pc" from rp."RP_PersonContact" c
|
||||
join rp."RP_Person" per on per."VCode" = c."Pcode"
|
||||
where c."Code" =m."UserName")a) =1;
|
||||
|
||||
update lex."UserMeta" m set "LastName" = q."NewFam", "FirstName" = q."NewName", "MiddleName" = q."NewOtch"
|
||||
from "#fio" q
|
||||
where q."Id" = m."Id";
|
||||
??? Задача
|
||||
|
||||
update rp."RP_Person" per set "Note" = case when per."Note" is not null then per."Note" ||'
|
||||
' else '' end ||to_char(now(),'DD.MM.YYYY')
|
||||
|| (select ' изменено ФИО с '||coalesce(f."OldFam",'')||' '||coalesce(f."OldName",'')||' '||coalesce(f."OldOtch",'')||' на '
|
||||
||coalesce(f."NewFam",'')||' '||coalesce(f."NewName",'')||' '||coalesce(f."NewOtch",'')from "#fio" f where f."IdPerson" = per."VCode" limit 1),
|
||||
"FNFAccusative" = comdoc."Lexsklon"(per."Family", per."Name", per."Father", case when per."Sex" = 1 then 'Ж' else 'M' end, 1),
|
||||
"FNFDative" = comdoc."Lexsklon"(per."Family", per."Name", per."Father", case when per."Sex" = 1 then 'Ж' else 'M' end, 0),
|
||||
"FNFGenitive" = comdoc."Lexsklon"(per."Family", per."Name", per."Father", case when per."Sex" = 1 then 'Ж' else 'M' end, 2)
|
||||
from "#fio" q
|
||||
where per."VCode" = q."IdPerson";
|
||||
```sql
|
||||
do $$
|
||||
begin
|
||||
IF NOT comdoc."isTableExists"('#fio', 'temp') THEN
|
||||
CREATE TEMP TABLE "#fio"("Id" bigint, "OldFam" text, "OldName" text, "OldOtch" text,
|
||||
"IdPerson" bigint, "NewFam" varchar(255), "NewName" varchar(255), "NewOtch" varchar(255), "UserName" varchar(255), "Code" varchar(2550)
|
||||
) ON COMMIT DROP;
|
||||
END IF;
|
||||
insert into "#fio"
|
||||
select m."Id",m."LastName", m."FirstName", m."MiddleName", per."VCode", per."Family", per."Name", per."Father", m."UserName" , c."Code"
|
||||
from lex."UserMeta" m
|
||||
join rp."RP_PersonContact" c on c."IdTypeContact" = 6 and m."UserName" = c."Code"
|
||||
join rp."RP_Person" per on per."VCode" = c."Pcode"
|
||||
where (lower(coalesce(m."LastName",''))<> lower(coalesce(per."Family",'')) or lower(coalesce(m."FirstName",''))<> lower(coalesce(per."Name",''))
|
||||
or lower(coalesce(m."MiddleName",''))<>lower(coalesce(per."Father",'')))
|
||||
and (select count(a."Pc") from (select distinct c."Pcode" as "Pc" from rp."RP_PersonContact" c
|
||||
join rp."RP_Person" per on per."VCode" = c."Pcode"
|
||||
where c."Code" =m."UserName")a) =1;
|
||||
|
||||
update lex."UserMeta" m set "LastName" = q."NewFam", "FirstName" = q."NewName", "MiddleName" = q."NewOtch"
|
||||
from "#fio" q
|
||||
where q."Id" = m."Id";
|
||||
|
||||
update rp."RP_Person" per set "Note" = case when per."Note" is not null then per."Note" ||'
|
||||
' else '' end ||to_char(now(),'DD.MM.YYYY')
|
||||
|| (select ' изменено ФИО с '||coalesce(f."OldFam",'')||' '||coalesce(f."OldName",'')||' '||coalesce(f."OldOtch",'')||' на '
|
||||
||coalesce(f."NewFam",'')||' '||coalesce(f."NewName",'')||' '||coalesce(f."NewOtch",'')from "#fio" f where f."IdPerson" = per."VCode" limit 1),
|
||||
"FNFAccusative" = comdoc."Lexsklon"(per."Family", per."Name", per."Father", case when per."Sex" = 1 then 'Ж' else 'M' end, 1),
|
||||
"FNFDative" = comdoc."Lexsklon"(per."Family", per."Name", per."Father", case when per."Sex" = 1 then 'Ж' else 'M' end, 0),
|
||||
"FNFGenitive" = comdoc."Lexsklon"(per."Family", per."Name", per."Father", case when per."Sex" = 1 then 'Ж' else 'M' end, 2)
|
||||
from "#fio" q
|
||||
where per."VCode" = q."IdPerson";
|
||||
|
||||
|
||||
end;
|
||||
$$;
|
||||
```
|
||||
end;
|
||||
$$;
|
||||
```
|
||||
|
||||
### Оповещение о необходимости замены паспорта
|
||||
|
||||
```sql
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker")
|
||||
select distinct pc."Code" , '<font size="3"> <b>Настоящим сообщаем, что приближается срок замены паспорта </b> <br/>' || '</font>' ,
|
||||
null::bigint as "link", '', '',
|
||||
'Инф. сообщение о замене паспорта',
|
||||
w."VCode" as "IdWorker"
|
||||
from rp."RP_Person" p
|
||||
join rp."RP_Worker" w on p."VCode" = w."IdPerson"
|
||||
left join rp."RP_WorkerMove" wm on w."VCode" = wm."IdWorker" and now() between coalesce(wm."DateBeg", '20010101') and coalesce(wm."DateEnd", '20700101')
|
||||
left join comdoc."Department" dep on wm."IdDepartment" = dep."VCode"
|
||||
left join rp."RP_Post" post on wm."IdPost" = post."VCode"
|
||||
left join rp."RP_PersonContact" pc on p."VCode" = pc."Pcode" and pc."IdTypeContact" = 6
|
||||
LEFT JOIN LATERAL comdoc."getAccountingConstantValues"(w."COrg", 'СЭД_Уведомления_Сообщения_о_замене_паспорта', NULL) cv on true
|
||||
where (
|
||||
now() between p."DateBirth" - (coalesce(cv."valueConst",30) || ' day')::interval + (date_part('year',age(p."DateBirth"))+1 || 'year')::interval and
|
||||
p."DateBirth" + (date_part('year',age(p."DateBirth"))+1 || 'year')::interval and
|
||||
date_part('year',age(p."DateBirth" - (coalesce(cv."valueConst",30) || ' day')::interval ))::int in (20,45)
|
||||
) or w."VCode" = 53
|
||||
```
|
||||
??? Задача
|
||||
|
||||
```sql
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt", "Link", "DocType", "DocName", "DocSubject", "IdWorker")
|
||||
select distinct pc."Code" , '<font size="3"> <b>Настоящим сообщаем, что приближается срок замены паспорта </b> <br/>' || '</font>' ,
|
||||
null::bigint as "link", '', '',
|
||||
'Инф. сообщение о замене паспорта',
|
||||
w."VCode" as "IdWorker"
|
||||
from rp."RP_Person" p
|
||||
join rp."RP_Worker" w on p."VCode" = w."IdPerson"
|
||||
left join rp."RP_WorkerMove" wm on w."VCode" = wm."IdWorker" and now() between coalesce(wm."DateBeg", '20010101') and coalesce(wm."DateEnd", '20700101')
|
||||
left join comdoc."Department" dep on wm."IdDepartment" = dep."VCode"
|
||||
left join rp."RP_Post" post on wm."IdPost" = post."VCode"
|
||||
left join rp."RP_PersonContact" pc on p."VCode" = pc."Pcode" and pc."IdTypeContact" = 6
|
||||
LEFT JOIN LATERAL comdoc."getAccountingConstantValues"(w."COrg", 'СЭД_Уведомления_Сообщения_о_замене_паспорта', NULL) cv on true
|
||||
where (
|
||||
now() between p."DateBirth" - (coalesce(cv."valueConst",30) || ' day')::interval + (date_part('year',age(p."DateBirth"))+1 || 'year')::interval and
|
||||
p."DateBirth" + (date_part('year',age(p."DateBirth"))+1 || 'year')::interval and
|
||||
date_part('year',age(p."DateBirth" - (coalesce(cv."valueConst",30) || ' day')::interval ))::int in (20,45)
|
||||
) or w."VCode" = 53
|
||||
```
|
||||
|
||||
### Оповещение о списке работников, которые не создали заявление об отпуске из уведомления
|
||||
|
||||
```sql
|
||||
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"
|
||||
from dfd."UniversalDocument" AS ud
|
||||
join dfd."DocumentConstructor" dc on ud."DocumentCategory" = dc."VCode"
|
||||
join dfd."DocumentSubtype" ds on dc."DocumentSubtype" = ds."VCode"
|
||||
join dfd."DocumentAdditionalAttribute" atr on ud."VCode" = atr."PCode"
|
||||
join dfd."DocumentCategoryAttributeType" atrtype on atr."CategoryAttributeType" = atrtype."VCode" and ud."DocumentCategory" = atrtype."PCode" and
|
||||
atrtype."AttributeType" = 'string' and atrtype."ColumnName" = '#typeVacation#'
|
||||
join dfd."DocumentAdditionalAttribute" atrD on ud."VCode" = atrD."PCode"
|
||||
join dfd."DocumentCategoryAttributeType" atrtypeD on atrD."CategoryAttributeType" = atrtypeD."VCode" and ud."DocumentCategory" = atrtypeD."PCode" and
|
||||
atrtypeD."AttributeType" = 'Date' and atrtypeD."ColumnName" = '#bdate#'
|
||||
join comdoc."VFilials" f on ud."COrg" = f."VCode"
|
||||
where ud."TypeName" = 'NotificationLexema' and
|
||||
ds."InternalName" = 'NotificationVacation' and
|
||||
not exists (select 1
|
||||
from dfd."UniversalDocument" es
|
||||
join comdoc."DocflowLink" dle on ud."VCode" = dle."DocCode2" and
|
||||
((dle."DocType2" = ud."TypeName" and ud."VCode" = dle."DocCode2") or
|
||||
(dle."DocType1" = ud."TypeName" and ud."VCode" = dle."DocCode1")
|
||||
)
|
||||
where es."TypeName" = 'EmployeeStatement' ) and
|
||||
atrD."DateValue" > now()::date )
|
||||
??? Задача
|
||||
|
||||
insert into "#forInsNotification" ( "txt", "txtSMS", "txtTelegram")
|
||||
select null as "txt", null as "txtSMS", null as "txtTelegram"
|
||||
from (select ('<table><tr><th align="left">Организация</th><th align="left">Сотрудник</th><th align="left">Отпуск</th></tr>' ||
|
||||
(SELECT DISTINCT string_agg(x."link", '')
|
||||
FROM ( SELECT '<tr><td>' || coalesce(l."COrgName",'') || '</td><td>' || coalesce(r."NameFull",'') || '</td>' ||
|
||||
'<td>' || coalesce(l."Vacation", '') || ' ' || l."DateBeg" || '</td>'
|
||||
||'</tr>' as "link"
|
||||
FROM list l
|
||||
join rp."RP_Worker" r on l."IdWorker" = r."VCode") AS x) || '</table>'
|
||||
) ::text as "data") d
|
||||
```
|
||||
```sql
|
||||
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"
|
||||
from dfd."UniversalDocument" AS ud
|
||||
join dfd."DocumentConstructor" dc on ud."DocumentCategory" = dc."VCode"
|
||||
join dfd."DocumentSubtype" ds on dc."DocumentSubtype" = ds."VCode"
|
||||
join dfd."DocumentAdditionalAttribute" atr on ud."VCode" = atr."PCode"
|
||||
join dfd."DocumentCategoryAttributeType" atrtype on atr."CategoryAttributeType" = atrtype."VCode" and ud."DocumentCategory" = atrtype."PCode" and
|
||||
atrtype."AttributeType" = 'string' and atrtype."ColumnName" = '#typeVacation#'
|
||||
join dfd."DocumentAdditionalAttribute" atrD on ud."VCode" = atrD."PCode"
|
||||
join dfd."DocumentCategoryAttributeType" atrtypeD on atrD."CategoryAttributeType" = atrtypeD."VCode" and ud."DocumentCategory" = atrtypeD."PCode" and
|
||||
atrtypeD."AttributeType" = 'Date' and atrtypeD."ColumnName" = '#bdate#'
|
||||
join comdoc."VFilials" f on ud."COrg" = f."VCode"
|
||||
where ud."TypeName" = 'NotificationLexema' and
|
||||
ds."InternalName" = 'NotificationVacation' and
|
||||
not exists (select 1
|
||||
from dfd."UniversalDocument" es
|
||||
join comdoc."DocflowLink" dle on ud."VCode" = dle."DocCode2" and
|
||||
((dle."DocType2" = ud."TypeName" and ud."VCode" = dle."DocCode2") or
|
||||
(dle."DocType1" = ud."TypeName" and ud."VCode" = dle."DocCode1")
|
||||
)
|
||||
where es."TypeName" = 'EmployeeStatement' ) and
|
||||
atrD."DateValue" > now()::date )
|
||||
|
||||
таблица.столбец | описание | # для шаблона
|
||||
----------------|----------|--------------
|
||||
d."data" | Список | #query_list#
|
||||
insert into "#forInsNotification" ( "txt", "txtSMS", "txtTelegram")
|
||||
select null as "txt", null as "txtSMS", null as "txtTelegram"
|
||||
from (select ('<table><tr><th align="left">Организация</th><th align="left">Сотрудник</th><th align="left">Отпуск</th></tr>' ||
|
||||
(SELECT DISTINCT string_agg(x."link", '')
|
||||
FROM ( SELECT '<tr><td>' || coalesce(l."COrgName",'') || '</td><td>' || coalesce(r."NameFull",'') || '</td>' ||
|
||||
'<td>' || coalesce(l."Vacation", '') || ' ' || l."DateBeg" || '</td>'
|
||||
||'</tr>' as "link"
|
||||
FROM list l
|
||||
join rp."RP_Worker" r on l."IdWorker" = r."VCode") AS x) || '</table>'
|
||||
) ::text as "data") d
|
||||
```
|
||||
|
||||
таблица.столбец | описание | # для шаблона
|
||||
----------------|----------|--------------
|
||||
d."data" | Список | #query_list#
|
||||
|
||||
### Отсутствие планового графика отпусков по подразделению
|
||||
|
||||
```sql
|
||||
with "chiefStruct" as
|
||||
(select * from vac."SendingLateApplicationNotice"())
|
||||
insert into "#forInsNotification" ("DocflowUser","CopyTo", "txt")
|
||||
select /*main."ChiefLogin"*/ 'Loginovasa@lexema.ru', (select DISTINCT string_agg(coalesce(ch."ChiefLogin",''),', ') from "chiefStruct" ch
|
||||
where ch."IdWorker" = main."Chief" and main."ChiefLogin"<>coalesce(ch."ChiefLogin",'')),
|
||||
'Добрый день, ' || '<b>'||RTRIM(coalesce(du."FirstName",'') || ' ' || coalesce(du."MiddleName",''))||'</b>' ||
|
||||
'. <br><br>' ||
|
||||
'<br> По следующим сотрудникам не сформированы заявки на отпуск на '||main."planYear"::text||' год:'||
|
||||
'<br><br>' ||
|
||||
replace(
|
||||
replace(replace(
|
||||
'<table style = "border-collapse:collapse">
|
||||
<tr>
|
||||
<th style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Организация</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Подразделение</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Работник</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Должность</th>
|
||||
</tr>'||
|
||||
(SELECT DISTINCT string_agg(x."link", '')
|
||||
FROM(select '<tr><td style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">'||fil||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black">'||dep||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||fio||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||post||'</td>
|
||||
</tr>' as "link" from (select distinct f."Name" as fil, coalesce(dep."Name",'') as "dep", coalesce(w."NameShort",w."NameFull",'') as fio , coalesce(rp."Name",'') as post
|
||||
from "chiefStruct" p2
|
||||
left join rp."RP_Worker" w on w."VCode" = p2."IdWorker"
|
||||
left join comdoc."Department" dep on dep."VCode" = p2."IdDepartment"
|
||||
left join rp."RP_Post" rp on rp."VCode" = p2."IdPost"
|
||||
left join comdoc."VFilials" f on w."COrg" = f."VCode"
|
||||
where coalesce(p2."ChiefLogin",'') = coalesce(main."ChiefLogin",'')) qw
|
||||
order by fil, "dep", fio ) as x)||'</table>'
|
||||
,'<','<'),'>','>'),
|
||||
'&','&') as "Body"
|
||||
from "chiefStruct" main
|
||||
inner join comdoc."DocflowUser" du on main."ChiefLogin" = du."UserName"
|
||||
group by main."Chief", coalesce(du."FirstName",''), coalesce(du."MiddleName",''), main."ChiefLogin", main."planYear";
|
||||
```
|
||||
### Смена организации по умолчанию при смене основного места работы
|
||||
??? Задача
|
||||
|
||||
```sql
|
||||
with "chiefStruct" as
|
||||
(select * from vac."SendingLateApplicationNotice"())
|
||||
insert into "#forInsNotification" ("DocflowUser","CopyTo", "txt")
|
||||
select /*main."ChiefLogin"*/ 'Loginovasa@lexema.ru', (select DISTINCT string_agg(coalesce(ch."ChiefLogin",''),', ') from "chiefStruct" ch
|
||||
where ch."IdWorker" = main."Chief" and main."ChiefLogin"<>coalesce(ch."ChiefLogin",'')),
|
||||
'Добрый день, ' || '<b>'||RTRIM(coalesce(du."FirstName",'') || ' ' || coalesce(du."MiddleName",''))||'</b>' ||
|
||||
'. <br><br>' ||
|
||||
'<br> По следующим сотрудникам не сформированы заявки на отпуск на '||main."planYear"::text||' год:'||
|
||||
'<br><br>' ||
|
||||
replace(
|
||||
replace(replace(
|
||||
'<table style = "border-collapse:collapse">
|
||||
<tr>
|
||||
<th style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Организация</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Подразделение</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Работник</th>
|
||||
<th style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black; border-top: 1px solid black">Должность</th>
|
||||
</tr>'||
|
||||
(SELECT DISTINCT string_agg(x."link", '')
|
||||
FROM(select '<tr><td style="text-align:center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black">'||fil||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black">'||dep||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||fio||'</td>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||post||'</td>
|
||||
</tr>' as "link" from (select distinct f."Name" as fil, coalesce(dep."Name",'') as "dep", coalesce(w."NameShort",w."NameFull",'') as fio , coalesce(rp."Name",'') as post
|
||||
from "chiefStruct" p2
|
||||
left join rp."RP_Worker" w on w."VCode" = p2."IdWorker"
|
||||
left join comdoc."Department" dep on dep."VCode" = p2."IdDepartment"
|
||||
left join rp."RP_Post" rp on rp."VCode" = p2."IdPost"
|
||||
left join comdoc."VFilials" f on w."COrg" = f."VCode"
|
||||
where coalesce(p2."ChiefLogin",'') = coalesce(main."ChiefLogin",'')) qw
|
||||
order by fil, "dep", fio ) as x)||'</table>'
|
||||
,'<','<'),'>','>'),
|
||||
'&','&') as "Body"
|
||||
from "chiefStruct" main
|
||||
inner join comdoc."DocflowUser" du on main."ChiefLogin" = du."UserName"
|
||||
group by main."Chief", coalesce(du."FirstName",''), coalesce(du."MiddleName",''), main."ChiefLogin", main."planYear";
|
||||
```
|
||||
|
||||
```sql
|
||||
call dfd."updateUsersDefaultOrganization" (null, 'Admin;EVIvaschenko')
|
||||
|
||||
/* 1 - коды исключен физ лиц через ;
|
||||
2 - логины исключения через ; */
|
||||
```
|
||||
|
||||
### Создание отзывов доверенностей МЧД по уволенным
|
||||
|
||||
```sql
|
||||
with res as (select * ,
|
||||
'<tr>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||
|
||||
'<a href="' ||
|
||||
(select "LocationProtocol" || '//' || "LocationHostName" || coalesce(':'||"LocationPort",'') from comdoc."DocflowSettings" order by "CDate" desc limit 1)
|
||||
|| '/#/view/' || se."DocForm" || '/' || r."VCode"::text
|
||||
|| '">' || case when r."TypeName" = 'EmpowermentRevocation' then 'Отзыв доверенности' else 'Доверенность' end || ' № ' ||coalesce(r."DocumentNumber",'') || ' от ' || to_char(r."DocumentDate",'DD.MM.YYYY')
|
||||
|| '</a>'::text ||'</td> </tr>' as "ref_link"
|
||||
from dfd."createEmpowermentRevocationUvol" () r
|
||||
join comdoc."DocflowDocumentSettings" se on r."TypeName" = se."DocType"
|
||||
)
|
||||
??? Задача
|
||||
```sql
|
||||
with res as (select * ,
|
||||
'<tr>
|
||||
<td style="text-align:center; border-right: 1px solid black; border-bottom: 1px solid black;">'||
|
||||
'<a href="' ||
|
||||
(select "LocationProtocol" || '//' || "LocationHostName" || coalesce(':'||"LocationPort",'') from comdoc."DocflowSettings" order by "CDate" desc limit 1)
|
||||
|| '/#/view/' || se."DocForm" || '/' || r."VCode"::text
|
||||
|| '">' || case when r."TypeName" = 'EmpowermentRevocation' then 'Отзыв доверенности' else 'Доверенность' end || ' № ' ||coalesce(r."DocumentNumber",'') || ' от ' || to_char(r."DocumentDate",'DD.MM.YYYY')
|
||||
|| '</a>'::text ||'</td> </tr>' as "ref_link"
|
||||
from dfd."createEmpowermentRevocationUvol" () r
|
||||
join comdoc."DocflowDocumentSettings" se on r."TypeName" = se."DocType"
|
||||
)
|
||||
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt")
|
||||
select d."DocflowUser", null as "txt"
|
||||
from (select distinct r."DocflowUser", (select string_agg(coalesce(r1."ref_link",''),'')
|
||||
from res r1 where r."DocflowUser" = r1."DocflowUser") as list
|
||||
from res r
|
||||
) d
|
||||
```
|
||||
insert into "#forInsNotification" ("DocflowUser", "txt")
|
||||
select d."DocflowUser", null as "txt"
|
||||
from (select distinct r."DocflowUser", (select string_agg(coalesce(r1."ref_link",''),'')
|
||||
from res r1 where r."DocflowUser" = r1."DocflowUser") as list
|
||||
from res r
|
||||
) d
|
||||
```
|
||||
|
||||
таблица.столбец | описание | # для шаблона
|
||||
----------------|----------|--------------
|
||||
d.list | Список документов | #query_list#
|
||||
таблица.столбец | описание | # для шаблона
|
||||
----------------|----------|--------------
|
||||
d.list | Список документов | #query_list#
|
||||
|
||||
### Перенос логов отправки почты и СМС в таблицу SendLog
|
||||
|
||||
??? Задача
|
||||
|
||||
```sql
|
||||
call comdoc."PostToSendLog"();
|
||||
```
|