Как пустить партнёров и клиентов в базу 1С и не открыть им лишнего

· 11 мин

Содержание

Внешние пользователи 1С — это учётные записи для людей не из вашей организации: клиентов, дилеров, поставщиков, агентов. Каждая такая запись привязана к объекту базы (партнёру, контрагенту, контактному лицу), и программа показывает этому человеку только «его» данные: его заказы, его взаиморасчёты, его документы. Включается механизм флажком в разделе Администрирование → Настройки пользователей и прав, а работает внешний пользователь обычно через веб-клиент в браузере.

Механизм входит в Библиотеку стандартных подсистем (БСП), поэтому устроен одинаково во всех типовых конфигурациях, где он задействован: УТ 11, КА 2, ERP и других. Разница между конфигурациями — в том, к каким объектам можно привязать внешнего пользователя и какие для него подготовлены роли. Если флажка «Внешние пользователи» в настройках нет, конфигурация этот режим не поддерживает, и без доработки его не включить.

Внешний пользователь и обычный: в чём разница

С точки зрения платформы оба — пользователи информационной базы. У обоих есть имя для входа, пароль, роли. Разница появляется на уровне прикладной логики БСП.

ПризнакОбычный пользовательВнешний пользователь
Где хранитсясправочник «Пользователи»справочник «Внешние пользователи»
К чему привязанк физлицу / сотрудникук объекту авторизации: партнёру, контрагенту, контактному лицу
Какие профили доступныпрофили для пользователейтолько профили с назначением для внешних пользователей
Что видитвсё, что разрешают роли и группы доступатолько данные своего объекта авторизации (при включённом ограничении по записям)
Типичный интерфейстолстый, тонкий или веб-клиентвеб-клиент или тонкий клиент через интернет

Кому обычно выдают такой доступ:

  • 🤝 дилерам и оптовым клиентам — чтобы сами оформляли заказы и смотрели остатки и цены;
  • 📦 поставщикам — чтобы видели свои заказы и графики поставок;
  • 🧾 клиентам — чтобы сверяли взаиморасчёты и скачивали документы без звонков бухгалтеру;
  • 🧑‍💼 агентам и представителям — чтобы вели свою часть сделок.

Удалённые сотрудники и аутсорсинговый бухгалтер — не внешние пользователи. Им нужна обычная учётная запись с подходящим профилем: они работают с данными организации целиком, а не с одним контрагентом. Путаница здесь — частая причина, по которой «внешнему» бухгалтеру ничего не видно.

Как включить режим и создать первого внешнего пользователя

Перед стартом проверьте две вещи. Первая: у вас права администратора в базе. Вторая: в конфигурации есть хотя бы один профиль групп доступа для внешних пользователей. Без него новая учётная запись войдёт в пустую программу.

Шаг 1. Включите механизм

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Установите флажок «Внешние пользователи».
  3. Рядом с ним появятся ссылки на справочник внешних пользователей и на настройки входа для них.

Для изоляции данных там же включите флажок «Ограничивать доступ на уровне записей». Без него внешний пользователь получит права роли на весь справочник или документ целиком, а не только на свои строки.

Включение ограничения на уровне записей запускает обновление служебных данных доступа. В большой базе это фоновое задание может идти долго и заметно нагружает сервер. Включайте вне рабочих часов.

Шаг 2. Создайте внешнего пользователя

Есть два пути, результат одинаковый:

  • из справочника «Внешние пользователи» — кнопка создания, затем выбор объекта авторизации;
  • из карточки самого партнёра или контактного лица — в некоторых конфигурациях там есть команда открытия связанного внешнего пользователя.

В карточке заполните:

  1. Объект авторизации — тот партнёр или контрагент, чьи данные человек увидит. Один объект — одна учётная запись.
  2. Полное имя — подставляется из объекта, при необходимости поправьте.
  3. Вход в программу разрешён — флажок. Без него запись существует, но войти нельзя.
  4. Имя для входа и пароль — задайте или дайте пользователю сменить при первом входе.
  5. Способ аутентификации — для доступа снаружи обычно только «Аутентификация 1С:Предприятия» (по паролю). Аутентификация ОС для чужих людей не подходит: у них нет учётной записи в вашем домене.

Шаг 3. Включите в группу доступа

Права выдаются не самому пользователю, а группе доступа, в которой он состоит. Откройте группы доступа, создайте группу на основе профиля для внешних пользователей (например, «Партнёры — заказы») и добавьте туда участника. В группу можно включать и группы внешних пользователей целиком — удобно, когда клиентов десятки.

Подключение через интернет и вопрос лицензий

