Документооборот с контрагентами

СБИС.ЗаписатьСотрудника

СБИС.ЗаписатьСотрудника

Команда «СБИС.ЗаписатьСотрудника» добавляет нового сотрудника или обновляет данные о работнике, который уже зарегистрирован в системе.

Адрес запроса: https://online.sbis.ru/service/?srv=1

Параметры запроса

  • "Параметр"*: объект:
    • "Сотрудник"*: объект:
      • "Фамилия": строка
      • "Имя": строка
      • "Отчество": строка
      • "ДоступВСистему": строка «Да»/«Нет»
      • "Логин": строка
      • "Пароль": строка
      • "ТабельныйНомер": строка. Используется, только если нужно добавить сотрудника в карточку контрагента. Не нужна, если вы добавляете сотрудника своей компании
      • "ИдентификаторИС": строка, уникальный идентификатор в системе
      • "Идентификатор": строка, целое число
      • "ДатаПриема": строка в формате «ГГГГ-ММ-ДД»
      • "ДатаУвольнения": строка в формате «ГГГГ-ММ-ДД»
      • "Заблокирован": строка в формате «ГГГГ-ММ-ДД»
      • "ЛимитПодЗП": строка, лимит на оплату под зарплату в месяц
      • "Пропуск": массив объектов:
        • "ТипПропуска"*: строка, тип пропуска. Допустимое значение — «ProximityCard», список будет расширяться
        • "ПодТипПропуска"*: строка, подтип пропуска. Допустимое значение — «Wiegand-26», список будет расширяться
        • "Идентификатор"*: строка, идентификатор пропуска
        • "ДатаНачалаДействия": строка в формате «ГГГГ-ММ-ДД ЧЧ.ММ.СС»
        • "ДатаОкончанияДействия": строка в формате «ГГГГ-ММ-ДД ЧЧ.ММ.СС»
        • "Описание": строка
        • "Удалить": строка «Да»/«Нет»
    • "Должность": объект:
      • "Название": строка
    • "НашаОрганизация": объект:
    • "Подразделение":
      • "Идентификатор": строка
    • "Права": объект:
      • "Роль": массив объектов:
        • "Название": строка
    • "Ограничение": объект:
      • "ПоПодразделениям": объект:
        • "БезОграничений": строка «Да»/«Нет»
        • "СвойОфис": строка «Да»/«Нет»
        • "Подразделение": массив объектов:
          • "Идентификатор": строка
    • "ПоОрганизациям": объект:

Результат

  • "Сотрудник": массив объектов:
    • "Фамилия": строка
    • "Имя": строка
    • "Отчество": строка
    • "ИдентификаторИС": строка (идентификатор, уникальный в системе)
    • "ВнутреннийИдентификатор": строка
    • "ДатаПриема": строка в формате «ГГГГ-ММ-ДД»
    • "ДатаУвольнения": строка в формате «ГГГГ-ММ-ДД»
    • "ЛимитПодЗП": строка
    • "Должность": объект:
      • "Название": строка
    • "Подразделение": объект:
      • "КодПодразделения": строка
      • "Название": строка
    • "Пропуск": массив объектов:
      • "ТипПропуска"*: строка, тип пропуска. Допустимое значение — «ProximityCard», список будет расширяться
      • "ПодТипПропуска"*: строка, подтип пропуска. Допустимое значение — «Wiegand-26», список будет расширяться
      • "Идентификатор": строка (идентификатор пропуска)
      • "ДатаНачалаДействия": строка в формате «ГГГГ-ММ-ДД ЧЧ.ММ.СС»
      • "ДатаОкончанияДействия": строка в формате «ГГГГ-ММ-ДД ЧЧ.ММ.СС»
      • "Описание": строка
      • "Удалить": строка «Да»/«Нет»
  • "Навигация":
    • "ЕстьЕще": строка «Да»/«Нет». Если «Да», значит есть последующие страницы
    • "Страница"
    • "Размер страницы"

* — обязательный параметр.

Комментарий

  • Для идентификации сотрудника в СБИС используются поля «Идентификатор» и «ИдентификаторИС».
    • «Идентификатор» — уникальный номер карточки сотрудника в СБИС. Этот номер автоматически присваивается карточке при создании сотрудника.
    • «ИдентификаторИС» — уникальный номер сотрудника в сторонней системе. Определяется вручную в карточке сотрудника.
    • В первую очередь, определение сотрудника идет по полю «Идентификатор».
  • Чтобы добавить нового сотрудника, обязательно заполните поля «Фамилия» и «Имя».
  • Если в запросе указано значение параметра, которого нет в СБИС (например в поле «Должность», «КодПодразделения», «НашаОрганизация»), то команда вернет ошибку и изменения не запишутся.
  • Поиск по коду подразделения зависит от структуры справочника сотрудников.
  • Чтобы предоставить сотруднику доступ в систему, в запросе укажите «ДоступВСистему»=«Да», «Логин» и «Пароль».
  • Если нужно изменить доступ сотрудника в систему, передайте в запросе параметр «ДоступВСистему». Дополнительно передайте идентификатор карточки сотрудника в поле «Идентификатор». Его можно взять из ответа сервера, который был получен при создании сотрудника.
  • Чтобы данные из поля «ДатаУвольнения» были записаны СБИС, в запросе должен быть передан параметр «НашаОрганизация».

