---
search:
  boost: 4
---
# Контур.Доверенности

## Описание 
 
 **Контур.Доверенности** - программный продукт от фирмы "Контур", который необходим для регистрации доверенностей с Центральным Распределенным Реестром ФНС, далее именуемое как ЦПРР ФНС.

 Основная функция МЧД в том что есть возможность проверить подлинность, валидность и верификацию полномочий. 

 На данной платформе имеется 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".



### *Настройка продакшена 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',
        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** на проекте в разделе **Services**:

??? Пример "Пример **index.js**"

     ```JSON
         konturM4D: {
             Ctor: KonturM4DService ,
             args: {withCOrg: true}
            }
     ```

И сделать там же импорт **KonturM4DService**

??? Пример "Пример импорта"

     ```JSON
        import { KonturM4DService } from 'ecosoft-lexema8-docflow-documents-lib'
     ```



В обязательном порядке необходимо создать роли **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"]
      }
    ```


## Работа с Контур.Доверенности

На проекте должен быть настроен подтип МЧД со служебным наименованием **_MachineReadablePowerOfAttorney_**. Так же в шаблоне маршрута должно быть подписание КЭПом руководителя. 
### _Доверитель и доверительные лица_

В Карточке контрагента своей организации на вкладке **"Доверенность"** указать _"Лицо без доверернности"_, как правило лицом без доверенности является Генеральный Директор, то есть тот, кто имеет право подписывать именно КЭПом юридического лица. Заполняя форму документа доверенности МЧД, по умолчанию заполняется сотрудник, указанный как лицо без доверенности, в поле **"Лицо без доверенности (доверитель)"**.

### _Сведения о полномочиях_

**Полномочия** могут быть человекочитаемые и машиночитаемые.  

- **Человекочитаемые** - это полномочия, которые заказчик вносит вручную в справочник полномочий. 

- **Машиночитаемые** - это полномочия, загруженные из справочника МинЦифры (Министерство Цифрового развития, связи и массовых коммуникаций Российской Федерации).
  
Чтобы загрузить эти полномочия необходимо в реестре **"Справочник полномочий"** нажать кнопку _"Загрузить перечень из файла"_. Прежде всего необходимо на сайте ГосУслуг скачать excel-файл с перечнем, после чего нажать на кнопку  _"Загрузить перечень из файла"_ и тогда система загрузит все недостающие полномочия в реестр. Справочник находится в [этом](https://esnsi.gosuslugi.ru/classifiers/9532/data?pg=1&p=1) ресурсе.

![Picturies](media/screen-5.png)

При загрузке полномочий актуализируются записи в справочнике, то есть закрываются не действующие и добавляются новые.

Подсправочник **"Группа полномочий"** необходим, чтобы выстроить иерархическое дерево при выборе полномочий в документе "Доверенность" в разеделе "Сведения о полномочиях". 

В **"Группах полномочий"** необходимо настроить для каждого проекта "Разделы групп", то есть это группа с определенным названием и 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** с описанием проблемы в строке _"message"_.

С примером ознакомиться можно на скрине ниже:

![Picturies](media/screen-10.png)

Если работник увольняется, система автоматически отзывает доверенность, то есть создается документ _"Отзыв доверенности"_ и запускается по маршруту. "Отзыв доверенности" сразу направляется Генеральному Директору на подпись КЭП. После подписания отзыва Генеральным Директором, документ отправляется в Контур.Доверенности на регистрацию в ЦПРР ФНС. В результате регистрации этой операции статус доверенности в ЦПРР становится _"Отозван"_.  
В самом отзыве доверенности формируется собственный "id операции", то есть этот id осуществил отзыв той доверенности, которая лежит в "Связках". 

![Picturies](media/screen-9.1.png)