Внешнему пользователю не ставят полноценную платформу. Стандартная схема — публикация базы на веб-сервере и вход через браузер.

Публикация базы

  1. На сервере с установленным IIS или Apache откройте конфигуратор от имени администратора.
  2. Выполните Администрирование → Публикация на веб-сервере.
  3. Задайте имя публикации, например partners. Адрес будет вида https://ваш-домен/partners.
  4. Отметьте только то, что нужно: публикацию тонкого и веб-клиента. Флажки публикации веб-сервисов и HTTP-сервисов для партнёров не нужны — снимите их.

То же делается из командной строки утилитой webinst из каталога bin установленной платформы. Это удобно, когда публикацию повторяют после каждого обновления платформы.

Сделайте для внешних пользователей отдельную публикацию, а не ту, через которую работают сотрудники. Так её проще закрыть, вынести на отдельный адрес и ограничить по протоколу.

Тонкий клиент тоже умеет подключаться по адресу публикации: в списке баз указывается вариант подключения через веб-сервер и тот же URL. Это вариант для постоянных партнёров, которые работают в базе часами.

Лицензии

Отдельной «лицензии на внешнего пользователя» нет. Каждый сеанс внешнего пользователя — веб-клиент, тонкий клиент — занимает клиентскую лицензию так же, как сеанс сотрудника.

Что из этого следует на практике:

  • 📊 считайте пиковое число одновременных сеансов, а не число учётных записей: 200 зарегистрированных дилеров, из которых одновременно работают 15, — это 15 лицензий сверх ваших;
  • ⏱ настройте отключение неактивных сеансов, иначе забытые вкладки браузера держат лицензии часами;
  • 🖥 для клиент-серверной базы нужна ещё и лицензия на сервер 1С; для веб-публикации отдельной лицензии не требуется.

Если лицензий не хватает, внешний пользователь увидит отказ при входе, и чаще всего это случается в часы пик у сотрудников.

Права и ролевая модель: что увидит партнёр

Правильная настройка прав — главная часть работы. Ошибка здесь означает, что один клиент видит цены и долги другого.

Профили для внешних пользователей

В профиле группы доступа есть назначение: для кого он предназначен. Профиль с назначением для внешних пользователей нельзя выдать сотруднику, и наоборот. Типовые конфигурации поставляют готовые профили под свои сценарии (например, для оформления заказов партнёром). Если готового нет — скопируйте близкий и уберите лишние роли.

Правило подбора ролей:

  1. Начните с минимального набора: базовые права внешнего пользователя и одна прикладная роль.
  2. Проверьте вход под этой учётной записью.
  3. Добавляйте роли по одной, пока пользователь не сможет сделать всё, что ему положено.

Обратный путь — дать «полные права» и потом урезать — почти всегда оставляет дыры.

Изоляция данных по объекту авторизации

Сама роль даёт доступ к типу объектов: «читать документы заказов». Какие именно заказы — решает ограничение на уровне записей. В БСП для внешних пользователей ограничение строится по их объекту авторизации: партнёр А видит документы, где указан партнёр А.

Чтобы это работало:

  • ✅ флажок «Ограничивать доступ на уровне записей» включён;
  • ✅ у внешнего пользователя заполнен объект авторизации;
  • ✅ в профиле настроены виды доступа (в карточке профиля это отдельная вкладка);
  • ✅ обновление данных доступа после включения ограничения завершено.

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

Группы внешних пользователей

Когда клиентов много, раскладывайте их по группам: «Дилеры», «Розничные клиенты», «Поставщики». В свойствах группы указывается тип объектов авторизации её участников. Группу целиком включают в группу доступа — и новому дилеру достаточно попасть в нужную группу, чтобы получить все права.

Проверка нового внешнего пользователя перед выдачей пароля
Выполнено: 0 / 6

Безопасность и аудит действий внешних пользователей

Внешний доступ — это дверь в учётную базу из интернета. Закрывайте её по нескольким направлениям сразу.

Канал и публикация

  • 🔒 только HTTPS с действительным сертификатом; HTTP закройте на веб-сервере;
  • 🌐 публикацию для партнёров вынесите на отдельный адрес и не публикуйте на нём OData и HTTP-сервисы;
  • 🧱 если партнёров немного и у них постоянные адреса — ограничьте доступ к публикации по IP на веб-сервере или межсетевом экране;
  • 🗂 клиент-серверная база закрыта от интернета: наружу смотрит только веб-сервер, а порты сервера 1С (агент — 1540, менеджер кластера — 1541) доступны лишь из внутренней сети.

Пароли и вход