Пример запроса

{
   "jsonrpc": "2.0",
   "method": "СБИС.ЗаписатьСотрудника",
   "params": {
      "Параметр": {
         "Сотрудник": {
            "Фамилия": "Иванов",
            "Имя": "Иван",
            "Отчество": "Александрович",
            "ДоступВСистему": "Да",
            "Логин": "ИвановЛогин1",
            "Пароль": "ИвановПароль1",
            "ИдентификаторИС": "ИвановИван1"
         },
         "Права": {
            "Роль": [
               {
                  "Название": "Менеджер"
               }
            ]
         },
         "Должность": {
            "Название": "Менеджер"
         }
      }
   },
   "id": 1
}
Скачать пример

Пример ответа

{
   "jsonrpc": "2.0",
   "result": {
      "Права": {
         "Роли": [
            {
               "Название": "Менеджер"
            }
         ]
      },
      "Сотрудник": {
         "ИдентификаторИС": "ИвановИван1",
         "ДатаБлокировки": "",
         "Должность": {
            "Название": "менеджер"
         },
         "ДоступВСистему": "Да",
         "Идентификатор": "23612775",
         "Имя": "Иван",
         "Логин": "ивановлогин1",
         "Отчество": "Александрович",
         "Подразделение": {
            "КодПодразделения": "",
            "Название": ""
         },
         "ПоследняяАктивность": "",
         "Принят": "",
         "ТабельныйНомер": "",
         "Уволен": "",
         "Фамилия": "Иванов"
      }
   },
   "id": 1
}
Скачать пример

Пример записи администратора системы

{
   "jsonrpc": "2.0",
   "method": "СБИС.ЗаписатьСотрудника",
   "params": {
      "Параметр": {
         "Сотрудник": {
            "Фамилия": "Александров",
            "Имя": "Сергей",
            "Отчество": "Георгиевич",
            "ДоступВСистему": "Да",
            "Логин": "Александров45",
            "Пароль": "Александров12345"
         },
         "Права": {
            "Роль": [
               {
                  "Название": "Администратор системы"
               }
            ]
         }
      }
   },
   "id": 1
}
Скачать пример

Пример ответа

{
   "jsonrpc": "2.0",
   "result": {
      "Права": {
         "Роли": [
            {
               "Название": "Администратор системы"
            }
         ]
      },
      "Сотрудник": {
         "ДоступВСистему": "Да",
         "Идентификатор": "23666678",
         "Имя": "Сергей",
         "Логин": "александров45",
         "Отчество": "Георгиевич",
         "Фамилия": "Александров"
      }
   },
   "id": 1
}
Скачать пример

Пример ответа (ошибка)

В случае, если пользователь с таким логином уже существует.

{
   "jsonrpc": "2.0",
   "error": {
      "code": "-32000",
      "message": "Ошибка при записи данных по пользователю:Пользователь с логином \"Александров45\" уже существует! Попробуйте ввести другой логин.",
      "details": "Ошибка при вызове метода \"Пользователь.SafeWriteUser\" с сервиса \"admin-api\": Ошибка в обработчике \"ОбработчикНаПередЗаписатьПользователя\": Пользователь с логином \"Александров45\" уже существует! Попробуйте ввести другой логин.",
      "type": "warning",
      "data": {
         "classid": "{00000000-0000-0000-0000-1fa000001000}",
         "error_code": -1,
         "addinfo": null
      }
   },
   "id": 1
}
Скачать пример

Пример удаления пропуска

{
   "ТипПропуска": "ProximityCard",
   "ПодТипПропуска": "Wiegand-26",
   "Идентификатор": "04000000295F2901",
   "ДатаНачалаДействия": "None",
   "ДатаОкончанияДействия": "None",
   "Описание": "Нечто 11",
   "Удалить": "Да"
}
Скачать пример

Пример с указанием срока действия пропуска

{
   "ТипПропуска": "ProximityCard",
   "ПодТипПропуска": "Wiegand-26",
   "Идентификатор": "600000006DD50401",
   "ДатаНачалаДействия": "2017-09-26 18:16:50+03",
   "ДатаОкончанияДействия": "2100-01-01 23:59:59+03",
   "Описание": "Нечто 2",
   "Удалить": "Нет"
}
Скачать пример

Пример с некорректным идентификатором

{
   "ТипПропуска": "ProximityCard",
   "ПодТипПропуска": "Wiegand-26",
   "Идентификатор": "04000error000295F2901",
   "ДатаНачалаДействия": "2017-08-30 16:57:44.983236+03",
   "ДатаОкончанияДействия": "None",
   "Описание": "Нечто 1",
   "Удалить": "Нет"
}
Скачать пример