Compare commits

...

4 Commits

11 changed files with 220 additions and 189 deletions

View File

@ -71,7 +71,7 @@ search:
Новый созданный документ, выглядит следующим образом:
![alt text](media/image-18.png)
![alt text](media/image-37.png)
Обязательными полями для заполнения являются:
@ -144,11 +144,11 @@ search:
Для выбора необходимого типа в документе "Конструктор документов" необходимо раскрыть справочник "Тип документа" и выбрать необходимый их выпадающего списка.
![alt text](media/image-19.png)
![alt text](media/image-38.png)
После выбора типа документа необходимо выбрать подтип документа.
После выбора типа документа необходимо выбрать подтип документа.
![alt text](media/image-20.png)
![alt text](media/image-39.png)
Если требуемый подтип отсутствует в выпадающем списке, можно добавить новый подтип через [реестр "Подтип документа"](https://ecm-user-manuals.readthedocs.io/ru/latest/User manuals/Подтипы документов/) или при помощи вложенной формы.
@ -224,10 +224,20 @@ search:
![Таблица](media/table.png)
!!! note
Для того чтобы в правой части отображались данные из таблицы необходимо вначале нарисовать таблицу с помощью редактора.
![alt text](media/image-40.png)
Далее в ячейке в ## указывается служебное наименование таблицы и атрибута через _, например, **#Table1_worker#**
![alt text](media/image-41.png)
В столбце **"Маска для ввода, кол-во знаков после запятой, высота таблицы, размер мемо"** позволяет установить строгий формат ввода данных пользователем и представлять из себя строку состоящую из обычных и специальных символов. Маска для ввода используется для атрибута **"Строка"**. Количество знаков после запятой используется для атрибута **Вещественное**. Высота таблицы задается в пикселях, используется для атрибута **"Табличная часть"**. При проставлении галочки в столбце **"Суммовое поле"** все столбцы с атрибутом **"Целое"** будут суммироваться в конце таблицы. **"Размер мемо"** - указывается высота атрибута **"Длинный текст (мемо)"**. Значение по умолчанию - 3 строки.
- **"Служебное наименование"** наименование, вставляемое в текст шаблона для автозамены в тексте. Обязательная форма написания включает две "#": слева и справа от наименования, наименование прописывается на английском языке, например, #Name#. Именно эти значения будут заменены в тексте шаблона на введенные пользователем значения атрибута после нажатия на кнопку "Заполнить шаблон". Является обязательным для заполнения.
- **"Требовать заполнение"** обязательность заполнения атрибута. Если в этом поле стоит галочка, документ не получится сохранить и отправить по маршруту, пока соответствующий атрибут не будет заполнен.
- **"Требовать заполнение"** обязательность заполнения атрибута. Если в табличной части стоит галочка, документ не получится сохранить и отправить по маршруту, пока соответствующий атрибут не будет заполнен. **Вкл.** - требует заполнения атрибута. **"Действие"** - назначается при каком действии будет требоваться заполнения атрибута в процессе согласования по маршруту.Возможно выбрать как одно, так и несколько действий. Если в столбце **"Действие"** ничего не указано, то данная проверка будет срабатывать у инициатора документа.
- [**Доп. группа**](ополнительные_группы) - добавляет отображание текущего атрибута в отдельную группу в документе.
![alt text](media/image-24.png)
@ -375,99 +385,172 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
Есть специальные дополнительные атрибуты с зарезервированными наименованиями и типами, прописывать их в таблице "Дополнительные атрибуты" не надо. Среди таких атрибутов есть:
{ #спец-атрибуты }
Вычисляемый атрибут | Описание
--------------------|---------
#Master_BeginDate# | дата начала действия доверенности
#Master_CopyRecipient# | дополнительный согласующий в служебной записке из табличной части "Копия"
#Master_ContractorPrint# | контрагент (из поля наименование для печати)
#Master_CUserEmail# | эл.почта пользователя создателя документа
#Master_CUserName# | полное ФИО пользователя создателя документа
#Master_CUserNameAccusative# | ФИО пользователя создателя документа в винительном падеже
#Master_CUserNameDative# | ФИО пользователя создателя документа в дательном падеже
#Master_CUserNameGenitive# | ФИО пользователя создателя документа в родительном падеже
#Master_CUserNameShort# | ФИО пользователя создателя документа в формате "Фамилия И.О."
#Master_CUserPhoneNumber# | мобильный телефон пользователя создателя документа из справочника "Физическое лицо"
#Master_DateOfRegistration# | Рег. дата документа
#Master_Department# | подразделение пользователя создателя документа
#Master_DocumentBeginDate# | "Период командировки с" в служебной записке на командировку на конструкторе
#Master_DocumentContractorText# | "Куда Организация" в служебной записке на командировку на конструкторе
#Master_DocumentDate# | дата создания документа
#Master_DocumentDateText# | дата в формате 1 января 2022 г
#Master_DocumentDaysOnRoad# | "Кол-во дней в пути" в служебной записке на командировку на конструкторе
#Master_DocumentDestination# | "Куда Страна/Город" в служебной записке на командировку на конструкторе
#Master_DocumentEndDate# | "Период командировки по" в служебной записке на командировку на конструкторе
#Master_DocumentLeadTime# | "Кол-во дней" в служебной записке на командировку на конструкторе
#Master_DocumentNote# | "Примечание" в служебной записке на командировку на конструкторе
#Master_DocumentNumber# | номер создаваемого документа
#Master_DocumentPurpose# | Цель командировки в служебной записке на командировку на конструкторе
#Master_DocumentType# | тип документа
#Master_DocumentSubtype# | подтип документа
#Master_EndDate# | дата окончания действия доверенности
#Master_HideAgreedUsers# | скрываются согласующие документ по маршруту в печатной форме служебной записки
#Master_HideInitiator# | скрывается составитель в печатной форме служебной записки
#Master_HideImg# | скрывается печать "Зарегистрировано СЭД Лексема" в в печатной форме без согласования в служебной записке
#Master_HideSigner# | скрывается блок с подписантом в печатной форме служебной записки
#Master_IdWorker# | код работника из справочника "Сотрудники"
#Master_MyCompany# | компания пользователя создателя документа
#Master_MyCompanyActualAddressText# | своя организация: фактический адрес
#Master_MyCompanyDirector# | своя организация: директор в именительном падеже
#Master_MyCompanyDirectorAccusative# | своя организация: директор в винительном падеже
#Master_MyCompanyDirectorActBasis# | своя организация: основание действия директора
#Master_MyCompanyDirectorDative# | своя организация: директор в дательном падеже
#Master_MyCompanyDirectorGenitive# | своя организация: директор в родительном падеже
#Master_MyCompanyDirectorProf# | своя организация: должность директора в именительном падеже
#Master_MyCompanyDirectorProfGenitive# | своя организация: должность директора в родительном падеже
#Master_MyCompanyDirectorShort# | своя организация: короткое ФИО директора
#Master_MyCompanyEMailAddress# | своя организация: email
#Master_MyCompanyFSS# | своя организация: номер ФСС
#Master_MyCompanyFullName# | полное наименование своей организации
#Master_MyCompanyGAccountant# | ФИО Гл. бухгалтера, |
#Master_MyCompanyGAccountantAccusative# | ФИО Гл. бухгалтера в Вин. падеже
#Master_MyCompanyGAccountantDative# | ФИО Гл. бухгалтера в Дат. падеже
#Master_MyCompanyGAccountantGenitive# | ФИО Гл. бухгалтера в Род. падеже
#Master_MyCompanyGAccountantProf# | должность Гл. бухгалтера
#Master_MyCompanyGAccountantProfAccusative# | должность Гл. бухгалтера в Вин. падеже
#Master_MyCompanyGAccountantProfDative# | должность Гл. бухгалтера в Дат. падеже
#Master_MyCompanyGAccountantProfGenitive# | должность Гл. бухгалтера в Род. падеже
#Master_MyCompanyINN# | своя организация: ИНН
#Master_MyCompanyKPP# | своя организация: КПП
#Master_MyCompanyLegalAddressText# | своя организация: юридический адрес
#Master_MyCompanyMailAddressText# | своя организация: почтовый адрес
#Master_MyCompanyOGRN# | своя организация: ОГРН
#Master_MyCompanyOKATO# | своя организация: ОКАТО
#Master_MyCompanyOKPO# | своя организация: OKPO
#Master_MyCompanyPFR# | своя организация: номер ПФР
#Master_MyCompanyPhone# | своя организация: контактный телефон
#Master_MyCompanyRegistrationDate# | своя организация: дата регистрации
#Master_MyCompanyShortName# | короткое наименование своей организации для печати
#Master_NumTab# | табельный номер сотрудника
#Master_Position# | должность пользователя создателя документа
#Master_PositionDative# | должность пользователя создателя документа в дательном падеже
#Master_PositionGenitive# | должность пользователя создателя документа в родительном падеже
#Master_PrintedText# | содержательная часть во входящем документе, исходящем документе, орд, служебной записке
#Master_Recipient# | получатель служебной записки из табличной части "Кому"
#Master_ReplyNumber# | в ответ на входящий - номер документа
#Master_ReplyDate# | в ответ на входящий - дата документа
#Master_ShowOldHeader# | отображение списка согласующих и получателей служебной записки
#Master_Signer# | ФИО подписанта
#Master_SignerDative# | ФИО подписанта в дательном падеже
#Master_SignerGenitive# | ФИО подписанта в родительном падеже
#Master_SignerPosition# | должность подписанта
#Master_SignerPositionDative# | должность подписанта в дательном падеже
#Master_SignerPositionGenitive# | должность подписанта в родительном падеже
#Master_SignerShort# | краткое ФИО подписанта
#Master_SignerShortDative# | краткое ФИО подписанта в дательном падеже
#Master_SignerShortGenitive# | краткое ФИО подписанта в родительном падеже
#Master_SumInWords# | конвертирует число в текст. Используется для атрибута **Вещественное**
#Master_SubjectDetail# | список полномочий по доверенности из таблицы документа Доверенность
#Master_WhoseName# | на чье имя (Ф.И.О.) в исходящем документе
#Master_WorkersDetail# | список сотрудников: ФИО, дата рождения, паспортные данные, адрес регистрации из таблицы документа Доверенность
#Master_WorkersGenitiveDetail# | список сотрудников в винительном падеже
#Master_WorkersAccusativeDetail# | список сотрудников в род падеже
#Master_WorkersGenitivePasportDetail# | список сотрудников в винительном падеже c паспортом
#Master_WorkersAccusativePasportDetail# | список сотрудников в род падеже с паспортом
#Master_WorkersAccusativePasportDetail# | список сотрудников в род падеже с паспортом
#WorkerNominativePasportList# | список сотрудников с паспортами
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Сгруппированные вычисляемые атрибуты</title>
<style>
table {
border-collapse: collapse;
margin-bottom: 20px;
width: 100%;
}
th, td {
border: 1px solid #333;
padding: 5px 10px;
}
th {
background: #f0f0f0;
}
h2 {
margin-top: 40px;
}
</style>
</head>
<body>
<h2>Доверенность</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_BeginDate#</td><td>дата начала действия доверенности</td></tr>
<tr><td>#Master_EndDate#</td><td>дата окончания действия доверенности</td></tr>
<tr><td>#Master_SubjectDetail#</td><td>список полномочий по доверенности из таблицы документа Доверенность</td></tr>
<tr><td>#Master_WorkersDetail#</td><td>список сотрудников: ФИО, дата рождения, паспортные данные, адрес регистрации из таблицы документа Доверенность</td></tr>
</table>
<h2>Служебная записка</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_CopyRecipient#</td><td>дополнительный согласующий в служебной записке из табличной части "Копия"</td></tr>
<tr><td>#Master_HideAgreedUsers#</td><td>скрываются согласующие документ по маршруту в печатной форме служебной записки</td></tr>
<tr><td>#Master_HideInitiator#</td><td>скрывается составитель в печатной форме служебной записки</td></tr>
<tr><td>#Master_HideImg#</td><td>скрывается печать "Зарегистрировано СЭД Лексема" в печатной форме без согласования в служебной записке</td></tr>
<tr><td>#Master_HideSigner#</td><td>скрывается блок с подписантом в печатной форме служебной записки</td></tr>
<tr><td>#Master_Recipient#</td><td>получатель служебной записки из табличной части "Кому"</td></tr>
<tr><td>#Master_ShowOldHeader#</td><td>отображение списка согласующих и получателей служебной записки</td></tr>
<!-- Атрибуты "Служебная записка, ОРД" тоже включаем сюда -->
<tr><td>#Master_Signer#</td><td>ФИО подписанта</td></tr>
<tr><td>#Master_SignerDative#</td><td>ФИО подписанта в дательном падеже</td></tr>
<tr><td>#Master_SignerGenitive#</td><td>ФИО подписанта в родительном падеже</td></tr>
<tr><td>#Master_SignerPosition#</td><td>должность подписанта</td></tr>
<tr><td>#Master_SignerPositionDative#</td><td>должность подписанта в дательном падеже</td></tr>
<tr><td>#Master_SignerPositionGenitive#</td><td>должность подписанта в родительном падеже</td></tr>
<tr><td>#Master_SignerShort#</td><td>краткое ФИО подписанта</td></tr>
<tr><td>#Master_SignerShortDative#</td><td>краткое ФИО подписанта в дательном падеже</td></tr>
<tr><td>#Master_SignerShortGenitive#</td><td>краткое ФИО подписанта в родительном падеже</td></tr>
</table>
<h2>Документооборот</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_ContractorPrint#</td><td>контрагент (из поля наименование для печати)</td></tr>
<tr><td>#Master_CUserEmail#</td><td>эл.почта пользователя создателя документа</td></tr>
<tr><td>#Master_CUserName#</td><td>полное ФИО пользователя создателя документа</td></tr>
<tr><td>#Master_CUserNameAccusative#</td><td>ФИО пользователя создателя документа в винительном падеже</td></tr>
<tr><td>#Master_CUserNameDative#</td><td>ФИО пользователя создателя документа в дательном падеже</td></tr>
<tr><td>#Master_CUserNameGenitive#</td><td>ФИО пользователя создателя документа в родительном падеже</td></tr>
<tr><td>#Master_CUserNameShort#</td><td>ФИО пользователя создателя документа в формате "Фамилия И.О."</td></tr>
<tr><td>#Master_CUserPhoneNumber#</td><td>мобильный телефон пользователя создателя документа из справочника "Физическое лицо"</td></tr>
<tr><td>#Master_DateOfRegistration#</td><td>Рег. дата документа</td></tr>
<tr><td>#Master_Department#</td><td>подразделение пользователя создателя документа</td></tr>
<tr><td>#Master_DocumentDate#</td><td>дата создания документа</td></tr>
<tr><td>#Master_DocumentDateText#</td><td>дата в формате 1 января 2022 г</td></tr>
<tr><td>#Master_DocumentNumber#</td><td>номер создаваемого документа</td></tr>
<tr><td>#Master_DocumentType#</td><td>тип документа</td></tr>
<tr><td>#Master_DocumentSubtype#</td><td>подтип документа</td></tr>
<tr><td>#Master_IdWorker#</td><td>код работника из справочника "Сотрудники"</td></tr>
<tr><td>#Master_MyCompany#</td><td>компания пользователя создателя документа</td></tr>
<tr><td>#Master_MyCompanyActualAddressText#</td><td>своя организация: фактический адрес</td></tr>
<tr><td>#Master_MyCompanyDirector#</td><td>своя организация: директор в именительном падеже</td></tr>
<tr><td>#Master_MyCompanyDirectorAccusative#</td><td>своя организация: директор в винительном падеже</td></tr>
<tr><td>#Master_MyCompanyDirectorActBasis#</td><td>своя организация: основание действия директора</td></tr>
<tr><td>#Master_MyCompanyDirectorDative#</td><td>своя организация: директор в дательном падеже</td></tr>
<tr><td>#Master_MyCompanyDirectorGenitive#</td><td>своя организация: директор в родительном падеже</td></tr>
<tr><td>#Master_MyCompanyDirectorProf#</td><td>своя организация: должность директора в именительном падеже</td></tr>
<tr><td>#Master_MyCompanyDirectorProfGenitive#</td><td>своя организация: должность директора в родительном падеже</td></tr>
<tr><td>#Master_MyCompanyDirectorShort#</td><td>своя организация: короткое ФИО директора</td></tr>
<tr><td>#Master_MyCompanyEMailAddress#</td><td>своя организация: email</td></tr>
<tr><td>#Master_MyCompanyFSS#</td><td>своя организация: номер ФСС</td></tr>
<tr><td>#Master_MyCompanyFullName#</td><td>полное наименование своей организации</td></tr>
<tr><td>#Master_MyCompanyGAccountant#</td><td>ФИО Гл. бухгалтера</td></tr>
<tr><td>#Master_MyCompanyGAccountantAccusative#</td><td>ФИО Гл. бухгалтера в Вин. падеже</td></tr>
<tr><td>#Master_MyCompanyGAccountantDative#</td><td>ФИО Гл. бухгалтера в Дат. падеже</td></tr>
<tr><td>#Master_MyCompanyGAccountantGenitive#</td><td>ФИО Гл. бухгалтера в Род. падеже</td></tr>
<tr><td>#Master_MyCompanyGAccountantProf#</td><td>должность Гл. бухгалтера</td></tr>
<tr><td>#Master_MyCompanyGAccountantProfAccusative#</td><td>должность Гл. бухгалтера в Вин. падеже</td></tr>
<tr><td>#Master_MyCompanyGAccountantProfDative#</td><td>должность Гл. бухгалтера в Дат. падеже</td></tr>
<tr><td>#Master_MyCompanyGAccountantProfGenitive#</td><td>должность Гл. бухгалтера в Род. падеже</td></tr>
<tr><td>#Master_MyCompanyINN#</td><td>своя организация: ИНН</td></tr>
<tr><td>#Master_MyCompanyKPP#</td><td>своя организация: КПП</td></tr>
<tr><td>#Master_MyCompanyLegalAddressText#</td><td>своя организация: юридический адрес</td></tr>
<tr><td>#Master_MyCompanyMailAddressText#</td><td>своя организация: почтовый адрес</td></tr>
<tr><td>#Master_MyCompanyOGRN#</td><td>своя организация: ОГРН</td></tr>
<tr><td>#Master_MyCompanyOKATO#</td><td>своя организация: ОКАТО</td></tr>
<tr><td>#Master_MyCompanyOKPO#</td><td>своя организация: OKPO</td></tr>
<tr><td>#Master_MyCompanyPFR#</td><td>своя организация: номер ПФР</td></tr>
<tr><td>#Master_MyCompanyPhone#</td><td>своя организация: контактный телефон</td></tr>
<tr><td>#Master_MyCompanyRegistrationDate#</td><td>своя организация: дата регистрации</td></tr>
<tr><td>#Master_MyCompanyShortName#</td><td>короткое наименование своей организации для печати</td></tr>
<tr><td>#Master_NumTab#</td><td>табельный номер сотрудника</td></tr>
<tr><td>#Master_Position#</td><td>должность пользователя создателя документа</td></tr>
<tr><td>#Master_PositionDative#</td><td>должность пользователя создателя документа в дательном падеже</td></tr>
<tr><td>#Master_PositionGenitive#</td><td>должность пользователя создателя документа в родительном падеже</td></tr>
<tr><td>#Master_PrintedText#</td><td>содержательная часть во входящем документе, исходящем документе, орд, служебной записке</td></tr>
<tr><td>#Master_SumInWords#</td><td>конвертирует число в текст. Используется для атрибута Вещественное</td></tr>
<tr><td>#Master_WorkersAccusativeDetail#</td><td>список сотрудников в род падеже</td></tr>
<tr><td>#Master_WorkersAccusativePasportDetail#</td><td>список сотрудников в род падеже с паспортом</td></tr>
<tr><td>#Master_WorkersGenitiveDetail#</td><td>список сотрудников в винительном падеже</td></tr>
<tr><td>#Master_WorkersGenitivePasportDetail#</td><td>список сотрудников в винительном падеже c паспортом</td></tr>
<tr><td>#WorkerNominativePasportList#</td><td>список сотрудников с паспортами</td></tr>
</table>
<h2>Служебная записка на командировку</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_DocumentBeginDate#</td><td>"Период командировки с" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentContractorText#</td><td>"Куда Организация" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentDaysOnRoad#</td><td>"Кол-во дней в пути" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentDestination#</td><td>"Куда Страна/Город" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentEndDate#</td><td>"Период командировки по" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentLeadTime#</td><td>"Кол-во дней" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentNote#</td><td>"Примечание" в служебной записке на командировку на конструкторе</td></tr>
<tr><td>#Master_DocumentPurpose#</td><td>Цель командировки в служебной записке на командировку на конструкторе</td></tr>
</table>
<h2>Входящий документ</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_ReplyNumber#</td><td>в ответ на входящий - номер документа</td></tr>
<tr><td>#Master_ReplyDate#</td><td>в ответ на входящий - дата документа</td></tr>
</table>
<h2>Исходящий документ</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_WhoseName#</td><td>на чье имя (Ф.И.О.) в исходящем документе</td></tr>
</table>
<h2>ОРД</h2>
<table>
<tr><th>Вычисляемый атрибут</th><th>Описание</th></tr>
<tr><td>#Master_Signer#</td><td>ФИО подписанта</td></tr>
<tr><td>#Master_SignerDative#</td><td>ФИО подписанта в дательном падеже</td></tr>
<tr><td>#Master_SignerGenitive#</td><td>ФИО подписанта в родительном падеже</td></tr>
<tr><td>#Master_SignerPosition#</td><td>должность подписанта</td></tr>
<tr><td>#Master_SignerPositionDative#</td><td>должность подписанта в дательном падеже</td></tr>
<tr><td>#Master_SignerPositionGenitive#</td><td>должность подписанта в родительном падеже</td></tr>
<tr><td>#Master_SignerShort#</td><td>краткое ФИО подписанта</td></tr>
<tr><td>#Master_SignerShortDative#</td><td>краткое ФИО подписанта в дательном падеже</td></tr>
<tr><td>#Master_SignerShortGenitive#</td><td>краткое ФИО подписанта в родительном падеже</td></tr>
</table>
</body>
</html>
Заполненная табличная часть выглядит следующим образом:
@ -554,17 +637,17 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
!!! note
Если в данной вкладке не заполнены правила, то вкладывать документы во вложении может любой пользователь на любом этапе
При включенной галке **Запрещать вкладывать файлы после завершения маршрута** запрещено вкладывать любые типы вложений в данном подтипе документов после завершения маршрута.
При включенной галке **"Запрещать всем вкладывать файлы"** запрещено вкладывать любые типы вложений в данном подтипе документов.
![Рисунок](media/vlojenie.png)
### Необходимые типы вложений
В конструкторе есть возможность задавать типы вложений. Для этого их нужно добавить в таблице "Необходимые типы вложений" по кнопке добавить. Типы вложений выбираются из справочника ["Типы вложений"](../Типы вложений/index.md)
![Рисунок 13 Типы вложений](./media/image16.png)
**Необходимые типы вложений** - из выпадающего списка выбирается тип вложения.
Перед отправкой по маршруту документа, созданного на основании этого конструктора, сработает проверка на наличие вложений с указанными типами.
**Правило** - определяется правило в какой момент в процессе маршрута согласования проверять на наличие вложений с указанными типами. Если неуказано правило, то проверка сработает при отправке по маршруту от инициатора.
Если в конструкторе НЕ заполнена таблица "Необходимые типы вложений", то проверка при отправке по маршруту НЕ сработает.
@ -841,9 +924,9 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
В столбце **"Основной атрибут"** заполняется служебное наименование атрибута, который является основным, в данном случае **#first#**. В столбце **«Зависимые атрибуты»** указываются служебные наименования атрибутов, которые необходимо указать как зависимые от основного атрибута, в данном случае это **#firstfio#, #firstdr#, #firstvichet# и #firstapp#**.
Проверка на зависимость атрибутов осуществляется по записям с активным признаком «Вкл.»
Если в табличной части стоит галочка "Вкл.", документ не получится сохранить и отправить по маршруту, пока соответствующий атрибут не будет заполнен. **Вкл.** - требует заполнения атрибута. **"Действие"** - назначается при каком действии будет требоваться заполнения атрибута в процессе согласования по маршруту.Возможно выбрать как одно, так и несколько действий. Если в столбце **"Действие"** ничего не указано, то данная проверка будет срабатывать у инициатора документа.
![Зависимые атрибуты](media/zavisimye.png)
![alt text](media/image-42.png)
В данном примере указано что при заполнении поля "Первый ребенок" у которого служебное наименование **#first#**, система будет проверять заполнение полей ФИО, Дата рождения, Размер вычета и свидетельство о рождении, так как служебные наименования указаны в вычислениях как зависимые от поля "Первый ребенок". В случае не заполнения зависимых полей, они будут подсвечены красным светом, а также будет выведен текст о необходимости заполнить данные.
@ -853,13 +936,13 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
#### Проверки для дополнительных атрибутов
При необходимости возможно настроить дополнительные проверки для атрибутов. В данном примере представлен конструктор подтипа "Заявление на перенос ежегодного оплачиваемого отпуска". В блоке "**Дополнительные атрибуты"** указаны атрибуты по датам переноса и количеству дней переноса. При необходимости возможно отключить какие-то проверки по отдельности, для этого необходимо выбрать необходимую проверку и в столбце **"Вкл."** проставить галочку. В столбце **"Колонка для выделения"** перечисляются атрибуты (если их несколько то через запятую), на которые необходимо задать проверки. В столбце **"Сообщение"** задается информационное сообщение, которое выводится в случае незаполнения либо некорректных данных. В столбце **"Правило для проверки"** указывается условие по которому вычисляется проверка по зависимым атрибутам.
При необходимости возможно настроить дополнительные проверки для атрибутов. В данном примере представлен конструктор подтипа "Заявление на перенос ежегодного оплачиваемого отпуска". В блоке "**Дополнительные атрибуты"** указаны атрибуты по датам переноса и количеству дней переноса. При необходимости возможно отключить какие-то проверки по отдельности, для этого необходимо выбрать необходимую проверку и в столбце **"Вкл."** проставить галочку. В столбце **"Колонка для выделения"** перечисляются атрибуты (если их несколько то через запятую), на которые необходимо задать проверки. В столбце **"Сообщение"** задается информационное сообщение, которое выводится в случае незаполнения либо некорректных данных. В столбце **"Правило для проверки"** указывается условие по которому вычисляется проверка по зависимым атрибутам. **"Действие"** - назначается при каком действии будет требоваться заполнения атрибута в процессе согласования по маршруту.Возможно выбрать как одно, так и несколько действий. Если в столбце **"Действие"** ничего не указано, то данная проверка будет срабатывать у инициатора документа.
![Дополнительные проверки](media/dopProverki.png)
![alt text](media/image-43.png)
В данном примере указано правило: в случае если атрибут **#bdate_new1#** (_Дата начала нового отпуска (период 1)_) меньше либо равна текущей дате, то будет информационное сообщение: **"Дата начала нового отпуска должна быть позже текущей даты"**.
![Пример](media/primer.png)
![alt text](media/image-44.png)
![Предупреждение](media/warning2.png)
**Ниже представлены примеры проверок для расчета количества дней:**

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -4,7 +4,7 @@
**Контур.Доверенности** - программный продукт от фирмы "Контур", который необходим для регистрации доверенностей с Центральным Распределенным Реестром ФНС, далее именуемое как ЦПРР ФНС.
Плюс МЧД в том что есть возможность проверить подлинность, валидность и верификацию подписи.
Основная функция МЧД в том что есть возможность проверить подлинность, валидность и верификацию полномочий.
На данной платформе имеется 2 вида площадок **_Тестовая_** и **_Продуктивная_** для МЧД доверенностей:
@ -37,7 +37,7 @@
Для корректной работы с платформой Контур.Доверенности необходимо в первую очередь настроить подключение сервиса.
Для подключения необходимо установить **web-service "ecosoft-lexema8-integration-service"**. После чего добавить в **package.json** в раздел **devDependencies** - _"ecosoft-lexema8-integration-service": "0.0.1"_.
Для подключения необходимо установить **web-service "ecosoft-lexema8-integration-service"**. После чего добавить в **package.json** в раздел **devDependencies** - _"ecosoft-lexema8-integration-service".
@ -56,16 +56,16 @@
script: 'ecosoft-lexema8-integration-service',
routes: {
kontur: {
type: 'group',
routes: {
1: {
url: 'https://m4d-api-staging.testkontur.ru',
headers: {
'X-KONTUR-APIKEY': 'gp264zd9-233x'
}
}
}
}
type: 'group',
headers: {
'X-KONTUR-APIKEY': 'cq951ld6-121r'
},
routes: {
1: 'https://m4d-api-staging.testkontur.ru/v1/organizations/4a7fb5b7-8f6b-4a68-8f5e-0ff45c3fd0a6'
// , COrg филиала: 'https://m4d-api-staging.testkontur.ru/v1/organizations/id организации в контуре'
}
}
}
}
```
@ -74,15 +74,12 @@
??? Пример "Пример **index.js**"
```JSON
konturM4D: {
Ctor: KonturM4DService,
args: {
organizationId: '7k4f0d-1l9t-3s62',
withCOrg: true
}
}
```
```JSON
konturM4D: {
Ctor: KonturM4DService ,
args: {withCOrg: true}
}
```
И сделать там же импорт **KonturM4DService**
@ -92,7 +89,7 @@
import { KonturM4DService } from 'ecosoft-lexema8-docflow-documents-lib'
```
Далее нужно добавить столбцы **StatusKontur**, **DocCode**, **DocSubtype**, **DocType** во вьюшку _dfd.UniversalDocument_.
В обязательном порядке необходимо создать роли **empowermentrevocation_write** и **empowermentrevocation_read**, включить их в роли, которые смогут отзывать доверенности. Так же создать роль **empowerment_admin**.
@ -116,98 +113,47 @@
```
После его изменить в **_production.js_**:
??? Пример "Пример замены сервиса"
Необходимо сервис:
```JSON
kontur: {
url: 'https://m4d-api-staging.testkontur.ru',
headers: {
'X-KONTUR-APIKEY': 'cq951ld6-121r'
}
}
```
Поменять на:
```JSON
kontur: {
type: 'group',
headers: {
'X-KONTUR-APIKEY': 'cq951ld6-121r'
},
routes: {
1: 'https://m4d-api-staging.testkontur.ru/v1/organizations/4a7fb5b7-8f6b-4a68-8f5e-0ff45c3fd0a6'
// , COrg филиала: 'https://m4d-api-staging.testkontur.ru/v1/organizations/id организации в контуре'
}
}
```
Далее необходимо изменить в **index.js (demo/source)**:
??? Пример "Пример изменений в **index.js (demo/source)**"
Изменить конфигурации данного сервиса:
```Json
konturM4D: {
Ctor: KonturM4DService,
args: { organizationId: '1t3kf2s0-0d3a }
},
```
На настройки приведенные ниже:
```JSON
konturM4D: {
Ctor: KonturM4DService ,
args: {withCOrg: true}
}
```
## Работа с Контур.Доверенности
На проекте должен быть настроен подтип МЧД со служебным наименованием **_MachineReadablePowerOfAttorney_**. Так же в шаблоне маршрута должно быть подписание КЭПом руководителя.
### _Доверитель и доверительные лица_
В Карточке контрагента на вкладке **"Доверенность"** указать _"Лицо без доверернности"_, как правило лицом без доверенности является Генеральный Директор, то есть тот кто имеет право подписывать именно КЭПом юридического лица. Заполняя форму документа доверенности МЧД, по умолчанию заполняется сотрудник указанный как лицо без доверенности, в поле **"Лицо без доверенности (доверитель)"**.
В Карточке контрагента своей организации на вкладке **"Доверенность"** указать _"Лицо без доверернности"_, как правило лицом без доверенности является Генеральный Директор, то есть тот, кто имеет право подписывать именно КЭПом юридического лица. Заполняя форму документа доверенности МЧД, по умолчанию заполняется сотрудник, указанный как лицо без доверенности, в поле **"Лицо без доверенности (доверитель)"**.
### _Сведения о полномочиях_
**Полномочия** могут быть человекочитаемые и машиночитаемые.
- **Человекочитаемые** - это полномочия которые заказчик вносит вручную в справочник полномочий.
- **Человекочитаемые** - это полномочия, которые заказчик вносит вручную в справочник полномочий.
- **Машиночитаемые** - это полномочия, загруженные из справочника МинЦифры (Министерство Цифрового развития, связи и массовых коммуникаций Российской Федерации).
Чтобы загрузить эти доверенности необходимо в реестре **"Справочник полномочий"** нажать кнопку _"Загрузить перечень из файла"_. Прежде всего необходимо на сайте ГосУслуг скачать excel-файл с переченью полномочий, после чего нажать на кнопку _"Загрузить перечень из файла"_ и тогда система загрузит все недостающие полномочия в реестр. Справочник находиться в [этом](https://esnsi.gosuslugi.ru/classifiers/9532/data?pg=1&p=1) ресурсе.
Чтобы загрузить эти полномочия необходимо в реестре **"Справочник полномочий"** нажать кнопку _"Загрузить перечень из файла"_. Прежде всего необходимо на сайте ГосУслуг скачать excel-файл с перечнем, после чего нажать на кнопку _"Загрузить перечень из файла"_ и тогда система загрузит все недостающие полномочия в реестр. Справочник находится в [этом](https://esnsi.gosuslugi.ru/classifiers/9532/data?pg=1&p=1) ресурсе.
![Picturies](media/screen-5.png)
При загрузке полномочий актуализируется записи в справочнике, то есть закрываются не действующие и добавляются новые.
При загрузке полномочий актуализируются записи в справочнике, то есть закрываются не действующие и добавляются новые.
Подсправочник **"Группа полномочий"** необходим, чтобы выстроить иерархическое дерево при выборе полномочий в документе "Доверенность" в разеделе "Сведения о полномочиях".
В **"Группах полномочий"** необходимо настроить для каждого проекта "Разделы групп", то есть это группа с определенным названием и NSI ID подтягивается при загрузке справочника полномочий в поле карточки полномочия NSI ID. При загрузке справочника полномочий МинЦифры, новые полномочия загружаются согласно указанных групп NSI ID.
В **"Группах полномочий"** необходимо настроить для каждого проекта "Разделы групп", то есть это группа с определенным названием и NSI ID (Заполняется вручную). При загрузке справочника полномочий МинЦифры, новые полномочия загружаются согласно указанных групп NSI ID.
![Picturies](media/screen-6.png)
![Picturies](media/screen-6.1.png)
При запуске сайта, в реестре доверенностей необходимо загрузить "Исторические доверенности", которые закгружаются по кнопке **"Загрузить из Контура"** находящиеся в панели управления.
При запуске сайта, в реестре доверенностей необходимо загрузить "Исторические доверенности", которые загружаются по кнопке **"Загрузить из Контура"**.
![Picturies](media/screen-7.png)
При нажатии кнопки **"Загрузить из Контура"** Лексема обратиться к ЦПРР ФНС через API по текущей организации с запросом доверенностей которых в Лексеме еще нет. И загрузит как саму карточку доверенности так и хml-файл с описанием этой доверенности.
При нажатии кнопки **"Загрузить из Контура"** Лексема обратиться к ЦПРР ФНС через API по текущей организации с запросом доверенностей, которых в Лексеме еще нет. И загрузит саму карточку доверенности и хml-файл с описанием этой доверенности.
После регистрации документа и подписания доверенности КЭПом во вложении создается xml-файл, пример вложения указан на скрине ниже:
![Picturies](media/screen-8.png)
В названии xml-файла имеется идентификатор который берется из раздела МЧД в доверенности. Так же этот идентификатор используется для проверки в ЦПРР ФНС. Произвести проверку доверенности можно в [сервисе ФНС](https://m4d.nalog.gov.ru/emchd/check-status).
В названии xml-файла имеется идентификатор, который берется из раздела МЧД в доверенности. Так же этот идентификатор используется для проверки в ЦПРР ФНС. Произвести проверку доверенности можно в [сервисе ФНС](https://m4d.nalog.gov.ru/emchd/check-status).
После завершения маршрута документ возвращается инициатору со _"Статусом в реестре ФНС"_ - **"Зарегестрировано"** и можно дальше работать с документом в тех системах, которые необходимы.
@ -216,7 +162,7 @@
В форме "Настройка заданий для планировщика" имеется задача _Уведомление об ошибках регистрации МЧД или отзыва_ которая необходима для того чтобы система оповещала пользователя о ошибке регистрации МЧД.
Если вернется статус _"Ошибка регистрации"_ необходимо в программе Postman отправить запрос по текущей доверенности. Для этого необходимо знать id доверенности, узнать ее можно следующий путём.
Необходимо в базе данных сделать запрос на необходимую доверенность, после чего в колонке **"KonturOperationId"** взять значение по доверенности которая пришла с ошибкой и ввести в Postman в строку **GET** запрос. Postman отправит запрос по текущей доверенности, где будет иметься подраздел **error** с описанием проблемы в строке _"massage"_.
Необходимо в базе данных сделать запрос на необходимую доверенность, после чего в колонке **"KonturOperationId"** взять значение по доверенности, которая пришла с ошибкой и ввести в Postman в строку **GET** запрос. Postman отправит запрос по текущей доверенности, где будет иметься подраздел **error** с описанием проблемы в строке _"message"_.
С примером ознакомиться можно на скрине ниже:

View File

@ -14,6 +14,8 @@
Также для каждой формы в системе присутствуют определенные дополнительные функции ([константы](../Настройка%20констант/index.md)).
Для отображения быстрых кнопок в панели инструментов должна быть настроена константа **toolbar_docflow_route_processing_buttons**
## Входящие документы
[Входящий документ](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%92%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B8%D0%B9%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82/) служит для отображения данных по входящей корреспонденции организации.