---
sidebar_position: 1
description: Создать роль и другие функции для работы с MongoDB в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, MongoDB]
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Создать роль
 Создает новую роль



`Функция СоздатьРоль(Знач Соединение, Знач Имя, Знач База = Неопределено, Знач МассивПривелегий = Неопределено, Знач МассивРолей = Неопределено, Знач Параметры = Неопределено) Экспорт`

  | Параметр | CLI опция | Тип | Обяз. | Назначение |
  |-|-|-|-|-|
  | Соединение | --dbc | Строка, Произвольный | &#x2714; | Соединение или строка подключения |
  | Имя | --name | Строка | &#x2714; | Название роли |
  | База | --db | Строка | &#x2716; | Имя базы. Текущая база, если не указано |
  | МассивПривелегий | --prvl | Массив Из Структура | &#x2716; | prvl |
  | МассивРолей | --roles | Массив Из Произвольный | &#x2716; | Массив ролей оснований в виде строк или структур с указанием БД |
  | Параметры | --params | Структура Из КлючИЗначение | &#x2716; | Дополнительные параметры удаления |

  
  Возвращаемое значение:   Соответствие Из КлючИЗначение - Результат выполнения операции

:::tip
Роль может быть определена в одном из следующих форматов:<br/>Структура: `{ role: "имя", db: "база данных" }`<br/>Строка:    `имя роли`
:::
<br/>


```bsl title="Пример использования для 1С:Предприятие/OneScript"
    Адрес  = "127.0.0.1:1234";
    Логин  = "bayselonarrend";
    Пароль = "12we...";
    База   = "admin";

    ПараметрыПодключения = Новый Структура("authSource", "admin");
    СтрокаПодключения    = OPI_MongoDB.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, ПараметрыПодключения);
    Соединение           = OPI_MongoDB.ОткрытьСоединение(СтрокаПодключения);

    МассивРолей = Новый Массив;
    МассивРолей.Добавить("read");
    МассивРолей.Добавить("userAdmin");

    Ресурс   = Новый Структура("db,collection", База, "new_collection");
    Действия = Новый Массив;

    Действия.Добавить("find");
    Действия.Добавить("insert");
    Действия.Добавить("update");

    Привелегия = OPI_MongoDB.ПолучитьСтруктуруПривелегииРоли(Ресурс, Действия);

    МассивПривелегий = Новый Массив;
    МассивПривелегий.Добавить(Привелегия);

    ИмяРоли = "newrole";

    Результат = OPI_MongoDB.СоздатьРоль(Соединение, ИмяРоли, База, МассивПривелегий, МассивРолей);
```
    

 <Tabs>
  
    <TabItem value="bash" label="Bash" default>
        ```bash
            # JSON данные также могут быть переданы как путь к файлу .json
            
            oint mongodb СоздатьРоль \
              --dbc "mongodb://bayselonarrend:12we3456!2154@127.0.0.1:27017/?authSource=admin" \
              --name "newrole" \
              --db "admin" \
              --prvl "[{'resource':{'db':'admin','collection':'new_collection'},'actions':['find','insert','update']}]" \
              --roles "['read','userAdmin']"
        ```
    </TabItem>
  
    <TabItem value="bat" label="CMD/Bat" default>
        ```batch
            :: JSON данные также могут быть переданы как путь к файлу .json
            
            oint mongodb СоздатьРоль ^
              --dbc "mongodb://bayselonarrend:12we3456!2154@127.0.0.1:27017/?authSource=admin" ^
              --name "newrole" ^
              --db "admin" ^
              --prvl "[{'resource':{'db':'admin','collection':'new_collection'},'actions':['find','insert','update']}]" ^
              --roles "['read','userAdmin']"
        ```
    </TabItem>
</Tabs>


```json title="Результат"
{
 "result": true,
 "data": {
  "ok": 1
 }
}
```