В БСП для внешних пользователей есть свои настройки входа — ссылка рядом с флажком «Внешние пользователи». Там задают:

  • минимальную длину и сложность пароля;
  • срок действия пароля и запрет повторения старых;
  • автоматический запрет входа, если пользователь долго не заходил.

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

Не создавайте одну учётную запись на всю компанию-партнёра «для всех менеджеров». В журнале не будет видно, кто именно оформил заказ, а уволившийся у партнёра сотрудник сохранит доступ.

Аудит

Все действия внешних пользователей пишутся в журнал регистрации наравне с действиями сотрудников. Откройте Администрирование → Обслуживание → Журнал регистрации и поставьте отбор по пользователю. Видны входы, выходы, запись и удаление объектов, ошибки.

Что стоит проверять регулярно:

  1. Входы в нерабочее время и серии неудачных попыток входа.
  2. Удаление или пометку на удаление объектов внешними пользователями — обычно им это вообще не нужно, и такая запись указывает на лишнюю роль.
  3. Число активных сеансов внешних пользователей в пиковые часы — это прямая подсказка, сколько лицензий они реально занимают.

Список текущих сеансов смотрят в Администрирование → Обслуживание → Активные пользователи; там же отключают зависший сеанс.

Обмен с внешними системами: веб-сервисы, HTTP-сервисы, OData

Часто под «внешними пользователями» понимают не людей, а программы: интернет-магазин, личный кабинет на сайте, мобильное приложение. Им нужен не веб-клиент, а программный интерфейс.

СпособЧто даётКогда выбирать
Стандартный интерфейс ODataчтение и запись объектов по REST без программирования в конфигурациибыстрый доступ к справочникам и документам для внешнего сервиса
HTTP-сервиссвой REST-метод с логикой на стороне 1Сличный кабинет на сайте, нужен ответ строго заданного формата
Веб-сервис (SOAP)обмен по WSDLинтеграция с системами, которые работают только по SOAP

Принципы для всех трёх:

  • 🔑 под каждую внешнюю систему заведите отдельного служебного пользователя с минимальными правами — только на те объекты, которые сервис читает или пишет;
  • 🚫 служебной записи запретите интерактивный вход: она нужна только для программного доступа;
  • 📝 публикуйте сервисы на отдельном адресе и только через HTTPS;
  • 📈 следите за нагрузкой: каждое обращение открывает сеанс на сервере и на время работы занимает лицензию.

Если сайт строит личный кабинет клиента поверх HTTP-сервиса, клиенту вообще не нужна учётная запись в 1С. Сайт сам проверяет его логин, а в 1С ходит под служебным пользователем и запрашивает данные конкретного контрагента. Это дешевле по лицензиям, чем сотни внешних пользователей веб-клиента, но требует разработки.

Простой запрос к стандартному интерфейсу OData выглядит так:

curl -u api_shop:пароль \
  "https://ваш-домен/base/odata/standard.odata/Catalog_Номенклатура?\$format=json&\$top=10"

Перед этим состав объектов, доступных через OData, нужно задать в базе: по умолчанию интерфейс ничего не отдаёт.

Почему внешний пользователь не входит или видит не то

Диагностика: выберите симптом

Отдельный случай — роли выданы в конфигураторе напрямую. Если администратор отметил роли внешнему пользователю в списке пользователей конфигуратора, при следующем обновлении прав БСП их снимет. Все права — только через группы доступа в пользовательском режиме.

Частые вопросы

Можно ли сделать внешнего пользователя без привязки к партнёру или контрагенту?
Нет. Объект авторизации обязателен: именно по нему программа решает, какие данные показать. Если человеку нужен доступ ко всем данным, это обычный пользователь.
Можно ли привязать двух внешних пользователей к одному контрагенту?
К одному объекту авторизации — только одну запись. Для нескольких менеджеров клиента заведите в 1С отдельные контактные лица, если конфигурация разрешает их как объекты авторизации, и создайте пользователя на каждое.
Нужно ли ставить 1С на компьютер клиента?
Нет. Для веб-клиента достаточно браузера и адреса публикации. Тонкий клиент ставится, только если партнёр работает в базе много и ему неудобен браузер.
Как временно закрыть доступ клиенту, не удаляя учётную запись?
Снимите флажок «Вход в программу разрешён» в карточке внешнего пользователя. История его действий и связь с партнёром сохранятся, вернуть доступ можно одним флажком.
Видит ли внешний пользователь других пользователей базы?
При правильно настроенном профиле — нет. Он не получает доступа к справочнику пользователей и к данным других объектов авторизации. Проверьте это тестовым входом перед выдачей пароля.