При работе в облачных решениях 1С, таких как «1С:Розница 8. Магазин бытовой техники и средств связи» (БТСС), часто возникает задача разграничения прав доступа. Типичный сценарий: владелец бизнеса хочет, чтобы продавцы в торговых точках видели и могли редактировать документы (поступления, реализации, остатки) только своего магазина, не имея доступа к данным коллег из других филиалов. Рассмотрим подробно, как решить эту задачу, учитывая специфику облачного размещения.
Самый очевидный и штатный путь — это использование ограничения доступа на уровне записей (RLS). Разберем этот механизм подробнее, так как он часто ошибочно считается недоступным в облаке.
Во многих типовых конфигурациях на базе 1С:Розница возможность ограничения прав «по магазинам» заложена в ядро системы. Чтобы активировать этот функционал, выполним следующие действия:
Ограничивать доступ на уровне записей.Магазины.Проанализируем ситуацию: после этих настроек для каждой группы доступа (например, «Продавцы Магазина №1») нужно будет указать конкретный разрешенный объект из справочника Магазины. Основная проблема здесь заключается в производительности: RLS накладывает дополнительные условия на каждый SQL-запрос, что может замедлить работу системы при большом количестве данных. Однако для небольших розничных точек это решение является наиболее «чистым» с точки зрения архитектуры.
Если работа через браузер или тонкий клиент напрямую в центральной базе не подходит из-за вопросов безопасности или скорости интернета, проанализируем вариант с РИБ. Автор темы пришел к выводу, что это наиболее надежный способ физического разделения данных.
Разберем по шагам, как настроить РИБ в облаке для разделения по магазинам:
ПоМагазинам..dt файлы напрямую, используйте механизмы синхронизации данных через FTP или облачные хранилища, которые поддерживает ваш провайдер.Выясним причину, почему это эффективно: в локальной базе продавца физически отсутствуют данные других магазинов. Даже если он захочет «подсмотреть» чужую выручку, в таблицах базы данных этой информации просто нет. Это снимает нагрузку с сервера облака по проверке прав (RLS) и позволяет работать автономно при обрывах связи.
Если ваше облако — это «1С:Фреш», то вместо классического РИБ мы рекомендуем использовать технологию Автономного рабочего места. Рассмотрим подробнее этот механизм:
АРМ — это специализированный вариант РИБ, предназначенный специально для работы в облаке. При настройке автономного места система предлагает выбрать фильтрацию данных. Выбрав фильтр по магазину, вы получите локальную копию базы на компьютере продавца, которая будет автоматически синхронизироваться с облаком. При этом продавец будет видеть только «свой» контур данных.
Рассмотрим более сложную, но масштабируемую схему, которую предложил автор обсуждения. Если клиент готов к внедрению 1С:Управление торговлей (УТ) в качестве управляющей системы, можно выстроить следующую архитектуру:
В центре стоит УТ, где ведется общий учет. Для каждой торговой точки создается отдельная облачная база «Розница БТСС». Настройка обмена в этом случае выглядит так:
В правилах обмена (на стороне УТ) настраиваются фильтры регистрации объектов. Посмотрим на логику кода, который может использоваться в правилах регистрации (хотя в современных версиях это чаще настраивается через визуальный интерфейс):
// Пример логики фильтрации в правилах регистрации
Если ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеТоваров") Тогда
Если Объект.Магазин <> ПараметрыОбмена.ТекущийМагазинУзла Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Такой подход позволяет полностью изолировать магазины друг от друга, так как у каждого своя независимая база, а консолидация происходит только в центральной УТ.
Иногда проблема «случайного» принятия документов за другой магазин решается не только жесткими запретами, но и корректной настройкой рабочего места. Проанализируем возможности справочника Пользователи и регистра ПерсональныеНастройки.
Для каждого продавца необходимо:
ГруппыДоступа, чтобы ограничить видимость элементов справочников.Подведем итог. Если вы столкнулись с невозможностью разделения прав в облачной «Рознице БТСС», рекомендуем следующий алгоритм выбора решения:
Помните, что при использовании РИБ или обменов крайне важно следить за идентичностью конфигураций, особенно если вы используете расширения (.cfe) для БТСС. В облаке управление расширениями требует прохождения аудита, поэтому закладывайте время на эти процедуры при обновлении системы.