Контур.Доверенности

This commit is contained in:
Rafael 2024-12-02 16:11:10 +05:00
parent 98e89b37e5
commit d2a4db9a61
16 changed files with 230 additions and 1 deletions

View File

@ -731,7 +731,7 @@ if @formName='EmployeeStatementForm' AND ( @ColumnName = '#bDate#' OR @ColumnNam
![Операции](media/noOperachii1.png)
* Скрыть кнопку **<Копировать>** - скрывается кнопка "Операции" в панели инструментов в **универсальных документах** и **доверенностях на конструкторе**;
* Скрыть кнопку **<Копировать>** - скрывается кнопка "Копировать" в панели инструментов в **универсальных документах** и **доверенностях на конструкторе**;
![Копирование](media/noCopy1.png)

View File

@ -0,0 +1,229 @@
# Контур.Доверенности
## Описание
**Контур.Доверенности** - программный продукт от фирмы "Контур", который необходим для регистрации доверенностей с Центральным Распределенным Реестром ФНС, далее именуемое как ЦПРР ФНС.
Плюс МЧД в том что есть возможность проверить подлинность, валидность и верификацию подписи.
На данной платформе имеется 2 вида площадок **_Тестовая_** и **_Продуктивная_** для МЧД доверенностей:
- **Тестовая** - это форма, которая имеет внутреннее сообщение МЧД доверенностей между контрагентами.
- **Продуктивная** - это форма, которая имеет прямой доступ к ЦПРР ФНС, то есть место где регистрируются все МЧД доверенности формата b2b.
Продуктивная прощадка имеет настройки конфигурации (конфиги) на каждую организацию. Для каждой организации в конфиги прописывается **путь** и уникальный **ключ**. Числом обозначается номер организации в реестре.
![Puctires](media/screen-2.png)
Для сервиса обмена с Контур.Доверенности должен быть отдельный пользователь с правами администратора, который должен быть указан в конфигурации, в разделе сервиса.
![Puctires](media/screen-1.1.png)
![Puctires](media/screen-1.png)
А в разделе "Интерграции" необходимо прописать маршруты для каждой организации. Идентификаторы организаций можно найти при помощи программы Postman, при запросе всех организаций.
![Puctires](media/screen-3.1.png){ width=70% }
![Puctires](media/screen-3.png){ width=70% }
- **"shortName"** - имя организации
- **id** - ключ, он же часть маршрута для обращения по API к Контур.Доверенности
## Настройка интеграции с Контур.Доверенности
Чтобы данный сервис начал работать на сайте необходимо произвести некоторые настройки. Такие как **"Подключение сервиса"**, **"Настройка продакшена JSON"** и **"Создание view"**.
### *Подключение сервиса*
Для корректной работы с платформой Контур.Доверенности необходимо в первую очередь настроить подключение сервиса.
Для подключения необходимо установить **web-service "ecosoft-lexema8-integration-service"**. После чего добавить в **package.json** в раздел **devDependencies** - _"ecosoft-lexema8-integration-service": "0.0.1"_.
### *Настройка продакшена JSON*
Чтобы подключить продакшен JSON необходимо прописать в **production.json** на проекте в раздел **application**. В конфигурации документа имеется APIKEY далее именуемое как API-ключ.
??? Пример "Пример настроек в продакшене"
``` JSON
integration: {
protocol: 'http',
host: 'integration_service',
port: 3205,
route: '/api/v2.0/integration',
script: 'ecosoft-lexema8-integration-service',
routes: {
kontur: {
type: 'group',
routes: {
1: {
url: 'https://m4d-api-staging.testkontur.ru',
headers: {
'X-KONTUR-APIKEY': 'gp264zd9-233x'
}
}
}
}
}
}
```
Далее необходимо прописать в **index.js** на проекте в разделе **Services**:
??? Пример "Пример **index.js**"
```JSON
konturM4D: {
Ctor: KonturM4DService,
args: {
organizationId: '7k4f0d-1l9t-3s62',
withCOrg: true
}
}
```
И сделать там же импорт **KonturM4DService**
??? Пример "Пример импорта"
```JSON
import { KonturM4DService } from 'ecosoft-lexema8-docflow-documents-lib'
```
Далее нужно добавить столбцы **StatusKontur**, **DocCode**, **DocSubtype**, **DocType** во вьюшку _dfd.UniversalDocument_.
В обязательном порядке необходимо создать роли **empowermentrevocation_write** и **empowermentrevocation_read**, включить их в роли, которые смогут отзывать доверенности. Так же создать роль **empowerment_admin**.
Добавить _Настройку документа_ указанную в [примере](http://ecm-demo.dev.lan/#/view/DocflowDocumentSettingsForm/37). Создать [подтип](http://ecm-demo.dev.lan/#/view/DocumentSubtypeForm/219) документа и создать к нему [конструктор](http://ecm-demo.dev.lan/#/view/DocumentConstructorForm/369).
После чего создать маршрут в документе и добавить в **units.json** скрипт:
??? Пример "Пример скрипта **units.json**"
```JSON
{
"key": "EmpowermentRevocationRegistry",
"caption": "Отзыв доверенностей",
"form": ["EmpowermentRevocationRegistry", "ecosoft-lexema8-docflow-documents-lib"]
},
{
"key": "EmpowermentRevocationForm",
"caption": "",
"form": ["EmpowermentRevocationForm", "ecosoft-lexema8-docflow-documents-lib"]
}
```
После его изменить в **_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) ресурсе.
![Picturies](media/screen-5.png)
При загрузке полномочий актуализируется записи в справочнике, то есть закрываются не действующие и добавляются новые.
Подсправочник **"Группа полномочий"** необходим, чтобы выстроить иерархическое дерево при выборе полномочий в документе "Доверенность" в разеделе "Сведения о полномочиях".
В **"Группах полномочий"** необходимо настроить для каждого проекта "Разделы групп", то есть это группа с определенным названием и NSI ID подтягивается при загрузке справочника полномочий в поле карточки полномочия NSI ID. При загрузке справочника полномочий МинЦифры, новые полномочия загружаются согласно указанных групп NSI ID.
![Picturies](media/screen-6.png)
![Picturies](media/screen-6.1.png)
При запуске сайта, в реестре доверенностей необходимо загрузить "Исторические доверенности", которые закгружаются по кнопке **"Загрузить из Контура"** находящиеся в панели управления.
![Picturies](media/screen-7.png)
При нажатии кнопки **"Загрузить из Контура"** Лексема обратиться к ЦПРР ФНС через API по текущей организации с запросом доверенностей которых в Лексеме еще нет. И загрузит как саму карточку доверенности так и хml-файл с описанием этой доверенности.
После регистрации документа и подписания доверенности КЭПом во вложении создается xml-файл, пример вложения указан на скрине ниже:
![Picturies](media/screen-8.png)
В названии xml-файла имеется идентификатор который берется из раздела МЧД в доверенности. Так же этот идентификатор используется для проверки в ЦПРР ФНС. Произвести проверку доверенности можно в [сервисе ФНС](https://m4d.nalog.gov.ru/emchd/check-status).
После завершения маршрута документ возвращается инициатору со _"Статусом в реестре ФНС"_ - **"Зарегестрировано"** и можно дальше работать с документом в тех системах, которые необходимы.
### _Ошибка операции по регистрации доверенности_
В форме "Настройка заданий для планировщика" имеется задача _Уведомление об ошибках регистрации МЧД или отзыва_ которая необходима для того чтобы система оповещала пользователя о ошибке регистрации МЧД.
Если вернется статус _"Ошибка регистрации"_ необходимо в программе Postman отправить запрос по текущей доверенности. Для этого необходимо знать id доверенности, узнать ее можно следующий путём.
Необходимо в базе данных сделать запрос на необходимую доверенность, после чего в колонке **"KonturOperationId"** взять значение по доверенности которая пришла с ошибкой и ввести в Postman в строку **GET** запрос. Postman отправит запрос по текущей доверенности, где будет иметься подраздел **error** с описанием проблемы в строке _"massage"_.
С примером ознакомиться можно на скрине ниже:
![Picturies](media/screen-10.png)
Если работник увольняется, система автоматически отзывает доверенность, то есть создается документ _"Отзывот доверенности"_ и запускается по маршруту. "Отзыв доверенности" сразу направляется Генеральному Директору на подпись КЭП. После подписания отзыва Генеральным Директором, документ отправляется в Контур.Доверенности на регистрацию в ЦПРР ФНС. В результате регистрации этой операции статус доверенности в ЦПРР становится _"Отозван"_.
В самом отзыве доверенности формируется собственный "id операции", то есть этот id осуществил отзыв той доверенности, которая лежит в "Связках".
![Picturies](media/screen-9.1.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB