Что такое базовые права БП?
БТС — включает в себя набор подсистем, предназначенных для реализации в прикладных решениях на платформе « 1С:Предприятие1С:Предприятие1С:Предприятие — программный продукт компании «1С», предназначенный для автоматизации деятельности на предприятии. «1С:Предприятие» предназначено для автоматизации любого бизнес-процесса предприятия. https://ru.wikipedia.org › wiki
Что такое RLS и для чего это нужно?
1С RLS (Record Level Security) или ограничение прав на уровне записи — это настройка прав пользователей в системе 1С, которая позволяет разделить права для пользователей в разрезе динамически меняющихся данных.
Форум на Купить-1С.ру
Подскажите, пожалуйста, есть ли в программе 1С Бухгалтерия 8 возможность разделить права бухгалтера и менеджера по продажам? Можно ли сделать разные права для разных пользователей?
Вопрос Сообщения: 53 Зарегистрирован: 21 апр 2010, 16:02
Re: Какие права и роли есть в 1С Бухгалтерия 8?
Ответ » 20 май 2019, 11:57
В программе 1С Бухгалтерия 8, как и в других конфигурациях фирмы 1С, настройка прав пользователей реализована обычно через наборы Профилей и Ролей .
Профиль состоит из набора ролей.
А каждая роль открывает пользователю некоторые возможности.
Роли разрабатывают программисты. В базовых версиях, например, создать новую роль нельзя.
Профили могут составлять из доступных ролей пользователи. Поэтому даже в базовой версии можно создать новые профили и назначить им разные роли.
- Администратор
- Бухгалтер
- Главный бухгалтер
- Менеджер по продажам
- Открытие внешних отчетов и обработок
- Синхронизация данных с другими программами
- Только просмотр
Роли в системе создают разработчики. В типовой конфигурации 1С:Бухгалтерия 8, например, уже создано более трехсот ролей:
Код: Выделить всё Администратор системы
Администрирование
Администрирование Зарплата кадры
Базовые права БЗК (базовая)
Базовые права БРО
Базовые права БСП
Базовые права БТС
Базовые права ВетИС
Базовые права ГИСМ
Базовые права ЕГАИС
Базовые права Интернет-поддержки пользователей
Базовые права МОТП
Базовые права по электронным документам
Базовые права: Бухгалтерия предприятия
Вывод на принтер, в файл, в буфер обмена
Вывод реестра документов
Вызов онлайн-поддержки
Выполнение загрузки данных внешних систем
Выполнение обмена 1С:ДиректБанк
Выполнение обмена документами 1С:Бизнес-сеть
Выполнение обмена с банками по зарплатным проектам
Выполнение обмена с контрагентами
Выполнение обмена электронными документами
Выполнение обменов с Яндекс.Кассой
Выполнение синхронизации данных
Добавление и изменение адресных сведений
Добавление и изменение банков
Добавление и изменение вариантов отчетов
Добавление и изменение видов контактной информации
Добавление и изменение внешних пользователей
Добавление и изменение данных 1С:ДиректБанк
Добавление и изменение данных бухгалтерии
Добавление и изменение дат запрета изменения
Добавление и изменение дополнительных отчетов и обработок
Добавление и изменение дополнительных реквизитов и сведений
Добавление и изменение календарных графиков
Добавление и изменение курсов валют
Добавление и изменение маршрутов подписания
Добавление и изменение настроек 1С:Бизнес-сеть
Добавление и изменение настроек 1С:ДиректБанк
Добавление и изменение настроек бухгалтерии
Добавление и изменение настроек обмена с контрагентами
Добавление и изменение настроек электронного взаимодействия
Добавление и изменение номенклатуры контрагентов
Добавление и изменение обмена с банками по зачислению зарплаты
Добавление и изменение обмена с банками по лицевым счетам зарплатных проектов
Добавление и изменение обменов с Яндекс.Кассой
Добавление и изменение общей бухгалтерской нормативно-справочной информации
Добавление и изменение пользователей
Добавление и изменение рассылок отчетов
Добавление и изменение учетных записей электронной почты
Добавление и изменение электронных документов
Добавление и изменение электронных подписей и шифрование
Добавление изменение актов постановки на баланс ЕГАИС
Добавление изменение актов списания ЕГАИС
Добавление изменение анкет перс учета
Добавление изменение бухгалтерского учета зарплаты
Добавление изменение ветеринарно-сопроводительных документов ВетИС
Добавление изменение видов алкогольной продукции ЕГАИС
Добавление изменение возвратов из регистра №2 ЕГАИС
Добавление изменение входящих транспортных операций ВетИС
Добавление изменение входящих ТТН ЕГАИС
Добавление изменение выплаченной зарплаты
Добавление изменение данных для начисления зарплаты
Добавление изменение данных сотрудников
Добавление изменение данных физических лиц зарплата кадры
Добавление изменение депонированной зарплаты
Добавление изменение документа "Кассовый чек коррекции"
Добавление изменение документов закупки ГИСМ
Добавление изменение документов зарплата кадры
Добавление изменение документов по прямым выплатам пособий социального страхования
Добавление изменение должностей
Добавление изменение заболеваний и условий регионализации ВетИС
Добавление изменение загрузки остатков ЕГАИС
Добавление изменение запросов акцизных марок ЕГАИС
Добавление изменение запросов складского журнала ВетИС
Добавление изменение зарплатных проектов
Добавление изменение значений строковых реквизитов
Добавление изменение инвентаризаций продукции ВетИС
Добавление изменение исходящей справки о заработке
Добавление изменение исходящих транспортных операций ВетИС
Добавление изменение исходящих ТТН ЕГАИС
Добавление изменение классификатора алкогольной продукции ЕГАИС
Добавление изменение классификатора организаций ЕГАИС
Добавление изменение лицевых счетов по зарплатным проектам
Добавление изменение личных вариантов отчетов
Добавление изменение маркировок товаров ГИСМ
Добавление изменение медицинских организаций
Добавление изменение назначений грузов ВетИС
Добавление изменение налогов и взносов
Добавление изменение начисленной зарплаты
Добавление изменение неразделяемых данных регламентированной отчетности
Добавление изменение объединений записей складского журнала ВетИС
Добавление изменение оснований полномочий ответственных лиц
Добавление изменение отчетов ЕГАИС
Добавление изменение папок и файлов
Добавление изменение передач в регистр №2 ЕГАИС
Добавление изменение персонифицированного учета
Добавление изменение планов обмена
Добавление изменение подключаемого оборудования
Добавление изменение продукции ВетИС
Добавление изменение производственных операций ВетИС
Добавление изменение разделяемых данных регламентированной отчетности
Добавление изменение СЗВ-КОРР
Добавление изменение справок ЕГАИС
Добавление изменение уведомлений о поступлении маркированных товаров ГИСМ
Добавление изменение уведомлений о списании КиЗ ГИСМ
Добавление изменение уведомлений об отгрузке маркированных товаров ГИСМ
Добавление изменение хозяйствующих субъектов ВетИС
Добавление изменение целей расхода материалов
Добавление изменение чеков ЕГАИС
Добавление изменение чеков на возврат ЕГАИС
Добавление изменение шаблонов этикеток
Добавление изменение штрихкодов упаковок товаров
Доступ к внешнему интерфейсу монитора основных показателей
Доступ к внешнему интерфейсу списка задач
Закрытие периода
Запрос новой справки 1СПАРК Риски
Запуск Automation
Запуск веб-клиента
Запуск внешнего соединения
Запуск толстого клиента
Запуск тонкого клиента
Изменение дополнительных сведений
Изменение макетов печатных форм
Изменение участников групп доступа
Интерактивное открытие внешних отчетов и обработок
Использование информационного центра
Использование команд "Досье контрагента"
Использование мобильного приложения
Использование Монитора Портала 1С:ИТС
Использование обмена с интернет-магазином
Использование обработки "Ожидаемая оплата от покупателей"
Использование обработки обмен с банками по зарплатным проектам
Использование обработки панель администрирования МОТП
Использование обработки панель обмен ЕГАИС
Использование обработки панель обмена с ВетИС
Использование обработки панель1С маркировка
Использование обработки проверка и подбор табачной продукции МОТП
Использование обработки сопоставление классификаторов ЕГАИС
Использование помощника корректировки остатков ЕГАИС
Использование сервиса 1С-Такском
Использование синхронизации с календарем google
Использование универсального отчета
Использование электронной подписи в модели сервиса
Настройка бухгалтерского учета зарплаты
Настройка выплаченной зарплаты
Настройка загрузки данных внешних систем
Настройка и оценка производительности
Настройка кадровых данных
Настройка классов условий труда по должностям
Настройка налоги и взносы
Настройка налоги и взносы общие данные
Настройка начисления зарплаты
Настройка начисления зарплаты общие данные
Настройка перс учета
Настройка перс учета общие данные
Настройка синхронизации с ЕГАИС
Настройка синхронизации файлов
Настройки обмена ГИСМ
Обновление конфигурации базы данных
Оператор отправки отчетности через представителя
Оператор отправки отчетности через представителя (переопределяемая)
Отправка SMS
Отражение зарплаты в бухгалтерском учете
Передача данных (анонимный доступ)
Подключение Интернет-поддержки
Подключение сервисов сопровождения
Полные права
Получение обновлений классификаторов
Получение платежной ссылки для Яндекс.Кассы
Постановка контрагентов на мониторинг
Право интерактивного переноса границы последовательности
Право на защищенный документооборот с контролирующими органами
Просмотр банковских счетов
Просмотр видов оплат
Просмотр возвратов товаров от покупателя
Просмотр данных монитора руководителя
Просмотр данных первичных документов
Просмотр журнала регистрации
Просмотр информации о доступных обновлениях программы
Просмотр контрагентов
Просмотр номенклатуры
Просмотр описания изменений программы
Просмотр организаций
Просмотр отчета "Валовая прибыль"
Просмотр отчета "Досье контрагента"
Просмотр отчета "Остатки товаров"
Просмотр отчета "Продажи"
Просмотр отчета "Счета, не оплаченные покупателями"
Просмотр отчета Анализ расхождений при поступлении алкогольной продукции
Просмотр отчета Движения между регистрами ЕГАИС
Просмотр отчета Движения по справке2 ЕГАИС
Просмотр отчета Информация об организации ЕГАИС
Просмотр отчета История справок2 ЕГАИС
Просмотр отчета Необработанные ТТН ЕГАИС
Просмотр отчета обработанные чеки ЕГАИС
Просмотр отчета Остатки акцизных марок ЕГАИС
Просмотр отчета Остатки алкогольной продукции ЕГАИС
Просмотр отчета Сводный отчет ЕГАИС
Просмотр отчетов о розничных продажах
Просмотр персонализированных данных
Просмотр поступлений наличных
Просмотр протоколов отправки в контролирующие органы
Просмотр реализации товаров услуг
Просмотр розничных продаж
Просмотр связанные документы
Просмотр складов
Просмотр списка физических лиц
Просмотр статей движения денежных средств
Просмотр счетов покупателям
Просмотр счетов-фактур выданных
Просмотр цен номенклатуры
Просмотр шаблонов договоров с контрагентами
Работа с электронной почтой: Бухгалтерия предприятия
Раздел интерфейса "Банк и касса"
Раздел интерфейса "Продажи"
Раздел интерфейса "Склад"
Раздел интерфейса "Справочники"
Редактирование акта сверки
Редактирование банковских счетов
Редактирование возвратов товаров от покупателя
Редактирование контрагентов
Редактирование новостей
Редактирование номенклатуры
Редактирование отчета о розничных продажах
Редактирование поступлений наличных
Редактирование реализации товаров услуг
Редактирование реквизитов объектов
Редактирование розничных продаж
Редактирование сведений об организациях
Редактирование сроков оплаты документов
Редактирование счетов покупателям
Редактирование счетов-фактур выданных
Редактирование текста дополнительных условий в счете
Редактирование цен номенклатуры
Редактирование, отправка по почте, сохранение в файл печатных форм
Режим "Все функции"
Сохранение данных пользователя
Удаленный доступ (Администрирование информационной базы в модели сервиса)
Удаленный доступ (Базовая функциональность)
Удаленный доступ (Обмен данными в модели сервиса)
Удаленный доступ (Обмен сообщениями)
Удаленный доступ (Передача данных)
Удаленный доступ (Стандартный интерфейс OData)
Управление фискальным устройством
Управление эквайринговым терминалом
Чтение "Кассовый чек коррекции"
Чтение актов постановки на баланс ЕГАИС
Чтение актов списания ЕГАИС
Чтение акцизных марок ЕГАИС
Чтение анкет перс учета
Чтение бухгалтерского учета зарплаты
Чтение вариантов отчетов
Чтение версий объектов
Чтение ветеринарно-сопроводительных документов ВетИС
Чтение внешних пользователей
Чтение возвратов из регистра №2 ЕГАИС
Чтение входящих транспортных операций ВетИС
Чтение входящих ТТН ЕГАИС
Чтение выплаченной зарплаты
Чтение глобальных дополнительных отчетов и обработок
Чтение данных 1С:ДиректБанк
Чтение данных 1СПАРК Риски
Чтение данных бухгалтерии
Чтение данных бухгалтерского учета
Чтение данных для начисления зарплаты
Чтение данных регламентированной отчетности
Чтение данных сервиса "Мониторинг банков"
Чтение данных сотрудников
Чтение данных физических лиц зарплата кадры
Чтение депонированной зарплаты
Чтение документов закупки ГИСМ
Чтение документов зарплата кадры
Чтение документов по прямым выплатам пособий социального страхования
Чтение должностей
Чтение дополнительных отчетов и обработок
Чтение дополнительных сведений
Чтение журнала документов обмена с банками по зарплатным проектам
Чтение заболеваний и условий регионализации ВетИС
Чтение загрузки остатков ЕГАИС
Чтение записей складского журнала в резерве ВетИС
Чтение запросов акцизных марок ЕГАИС
Чтение запросов ЕГАИС
Чтение запросов складского журнала ВетИС
Чтение зарплатных проектов
Чтение инвентаризаций продукции ВетИС
Чтение информации о версиях объектов
Чтение исходящей справки о заработке
Чтение исходящих транспортных операций ВетИС
Чтение исходящих ТТН ЕГАИС
Чтение классификатора алкогольной продукции ЕГАИС
Чтение классификатора организаций ЕГАИС
Чтение курсов валют
Чтение лицевых счетов по зарплатным проектам
Чтение маркировок товаров ГИСМ
Чтение маршрутов подписания
Чтение медицинских организаций
Чтение назначений грузов ВетИС
Чтение налогов и взносов
Чтение настроек 1С:Бизнес-сеть
Чтение настроек 1С:ДиректБанк
Чтение настроек обмена с контрагентами
Чтение настроек электронного взаимодействия
Чтение начисленной зарплаты
Чтение новостей
Чтение новостей разделов
Чтение номенклатуры контрагентов
Чтение обмена с банками по зачислению зарплаты
Чтение обмена с банками по лицевым счетам зарплатных проектов
Чтение обменов с Яндекс.Кассой
Чтение общей бухгалтерской нормативно-справочной информации
Чтение объединений записей складского журнала ВетИС
Чтение остатков алкогольной продукции
Чтение остатков продукции ВетИС
Чтение отчетов ЕГАИС
Чтение передач в регистр №2 ЕГАИС
Чтение перс учета
Чтение планов обмена
Чтение планов обмена с мобильными приложениями
Чтение подключаемого оборудования
Чтение продукции ВетИС
Чтение производственных операций ВетИС
Чтение рассылок отчетов
Чтение регистраций в налоговых органах
Чтение СЗВ-КОРР
Чтение соответствия номенклатуры ВетИС
Чтение списка задач
Чтение справок ЕГАИС
Чтение уведомлений о поступлении маркированных товаров ГИСМ
Чтение уведомлений о списании КиЗ ГИСМ
Чтение уведомлений об отгрузке маркированных товаров ГИСМ
Чтение хозяйствующих субъектов ВетИС
Чтение целей расхода материалов
Чтение чеков ЕГАИС
Чтение чеков ЕГАИС на возврат
Чтение шаблонов этикеток
Чтение штрихкодов упаковок товаров
Чтение электронных документов
Чтение электронных документов
Пример:
Как сделать в 1С:Бухгалтерия 8 права пользователя только просмотр с возможностью печати на принтер?
В типовой конфигурации 1С:Бухгалтерия 8 редакция 3, разработчиками уже создан профиль «Только просмотр» . Пользователь может скопировать его, переименовать новый профиль, например, в «Только просмотр с возможностью печати» и включить в этом профиле роль «Вывод на принтер, в файл, в буфер обмена» .
Профили доступны пользователю в программе 1С:Бухгалтерия 8 редакция 3 в меню «Администрирование» -> «Настройки пользователей и прав» -> «Профили групп доступа»
Ответ Сообщения: 73 Зарегистрирован: 21 апр 2010, 15:53
PROИТ
Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.
Настраиваем права доступа в 1С Университет ПРОФ. Часть 1. Базовые права
Дано: установленный 1С Университет ПРОФ (версия 2.0.7).
Задача: настроить права доступа для пользователей с минимумом изменений в типовой конфигурации.
Вариантов настроить права доступа в 1С множество, в том числе полное переписывание системы ролей под себя. Создание своих ролей, конечно, было бы самим правильным и тонко настраиваемым решением, однако, не всем это под силу (нужен 1С-специалист) и такие роли требуют постоянной актуализации при обновлении (если поменялись или добавились какие-либо объекты в системе или логика какого-либо процесса).
Т.к. перед нами стоит задача минимального затрагивания конфигурации, здесь я постаралась рассмотреть способ, позволяющий настроить доступ через интерфейс программы, минуя настройку в конфигураторе. У него тоже есть свои недостатки, о которых указано ниже в статье, а также предложены варианты их обхода.
Итак, начнем. Допустим, что администратор в базе уже есть со следующими ролями (задано через конфигуратор) — администратор, администратор системы, администрирование, обновление конфигурации базы данных, полные права.
Если необходим также пользователь с полными правами, также желательно создать его в конфигураторе и задать роль «Полные права».
Далее все действия производим в режиме «Предприятие» (не в конфигураторе) под администратором.
Этапы:
1) Предварительная подготовка (настройка программы и профилей)
2) Создание групп и настройка прав (на конкретные документы)
3) Создание пользователей
4) Настройка интерфейсов (шаблоны пользователей)
5) Дополнительная защита
Условимся, что:
— Пользователи не должны беспрепятственно создавать любые документы или редактировать чужие.
— Пользователи разных подразделений должны видеть физических лиц только своего подразделения (например, сотрудники кафедры видят только своих преподавателей, а сотрудники факультетов — только своих студентов).
1. Предварительная подготовка (настройка программы и профилей)
Предварительно настроим профиль групп доступа «Пользователи», установив ему роль «Пользователь».
Для этого переходим на «Администрирование» — «Настройка пользователей и прав» — «Профили групп доступа» — Пользователи:
Далее устанавливаем роль «Пользователь«:
Сохраняем. Переходим по ссылке «Группы доступа» и проверяем, что группа и профиль пользователей соответствуют друг другу:
Также включаем следующие параметры:
1) Ограничивать доступ на уровне записей. Благодаря этому, у каждого документа появляется ответственное лицо, которое его создало, что позволяет настраивать доступ только к «своим» документам и к каждому документу в отдельности. Например, если сделать нужные настройки, то операторы ПК будут иметь доступ только к созданным ими заявлениям абитуриентов.
2) Группы пользователей (так мы сможем группировать пользователей с одинаковыми правами доступа, чтобы не назначать права отдельно каждому пользователю)
3) Разграничивать доступ к справочнику «Физические лица» (чтобы каждое подразделение видело только «своих» физических лиц)
2. Создание групп и настройка прав (на конкретные документы)
Теперь необходимо определить категории пользователей, например: оператор ПК, секретарь ПК, сотрудник УМУ, сотрудник деканата, отдел кадров студентов и т.п.
В качестве примера, рассмотрим приемную комиссию. Выделим две категории оператор ПК и секретарь ПК.
На вкладке «Пользователи» создаем, например, такие группы: Приемная комиссия — а ней две подгруппы «Операторы ПК» и «Секретари ПК»:
Теперь на группу «Секретари ПК» через механизм «Администрирование прав объекта» назначим следующие права на документы:
Похожий список прав рекомендовали сами разработчики в инструкции на своем сайте — см. Инструкция по настройке прав доступа сотрудников ПК по адресу sgu-infocom.ru/support/instructions
Чтобы попасть в окно «Администрирование прав объекта» группы, нажмите «Изменить» в контекстном меню группы «Секретари» и затем кнопку с изображением «папки с шестеренкой»:
Не перепутайте и не нажмите кнопку случайно на каком-нибудь пользователе, иначе права будут на конкретного пользователя, а не на группу.
В открывшемся окне выберите перечисленные выше объекты доступа (предопределенные документы из справочника «Объекты метаданных») и расставьте права («галочки») напротив соответствующих документов.
Этим действием мы указали, что все пользователи, входящие в данную группу, будут иметь доступ к указанным документам. Если документ со значением «Все значения», то пользователь сможет править документы других пользователей, есть написано «Секретарь ПК», то только свои.
Для группы «Операторы ПК» можно сделать следующие права:
Для УМУ, например, так:
И т.д. Частично информацию по составу документов для различных категорий можно почерпнуть из инструкции разработчиков по внедрению от 2011 года — new.1c-universitet.ru/Media/Default/files/user_introduction.pdf
Эксперименты с созданием групп-подгрупп показали, что права, назначенные на группу, не наследуются на подгруппу, хотя этот было бы удобно. Таким образом, получается, что права надо задавать именно на последнюю по иерархии группу, т.е. ту, где непосредственно будут находиться пользователи.
3. Создание пользователей
Теперь создаем непосредственно пользователей системы. Выбираем группу, например, «Секретари ПК» и нажимаем «Создать«:
Создание пользователя стандартное. Стоит обратить внимание на поле «Подразделение». На его основании программа предоставляет доступ к справочнику физических лиц: т.е. если указано конкретное подразделение (например, факультет), то пользователь будет видеть только студентов (физических лиц) этого факультета. Если нужен полный доступ к физическим лицам, то нужно установить корневой элемент структуры вуза (обычно это наименование вуза).
Далее пользователю необходимо присвоить группу доступа «Пользователь«, которую мы настраивали в разделе 1. Делается это следующим образом:
Создайте столько пользователей, сколько нужно.
Одного пользователя при необходимости можно включать в несколько групп пользователей.
Если создается пользователь приемной комиссии, то нужно не забыть назначить ему доступные приемные кампании:
В принципе, всё необходимое сделано и можно уже останавливаться на данном этапе — пользователи созданы, права на документы предоставлены — можно начинать работать. Все последующие разделы направлены на урезание прав пользователей и защиты базы от изменений.
4. Настройка интерфейсов (шаблоны пользователей)
Пользователи созданы, однако по умолчанию они видят все подсистемы в программе, кроме администрирования (планирование учебного процесса, расписание, приемная комиссия, структура и т.п.), например, так:
Неудобство в том, что панели настраиваются под каждым пользователем отдельно. Поэтому была придумала такая идея: сделать шаблонных пользователей, настраивать им интерфейс, а затем копировать настройки реальным пользователям при помощи стандартного механизма копирования настроек.
Итак, под шаблонных пользователей лучше создать отдельную группу, например, «Шаблоны пользователей«.
Создаем пользователей-шаблонов для секретарей и операторов (создание такое же, как и обычных пользователей):
Теперь заходим в программу под каждым из этих шаблонных пользователей и настраиваем интерфейс.
Убираем лишние подсистемы и ссылки на документы и справочники.
Также многим пользователям с небольшими мониторами не удобно работать с интерфейсом со вкладками, поэтому мы переключили их в режим работы «Формы в отдельном окне» (через «Параметры«):
В итоге, например, у оператора может быть вот такой интерфейс:
Теперь скопируем сделанные настройки на основных пользователей. Для этого в разделе «Настройки пользователей и прав» переходим по ссылке «Копировать настройки«:
В открывшемся окне выбираем одного шаблонного пользователя как источника и нужных пользователей в качестве приемников:
Нажимаем «Скопировать и закрыть» и делаем тоже самое для других шаблонов.
Это удобно при массовых изменениях интерфейсов групп пользователей.
После копирования желательно у шаблонов отключить возможность входа в систему.
5. Дополнительная защита
Главный недостаток подобного способа настройки ролей — пользователи хоть и не имеют доступа к документам, они имеют доступ ко всем справочникам (кроме физ.лиц): они могут добавлять элементы и изменять существующие (удалить не смогут).
А также, если пользователь догадается как включить «Все функции», то он сможет изменять константы, запускать любые обработки, бизнес-процессы (ирония в том, что если он сможет добраться через «Все функции», например, до константы «Ограничивать доступ на уровне записей», то ничто не помешает ему ее отключить…).
Это повышает требования к пользователям, но зачастую они меняют элементы сами того не подозревая, без злого умысла.
О способах дополнительной защиты и обхода вышеуказанной проблемы читайте в следующей части статьи.
1с базовые права бсп что это
Подсистема БСП «Управление доступом», основные объекты и регистры
Вызывает сожаление непрозрачность и неинтуитивность применения в разработке всей этой подсистемы в целях расширения возможностей и дополнения функционала.
Схожие наименования сущностей не позволяют быстро разобраться в происходящем: Значения групп доступа, Группы значений доступа с Видами доступа и Наборами групп доступа.
Неужели нельзя было придумать по другому…
Согласен с Вами.
(1) Рекомендую, вот здесь более подробно расписано каким образом можно дорабатывать данную подсистему: https://infostart.ru/public/313468/
Для анализа прав доступа рекомендую пользоваться вот этим отчетом, а не типовым (в типовом не имеется гибких настроек): https://infostart.ru/public/418437/
(3)Да, согласен, у Вас более подробно описан механизм добавления новых видов доступа..
У меня более общее описание подсистемы «В целом»
Какие должны быть настройки у групп и профилей доступа, чтобы использовать вид доступа Объект Шаблона ПоЗначениямИНаборамРасширенный ?
(6)Чтобы использовать вид доступа Объект в шаблоне «ПоЗначениямИНаборамРасширенный», нужно дополнительно настраивать заполнение регистра сведений «НаборыЗначенийДоступа». Посмотрите тут про использование шаблонов.
А зачем Вам вообще использовать вид доступа «Объект»? Используйте шаблон «ПоЗначениям» или «ПоЗначениямРасширенный». И группа доступа Вам одна нужна, а не две.
(7) Действительно, можно использовать шаблон «ПоЗначениям» с видом доступа ПравоЧтения. Спасибо!
Один профиль и одна группа, ок.
и роль «ЧтениеИПросмотрСписанийТоваров» с шаблоном
#ПоЗначениям( «Документ._ДемоСписаниеТоваров», «Чтение», «»,
Роли включены в один профиль с видом доступа «Организация» — все запрещены кроме ЗАО «Перспектива».
При открытии списка документов Списание товаров. Отображаются все документы.
Вопрос о тем какие должны быть настройки у группы и профиля все ещё актуален. Подскажите, что не так.
Отчет о правах пользователя выглядит вот так:
Какое право нужно, чтобы создавалось рабочее место торгового оборудования в БП3?
У меня пользователь с урезанными правами.
Под ним не создается элемент "Рабочие места". Я вижу там пользователей в виде ИмяПользователя(ИмяКомпьютера), а для этого пользователя записи нет.
Как думаете, почему? Какую роль надо добавить, чтобы он смог использовать ТО?
Я хочу подключить ему сканер ШК.
Права у него такие:
Базовые права БСП Да
Базовые права БТС Да
Базовые права ЕГАИС Да
Базовые права ИСМП Да
Базовые права: Бухгалтерия предприятия Да
Вывод на принтер, в файл, в буфер обмена Да
Добавление изменение подключаемого оборудования Да
Запуск веб-клиента Да
Запуск тонкого клиента Да
Просмотр номенклатуры Да
Просмотр организаций Да
Просмотр цен номенклатуры Да
Сохранение данных пользователя Да
Чтение заказа на эмиссию кодов маркировки СУЗ Да
Чтение курсов валют Да
Чтение подключаемого оборудования Да
Чтение шаблонов этикеток Да
Короче, проблема была в том, что в моем новом документе при обращении к ТО не был заполнен параметр сеанса РабочееМестоКлиента.
Вызываю принудительно заполнялку этого параметра при старте системы и все — полное счастье.
Как добиться, чтобы этот параметр заполнялся сам, ХЗ, там черт ногу сломит.
Под админом заполняется, под пользователем нет.
В общем, вызываю заполнение принудительно и полное щасте.
&После("ПередНачаломРаботыСистемы")
Процедура моё_ПередНачаломРаботыСистемы(Отказ)
Сообщить("Перед началом работы системы");
Попытка
МенеджерОборудованияВызовСервера.УстановитьПараметрыСеансаПодключаемогоОборудования("РабочееМестоКлиента", Новый Структура());
Исключение
ОписаниеОшибки = ОписаниеОшибки();
Сообщить("При установке параметров сеанса подключаемого оборудования ошибка: " + ОписаниеОшибки);
КонецПопытки;
1С бсп что это
Стандартная библиотека
Библиотека стандартных подсистем, редакция 3.0
Версия 3.0.3
Версия 3.0.3 является развитием редакции инструментария «1С:Библиотека стандартных подсистем», который предназначен для разработки конфигураций на платформе «1С:Предприятие» версии 8.3.12 и выше. При этом свойство конфигурации «Режим совместимости» должно быть установлено в «Не использовать» при разработке на версии 8.3.12 или в «Версия 8.3.12» при разработке на более старших версиях.
«1С:Библиотека стандартных подсистем» (БСП) предоставляет набор универсальных функциональных подсистем, готовые разделы для пользовательской документации и технологию для разработки прикладных решений на платформе «1С:Предприятие». С применением БСП становится возможной быстрая разработка новых конфигураций с уже готовой базовой функциональностью, а также включение готовых функциональных блоков в существующие конфигурации. Использование БСП при разработке прикладных решений на платформе 1С:Предприятие позволит также достичь большей стандартизации конфигураций, что уменьшит время на изучение и внедрение прикладных решений за счет их унификации по набору используемых стандартных подсистем.
Входящие в БСП подсистемы охватывают такие области, как:
Администрирование пользователей и прав доступа;
Средства администрирования и обслуживания (установка обновлений, резервное копирование, дополнительные отчеты и обработки, оценка производительности и др.);
Сервисные подсистемы (история изменений объектов, заметки и напоминания, печать, полнотекстовый поиск, присоединенные файлы, электронная подпись и др.);
Технологические механизмы и программные интерфейсы (процедуры и функции общего назначения, обновление версии ИБ, работа в модели сервиса и др.);
Нормативно-справочная информация и классификаторы (адресный классификатор, банки, валюты и др.);
Интеграция с другими программами и системами (обмен данными, работа с почтовыми сообщениями, отправка SMS, рассылка отчетов и др.);
Прикладные подсистемы и рабочие места пользователей (анкетирование, бизнес-процессы и задачи, взаимодействия, варианты отчетов и др.).
Всего в БСП входит более 60 подсистем. Полный состав подсистем, их назначение, порядок внедрения и рекомендации по использованию приведены в документации к библиотеке (http://its.1c.ru/db/bspdoc).
Вместе с подсистемами БСП предлагает и отдельные методики разработки прикладных решений, которые описаны в документации к библиотеке. С использованием БСП значительно легче вести разработку конфигураций, соответствующим всем требованиям «Системы стандартов и методик разработки конфигураций для платформы «1С:Предприятие 8» (http://its.1c.ru/db/v8std).
Кроме того, для администраторов и специалистов по внедрению прикладных решений в составе БСП поставляются внешние обработки, которые можно использовать автономно без БСП для решения ряда административных и «ремонтных» задач: консоль запросов, групповое изменение объектов, регистрация изменений на узлах планов обмена, скрытие конфиденциальной информации и др.
Порядок перехода с предыдущей версии
Весь исходный код библиотеки распространяется по лицензии Attribution 4.0 International (CC BY 4.0) . Текст лицензии доступен по ссылке: https://creativecommons.org/licenses/by/4.0/legalcode. Эта лицензия позволяет вам использовать, распространять, перерабатывать, исправлять и развивать библиотеку в любых, в том числе, в коммерческих целях, при обязательном условии указания авторства библиотеки в вашем программном продукте. См. также: Ответы на типовые вопросы по лицензированию "1С:Предприятия 8".
Версия 3.0.3 совместима с версией платформы 8.3.12 с отключенным режимом совместимости. Общий порядок обновления подсистем БСП, используемых в конфигурациях, до данной версии приведен в документации (http://its.1c.ru/db/bspdoc). Особенности обновления с предыдущих версий описаны в файле Update.htm , входящем к комплект поставки (в каталоге ExtFilesDocs ). При обновлении «через» несколько версий, необходимо отработать инструкции разделов Переход с предыдущих версий файла UpdateSSL.htm последовательно для всех предыдущих версий библиотеки.
Для обновления версий БСП в прикладных решениях рекомендуется использовать специализированные инструменты, входящие в дистрибутив библиотеки:
ExtFilesПервоеВнедрениеБСП.epf – внешняя обработка для упрощения процесса первого внедрения библиотеки в прикладную конфигурацию. Позволяет выбрать подсистемы для внедрения с учетом их зависимостей друг от друга и сохранить настройки для сравнения-объединения с помощью конфигуратора. Также с ее помощью можно выполнить удаление избыточных фрагментов кода подсистем, которые не используются в конфигурации.
ExtFilesИнструменты разработчикаПереходНаВерсию .epf – внешние обработки по автоматизации ряда массовых операций при переводе конфигурации с ранних версий библиотеки, которые указаны в разделе Переход с предыдущих версий файла UpdateSSL.htm . Предусмотрены обработки для перехода на версии 3.0.1 и 3.0.3. Обработки запускаются в информационной базе после обновления метаданных библиотеки в прикладной конфигурации. При работе с хранилищем конфигурации обработку рекомендуется запускать на копии информационной базы и затем загружать обратно измененные метаданные конфигурации с помощью сравнения-объединения.
ExtFilesПроверкаВнедренияБСП.erf – внешний отчет, предназначенный для запуска в информационной базе после внедрения или обновления метаданных библиотеки в прикладной конфигурации. Выявляет распространенные проблемы внедрения библиотеки в конфигурации, в частности, проверяет корректность заполнения состава определяемых типов, наличие необходимых вставок кода в модулях.
ExtFilesОбновлениеНаИсправительнуюВерсиюБСП.epf – внешняя обработка для обновления конфигурации на новые исправительные релизы библиотеки. Она позволяет существенно сэкономить время при регулярных (например, еженедельных) обновлениях. Исправительные релизы библиотеки отличаются только четвертой цифрой в полном номере версии, например: 2.4.1. 1 , 2.4.1. 2 , 2.4.1. 10 и т.п. Ее необходимо запускать в информационной базе с конфигурацией, содержащей предыдущий релиз библиотеки. Нажать на кнопку Обновить на исправительную версию , указав файл 1Cv8.cf новой версии библиотеки из комплекта поставки. При этом выполняется автоматическое сравнение/объединение с новой конфигурацией библиотеки согласно настройкам, которые соответствуют документации: будут перенесены все поставляемые объекты библиотеки, а переопределяемые при внедрении – объединены с приоритетом конфигурации поставщика (например, определяемые типы) или пропущены (как например, переопределяемые модули). После сравнения/объединения конфигурация базы данных не будет обновлена автоматически, что позволяет выполнить сравнение с конфигурацией базы данных и внести правки в измененные объекты: переопределяемые модули, различные локальные исправления и доработки. После обновления необходимо дополнительно выполнить инструкции из раздела Переход с тестовых версий или Переход с предыдущих версий документа UpdateSSL.htm , если они указаны. Кроме того, в качестве альтернативного варианта, по кнопке Сформировать файл настроек предусмотрена возможность сформировать настройки, которые затем можно загрузить в конфигураторе для ручного сравнения-объединения. Однако при обновлении на новые функциональные релизы (изменение третьей цифры) расстановку флажков в окне сравнения-объединения необходимо выполнять, как и ранее, в конфигураторе, следуя инструкциям в главе 2 документации.
Документация
См. также на портале
Перед началом установки конфигурации ознакомьтесь с важной информацией в файле Readme.txt
Полный дистрибутив конфигурации
Все данные для установки находятся на диске в каталоге 1CitsEXESSL3.0.3.121 ( просмотреть каталог )
На примере редакции БСП 2.1.2.34 (платформа 1С 8.2) я рассмотрю основные функции, подсистемы и примеры использования данной конфигурации.
Конфигурация «Библиотека стандартных подсистем» — одна из немногих конфигураций от фирмы 1С, которая создана для разработчиков, а не пользователей. Сама конфигурация представляет из себя набор подсистем, которые могут использоваться в любых конфигурациях. Также в состав БСП включена целая технология разработки на базе 1С 8.2. Библиотека стандартных подсистем позволяет стандартизировать решения и добиться максимальной схожести различных решений от разных разработчиков. Все типовые конфигурации 1С 8.2, где используются управляемые формы (УПП 2.0, БП 3.0, УТ 11, УНФ), написаны на базе БСП.
В подсистемы БСП, как правило, включены такие функции, как администрирование баз данных, установка прав данных, прикрепление файлов, версионирование объектов, задачи сотрудникам, почтовые сообщения, анкетирование, отправка SMS, стандартная справочная информация (организации, банки, классификатор валют, производственный календарь) и другие сервисные функции, которые можно включить в любую конфигурацию на базе 1С 8.
Конфигурация «Библиотека стандартных подсистем» имеет специальный помощник внедрения, позволяющий существенно сократить трудозатраты при разработке новой конфигурации. С помощью помощника Вы можете пошагово указать нужные подсистемы и на выходе получить заготовку для будущей конфигурации:
Подсистемы 1С БСП
Ниже я вкратце опишу подсистемы этой конфигурации, их назначение, и как их можно использовать. Всего в «Библиотеке стандартных подсистем» 52 подсистемы. Некоторые связаны между собой, некоторые независимы. Для рассмотрения процесса внедрения каждой подсистемы лучше всего обратиться к документации по конфигурации.
Получите 267 видеоуроков по 1С бесплатно:
1.Базовая функциональность
Подсистема «Базовая функциональность» содержит базовый функционал, обязательный для всех прикладных решений, использующих библиотеку. К базовому функционалу относятся процедуры и функции общего назначения, подсистема установки произвольного заголовка окна программы, универсальная форма для выбора объектов метаданных, ряд универсальных обработок, а также стандартные роли: ПолныеПрава, АдминистраторСистемы, ОбновлениеКонфигурацииБазыДанных,БазовыеПрава и другие. Система содержит функционал для установки параметров сеанса.
Эта подсистема обязательна для установки в случае использования любой другой подсистемы.
2.Работа в модели сервиса
Подсистема «Работа в модели» содержит базовый функционал, обязательный для всех прикладных решений, рассчитанных на работу в модели сервиса, а также ряд подсистем, которые расширяют другие подсистемы для работы в модели сервиса (например, «Валюты в модели сервиса» и пр.).
3. Адресный классификатор
Подсистема предназначена для загрузки, хранения, получения адресной информации. Загрузка происходит из адресного классификатора (КЛАДР). Подсистема сильно связана с подсистемой «Контактная информация», однако может внедряться автономно.
4. Анализ журнала регистрации
Содержит в себе специальный отчет для более информативного просмотра информации журнала регистрации.
5. Анкетирование
Предназначена для проведения опросов и анализа результатов опроса. Возможно проведение опросов через интернет по средствам веб-клиента.
6. Банки
Подсистема предназначена для загрузки, хранения, получения информации о банках. Загрузка происходит с сайта РБК, возможна настройка регламентного задания и ручная загрузка.
7. Бизнес-процессы и задачи
Предназначена для работы с задачами, как части бизнес-процесса. Задачи могут быть адресованы исполнителю или группе исполнителей как персонально (персональная адресация), так и с использованием ролей исполнителей (ролевая адресация). В подсистему входят пять функциональных блоков: настройка ролевой адресации, создание, исполнение, контроль и автоматический мониторинг задач.
8. Валюта
Подсистема предназначена для загрузки, хранения, получения информации о валютах и курсах валют. Возможен подбор нужной валюты из табличного документа. Загрузка курсов валют происходит с сайта РБК, возможна как настройка регламентного задания, так и ручная загрузка.
9. Варианты отчетов
Подсистема расширяет пользовательский интерфейс настроек отчетов СКД.
10. Версионирование объектов
Подсистема предназначена для сохранения и дальнейшего анализа элементов справочников и документов. Подсистема сохраняет каждую версию объекта в хранилище значений, после чего помещает его в ресурс регистра сведений. В подсистему включены специальные отчеты, которые позволяют оперативно посмотреть пореквизитно историю работы пользователя с объектом.
11. Взаимодействия
Подсистема «Взаимодействия» предназначена для планирования, регистрации, упорядочивания взаимодействий и работы с результатами взаимодействий. Взаимодействия включают переписку по электронной почте, регистрацию звонков и встреч. Подсистема обеспечивает подбор и создание новых контактов взаимодействий.
12.Групповое изменение объектов
Подсистема позволяет производить массовое изменение данных в БД. Напоминает аналогичную обработку из 8.1.
13. Даты запрета изменения
Позволяет установить дату, до которой блокируются работа пользователей в документах, справочниках, регистрах сведений и т.д. Дата запрета изменения широко используется в типовых конфигураций — с помощью нее можно закрывать для редактирования объекты прошлого периода.
14. Дополнительные отчеты и обработки
Подсистема «Дополнительные отчеты и обработки» — абсолютный аналог старой библиотеки стандартных подсистем, дает подключать внешние обработки и печатные формы.
15. Завершение работы пользователей
Подсистема позволяет завершать существующие соединения с информационной базой (очень полезно, если сессия зависла) и устанавливать блокировку новых соединений с информационной базой на определенный период времени, например, на время регламентных процедур.
16. Заметки пользователя
Подсистема «Заметки пользователя» предназначена для хранения персональных заметок (различной неструктурированной информации, которая недоступна для других пользователей информационной базы). Заметки можно отмечать цветом, помещать на рабочий стол и объединять в группы.
17. Запрет редактирования реквизитов объектов
Позволяет отключать редактирование произвольных реквизитов объекта. Это то, чего так сильно не хватало в 8.1.
18. Защита персональных данных
Подсистема «Защита персональных данных» предназначена для соответствия информационной системы, построенной на основе конфигурации, требованиям Федерального закона №152-ФЗ от 27.06.2006 «О персональных данных».
19. Информационный центр
По сути является подключением к системе ИТС. Интеграция приложения с сервисом решает задачи быстрого перехода в другие приложения абонента и отображения наименования приложения так, как его задал абонент.
20. Информация при запуске
Отображает при запуске системы HTML страницы с различной информацией (например, рекламу). Страницы содержатся в макетах обработки ИнформацияПриЗапуске. Каждый макет содержит стартовую страницу, а также может содержать другие страницы, ссылки которых указаны в стартовой странице.
Другие статьи по 1С:
Бонус! Видеообзор некоторых возможностей БСП:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Библиотека стандартных подсистем (БСП) — набор подсистем для конфигураций на платформе 1С:Предприятие, реализующие базовую функциональность и отдельные функциональные блоки. Попробуем подробнее разобраться что же это такое.
Для чего создавалась БСП
Первая версия БСП выпущена фирмой 1С в далеком 2010 году для платформы 1С:Предприятие 8.2. 1С предлагает использовать данную библиотеку (или отдельные ее подсистемы) в качестве основы для создания собственных прикладных решений. Также все типовые продукты, выпускаемые самой фирмой 1С, базируются на БСП.
Использование единых модулей позволило достичь большей стандартизации прикладных решений, а это в свою очередь позволило уменьшить время на их изучение (и программистами, и администраторами, и конечными пользователями).
Для программистов, разрабатывающих прикладные решения «с нуля», БСП позволила экономить кучу времени, т.к. отпала необходимость самостоятельной разработки базовых функциональных блоков, входящих в БСП. За программиста разработку и тестирование выполнила фирма 1С. От программиста теперь требуется только разобраться с уже разработанным функционалом и научиться внедрять БСП.
Как распространяется БСП
БСП представляет собой конфигурацию для платформы 1С:Предприятие. Причем конфигурация не является самостоятельным прикладным решением, это всего лишь инструментарий для разработчика. Всю конфигурацию или часть подсистем можно использовать при разработке прикладных решений.
В состав поставки БСП входит демо-база с примером внедрения. Данная демо-база доступна для ознакомления на сайте 1С. Как можно получить к ней доступ можно почитать в статье Удаленный доступ к демо-конфигурациям 1С.
БСП не продается. Дистрибутив БСП можно бесплатно получить при наличии подписки на информационно-технологическое сопровождение(ИТС). Для использования прикладного решения, разработанного на базе БСП, подписка на ИТС не требуется. Также бесплатно БСП могут получить партнеры фирмы 1С.
Официальная документация по БСП находится по адресу https://its.1c.ru/db/bspdoc и доступна при наличии подписки на ИТС.
Состав БСП
БСП состоит из множества подсистем, которые делятся на:
- самостоятельные. Для внедрения достаточно перенести все объекты в целевую конфигурацию и вывести объекты в интерфейс. Примеры подобных подсистем: «Анализ журнала регистрации», «Валюты», «Завершение работы пользователей».
- интегрируемые. Предназначены для тесной интеграции с другими объектами конфигурации. Для внедрения подобных подсистем необходимо выполнить дополнительные настройки. Примеры подобных подсистем: «Версионирование объектов», «Заполнение объектов», «Запрет редактирования реквизитов объектов».
На текущий момент (июль 2017 года) доступна БСП версии 2.4.2, которая поддерживает следующий функционал:
Средства администрирования и обслуживания | Анализ журнала регистрации Дополнительные отчеты и обработки Настройки программы Обновление конфигурации Оценка производительности Поиск и удаление дублей Профили безопасности Регламентные задания Резервное копирование ИБ Удаление помеченных объектов Управление итогами и агрегатами |
Администрирование пользователей и прав доступа | Завершение работы пользователей Пользователи Управление доступом |
Интеграция с другими программами и системами | Внешние компоненты Загрузка данных из файла Интеграция с «1С-Бухфон» («1С-Коннект») Обмен данными Отправка SMS Получение файлов из Интернета Работа с почтовыми сообщениями Рассылка отчетов |
Технологические механизмы и программные интерфейсы | Базовая функциональность Заполнение объектов Запрет редактирования реквизитов объектов Обновление версии ИБ Подключаемые команды Префиксация объектов Работа в модели сервиса Центр мониторинга |
Прикладные подсистемы и рабочие места пользователей | Анкетирование Бизнес-процессы и задачи Варианты отчетов Взаимодействия Работа с файлами Текущие дела Шаблоны сообщений |
Нормативно-справочная информация и классификаторы | Адресный классификатор Банки Валюты Графики работы Календарные графики |
Сервисные подсистемы | Версионирование объектов Групповое изменение объектов Даты запрета изменения Заметки пользователя Защита персональных данных Информация при запуске Контактная информация Напоминания пользователя Настройка порядка элементов Печать Полнотекстовый поиск Проверка легальности получения обновлений Свойства Склонение представлений объектов Структура подчиненности Электронная подпись |
Подробнее конкретные подсистемы будут описываться в отдельных статьях.
Внедрение БСП
Перед внедрением библиотеки стандартных подсистем в свою конфигурацию необходимо определиться с перечнем внедряемых подсистем. В самом простом случае внедряются все подсистемы. Вне зависимости от того, какой функционал необходим, есть обязательные подсистемы, которые внедряются всегда:
- Базовая функциональность;
- Обновление версии ИБ;
- Пользователи.
Общая схема внедрения состоит из следующих этапов:
- Перенос необходимых объектов метаданных в целевую конфигурацию;
- Настройка перенесенных объектов;
- Использование объектов БСП при разработке нового функционала.
Для помощи во внедрении БСП в состав библиотеки входит обработка ПервоеВнедрениеБСП.epf . Она располагается в каталоге шаблона конфигурации. В обработке есть краткое описание всех подсистем и определены взаимозависимости подсистем друг от друга.
Для проверки корректности внедрения БСП в каталоге шаблона конфигурации располагается отчет ПроверкаВнедренияБСП.erf.
Как узнать версию БСП прикладного решения
Есть несколько способов узнать какая версия БСП используется в конкретном прикладном решении:
- Программно: вызвать функцию СтандартныеПодсистемыСервер . ВерсияБиблиотеки () ;
- Интерактивно: в регистре сведений «Версии подсистем» посмотреть значение версии для подсистемы «СтандартныеПодсистемы».
Остались вопросы?
Спросите в комментариях к статье.
2 комментария
Да, когда-то мы использовали БСП для написания конфигурации по управлению автотранспортом. Тогда была довольно скромная функциональность. Сейчас БСП можно назвать мощным инструментом с кучей модулей, хотя с установкой нужной комплектации нужно помучиться немного…
От экспертов «1С‑Рарус»: Производительность нового RLS в 1С БСП 3. Переходить или нет?
Производительность механизма ограничения прав на уровне записи в «1С» (RLS)
Одним из известных источников проблем производительности в «1С» является механизм RLS (Record Level Security). Связано это, как мы увидим ниже, с построением неоптимального плана запроса. Часто на больших проектах, проектные команды доходили вплоть до отказа от использования этого механизма и разрабатывали на уровне прикладного кода свои механизмы.
Для системного решения задачи компания «1С» в конфигурации БСП (Библиотека стандартных подсистем), начиная с редакции 3 и выше, предложила принципиально новый подход к ограничению доступа на уровне записи.
Декларируется значительное ускорение при переключении на данный режим, в отдельных случаях до 100 раз.
В рамках данной статьи проведен тщательный сравнительный анализ нового подхода и основные нюансы по переходу на него.
Архитектурный обзор
Прежде, чем приступить непосредственно к проведению анализа, разберемся как устроен старый и новый подходы, не погружаясь в детали текстов шаблонов ограничений, а ровно на том уровне, которого достаточно для концептуального понимания. И старый механизм ограничения доступа на уровне записей, и новый использует платформенный механизм шаблонов ограничений ролей.
Принципиальным моментом для нас является то, что сами тексты шаблонов значительно отличаются в новом и старом подходе. В новом они ультракомпактны. За выбор между новым и старым RLS отвечает константа «ОграничениеДоступаНаУровне
ЗаписейУниверсально»:
Далее платформенными механизмами для пользователей с ограниченными правами применяются шаблоны ограничений, что добавляет к запросам на чтение / добавление / изменение записей на уровне СУБД текст запроса на проверку видов доступа, настроенных при помощи стандартного механизма настройки видов доступа, например, как показано на скриншоте ниже.
В старом RLS участвуют шаблоны «ПоЗначениям», «ПоЗначениямРасширенный», «ПоЗначениямИНаборам
Расширенный», «ПоНаборамЗначений». Они имеют большое количество параметров, где мы в простейшем случае указываем имя объекта и право, которое мы ограничиваем, а дальше попарно перечисляем вид доступа, который ограничиваем и имя реквизита объекта, по которому производится фильтрация:
В самом шаблоне для каждой пары параметров «вид доступа — имя реквизита» добавляется текст проверки ограничения, при этом используются регистры сведений:
- ТаблицыГруппДоступа,
- ЗначенияГруппДоступа.
Недостаток такого подхода заключается в масштабируемости, чем больше видов доступа настраиваем для объекта, тем больше финальный текст запроса в СУБД и количество левых соединение в нем:
Это может привести к неправильному использованию индексов и выбору неоптимального плана запроса на больших данных, о чем будет рассказано позже.
В новом же RLS используются шаблоны доступа «ДляОбъекта» и «ДляРегистра». В перечисленных шаблонах используются уже другие сущности для проверки прав доступа.
Регистр сведений для хранения настроек:
- ПараметрыОграниченияДоступа.
Регистры сведений для проверки ограничений:
- КлючиДоступаКОбъектам,
- КлючиДоступаПользователей.
- КлючиДоступа,
- НаборыГруппДоступа.
Отличительной особенностью нового механизма является то, что он позволяет не усложнять проверку прав доступа дополнительными соединениями с основным запросом при увеличении количества видов доступа, настраиваемых для объекта. Текст запроса проверки прав доступа будет фиксированным, различаются только параметры:
Достигается это за счет устройства регистров сведений для проверки ограничений «КлючиДоступаКОбъектам» и «КлючиДоступаПользователей».
Регистры имеют следующую структуру:
Здесь объект — это ссылка на конкретный объект в информационной базе (например, «Приходная накладная 0001 от 01.08.2020»), а ключ доступа пользователей — это специальный справочник, представляющий из себя составной ключ, содержащий определенную комбинацию значений видов доступа:
Стоит обратить внимание на реквизиты Значение 1, Значение 2 и т. д. В них будет содержаться комбинация конкретных значений видов доступа. Например, для видов доступа Организация, Структурная единица это могут быть «Ресторан», «Кухня-цех» или «Кафе Аленка», «Кухня-склад» и т. д.
Регистр ключей доступа к объектам, а также сами ключи доступа обновляются регламентно, а для быстрого поиска ключа в информационной базе предусмотрен реквизит «Хеш». Он вычисляется по специальной хеш функции и позволяет быстро понять, существует ли уже в системе ключ с такой комбинацией значений или нет.
Регистр ключей доступа пользователей в измерении «Пользователь» содержит справочник ключей пользователей, к которым применяется ограничение, а также справочник ключей доступа к объектам.
Таким образом при проверке ограничений доступа вне зависимости от количества настроенных для конкретного проверяемого объекта видов доступа запрос всегда будет дополняться одним соединением с регистром «Ключи доступа к объектам» по проверяемому объекту и с регистром «Ключи доступа пользователей» по текущему пользователю:
Из особенностей нового подхода также стоит отметить, что платформенный механизм проверки через шаблоны ограничения ролей срабатывает только при проверке объектов на чтение. В остальных случаях проверка происходит непосредственно перед записью в модуле объекта:
Переход со старого на новый и обратно
Если вы используете старый механизм RLS (или не используете ограничение на уровне записей вовсе) и хотите перейти на новый, то можно это сделать, выполнив несложную последовательность действий:
- Убедиться, что ваша конфигурация разработана на версии БСП 3.0.1 и выше. Если это не так, то необходимо будет выполнить соответствующее обновление.
- Для работы с новым механизмом RLS необходимо включить константы «Ограничивать доступ на уровне записей» и «Ограничивать доступ на уровне записей Производительный». Не во всех типовых решениях вторая константа вынесена в интерфейс, поэтому проще всего это сделать через меню «Все функции»:
- Если ролей немного, то копируем шаблоны из какой-либо типовой роли вручную.
- Если же ролей большое количество, то можно воспользоваться обработкой «ПроверкаВнедренияБСП», которая входит в дополнительные файлы поставки БСП.
- Третий вариант — самостоятельно написать обработку, которая выгрузит конфигурацию в файлы и допишет новые шаблоны в доработанные роли.
Подробное описание языка ограничений есть на ИТС, а также синтаксис языка ограничений находится в модуле «УправлениеДоступомСлужебный» в функции «СинтаксисЯзыка».
-
В форме элемента объекта в функции «ПриЧтенииНаСервере» дописать следующий вызов общего модуля подсистемы «Управление доступом»:
Таким образом осуществлен переход на использование нового механизма ограничений на уровне записей на базе конфигурации, разработанной на БСП 3.0.1 и выше.
Стоит отметить, что после выполненных действий не составит труда вернуться на старый механизм RLS и обратно, если это требуется.
Для этого необходимо изменить константу «Ограничивать доступ на уровне записей универсально». Это достигается благодаря тому, что старый и новый механизм ограничения доступа на уровне записей используют разные объекты метаданных.
При переключении константы система просто станет использовать другие регистры для проверки ограничений. Дополнительно при переключении на новый механизм RLS будет произведено обновление ключей доступа к объектам и ключей доступа пользователей.
Сравнительное тестирование
Итак, приступим непосредственно к проведению сравнительного тестирования двух систем RLS.
Параметры стенда:
- Две базы с одинаковой конфигурацией «1С:УНФ 8. Управление предприятием общепита» ред. 1.6.21.103 с БСП ред. 3.1.3.179.
- Платформа 1С: 8.3.16.1296.
- Операционная система: Windows Server 2012 R2.
- База данных: Microsoft SQL Server 2017 64х.
- Конфигурация сервера:
- Процессор: Intel Xeon X5680 12M Cache 3.33, 6 ядер, 2 шт.
- Оперативная память: 192 ГБ DDR3.
- Дисковые накопители: HGST HUH 721212ALE604 (файлы баз данных), Intel SSDSC2BA800G4 (системный диск, tempdb).
Параметры операций для тестирования
В качестве основных объектов наблюдения были выбраны:
- Документ «Приходная накладная».
- Регистр накопления «Запасы». Собственно, этот регистр двигается при проведении исследуемого документа.
Операции:
- Запись и проведение документов «Приходная накладная».
- Выполнение запросов:
- Выборка документов «Приходная накладная» со всеми реквизитами без табличной части, за выбранный период пользователю доступно 22–25 тыс. документов.
- Аналогичная выборка из п. 1, но ограниченная первыми 45 элементами. Число 45 выбрано не случайно, такое количество строк платформа обычно выбирает при запросах в динамических списках.
- Выборка из виртуальной таблицы «обороты» регистра накопления «Запасы», за выбранный период пользователю доступно
Документ «Приходная накладная»
Для документа настроены ограничения доступа по полям «Организация», «Контрагент», «Структурная единица».
Регистр накопления «Запасы»
Для регистра настроены ограничения доступа по измерениям «Организация» и «Структурная единица».
Настройка доступа и подготовка баз
Для тестового пользователя были настроены ограничения по видам доступа:
- «Организации» — доступно 1 значение, остальные запрещены.
- «Структурные единицы» — доступно 1 значение, остальные запрещены.
За основу взята демо-база, в которой были массово созданы документы типа «Приходная накладная» по организации доступной пользователю и по трем складам, доступен из которых только один. К началу эксперимента в обеих базах было порядка 100 тыс. документов, из которых пользователю с ограниченными правами доступно 35–37 тыс.
Настройки
Замеры будем производить несколькими путями:
- замер времени выполнения кода, с помощью функции ТекущаяУниверсальная
ДатаВМиллисекундах(); - замер производительности «1С»;
- технологический журнал «1С»;
- системный монитор производительности;
- расширенные события MS SQL — для получения планов запросов.
Настройка системного монитора производительности (performance monitor)
Для получения данных о нагрузке на процессор, интенсивности работы с оперативной памятью и диском настроим счетчики системного монитора производительности:
- Processor\% Processor Time,
- Memory\ Available Mbytes,
- Memory\Pages/sec,
- Physical Disk\ Avg. Disk Queue Length,
- Physical Disk\ Avg. Disk sec transfer.
Дополнительно включим счетчики MS SQL Server для отслеживания работы с буферным кэшем:
- Buffer manager\Page life expectancy,
- Buffer manager\Buffer cache hit ratio,
- Plan Cache\Plan cache hit ratio,
- Buffer Manager\Page reads/sec,
- Buffer Manager\Page writes/sec,
- Buffer Manager\Lazy writes/sec.
Настройка технологического журнала
Используем следующий файл настройки ТЖ — включен мониторинг событий CALL, SCALL, SDBL и DBMSSQL, с отбором по выбранной базе.
Настройка механизма расширенных событий MSSQL
Для получения планов запросов выбираем следующее событие:
На закладке «Filter» устанавливаем фильтр по имени базы:
Внешний вид настройки лога расширенных событий:
Результаты тестирования старого и нового механизмов RLS
Для простоты обозначим далее:
- RLSOld — база со старой RLS.
- RLSNew — база с новой RLS.
Замеры времени
Сначала был проведен ряд тестов по замерам времени с большим количеством выполнений для получения среднего результата и отсева флуктуаций. Получены следующие результаты:
Запись
Вид теста Кол-во тестов Вид RLS Cр. время одной операции (мс) Изменение в новой RLS (%) Проведение существующей приходной накладной 300 RLSOld 967 2,38% RLSNew 990 Создание и проведение новых приходных накладных 500 RLSOld 983 3,64% RLSNew 1 019 Чтение
Вид теста Кол-во тестов Вид RLS Cр. время одной операции (мс) Изменение в новой RLS (%) Запрос к таблице приходной накладной 50 RLSOld 6 133 -90,03% RLSNew 611 Запрос к таблице приходной накладной — первые 45 5 000 RLSOld 13 -44,26% RLSNew 7 Запрос к таблице РН Запасы.обороты 300 RLSOld 588 -51,43% RLSNew 286 Запрос к таблице РН Запасы.обороты — первые 45 300 RLSOld 443 -65,57% RLSNew 153 По таблице видно, что RLSNew несколько проигрывает в записи, но существенно выигрывает при чтении данных.
Далее мы проанализируем планы запросов, участвующих в тестировании чтения и проведем комплексный тест проведения 100 документов, чтобы выяснить в чем кроется разница.
Тест чтения — Планы запросов и системный монитор
С помощью extended events и perfmon попробуем проанализировать планы запросов и нагрузку на оборудование.
Выборка документов «Приходная накладная»
Первый тест — запрос по всем реквизитам документа «Приходная накладная»
RLSOld — длительность 6487374 мкс
RLSNew — длительность 569894 мкс
Как можно заметить — план запросов для RLSNew гораздо компактнее, чем RLSOld. Подробно разбирать все операторы не будем, по оценке планировщика в целом видно, что врезка RLS в прежней системе требует в несколько раз больше ресурсов чем в новой.
Обратим внимание на пару моментов, которые указывают на то, что план запроса в RLSOld не оптимален:
1. Наличие операторов Index Spool и Row Count Spool
Операторы вида Spool означают перенос части данных в tempdb на жесткий диск. Как правило это связано:
- Либо с недостатком оперативной памяти. Это не наш случай, для SQL сервера выделено 50ГБ.
- Либо, если планировщик «не уверен» в запросе и не смог просчитать план достаточно точно. Вероятнее всего так и есть.
- В RLSOld присутствуют операторы Index Spool и Row Count Spool.
- В обоих планах есть оператор Sort, однако планы построены таким образом, что в RLSOld этот оператор находится до соединения с добавкой RLS и получает на вход
- RLSOld = 136456 мс
- по наличию названия модуля «УправлениеДоступом
Служебный», строки с которым мы обнаружили в замере производительности «1С»; - по наличию названий таблиц SQL блоков RLS старого и нового.
- Замеры по событиям CALL в общем совпадают с замерами времени.
- Суммы SDBL «зашкаливают», это может быть объяснено вложенными и параллельными событиям, в данном ключе общая сумма не показательна, но можно заметить, что событий в RLSNew больше.
- Запросы, содержащие в себе имена таблиц блоков RLS в RLSNew суммарно выполняются на 2,74 сек. меньше, чем в RLSOld, при этом количество самих событий больше.
- Если Контрагент.ВестиРасчеты
ПоЗаказам Тогда’ - RLSOld = 0,02 сек.
- RLSNew = 0,12 сек.
- RLSOld = 0,0047 сек.
- RLSNew = 0,0137 сек.
- RLSOld = 0,0044 сек.
- RLSNew = 0,004 сек.
- Buffer manager:Page reads/sec (на графике зеленая линия) — при проведении документов в RLSOld показатель поднимался до значения 6,4, в RLSNew оставался на 0. К росту взаимодействия с буферным кэшем вероятнее всего также приводят неоптимальные планы запроса.
- Avg. Disk Queue Length (E:) (фиолетовая линия) — в RLSOld очередь к диску была в пределах 2,7, в RLSNew она достигала значения 7,5. Т. к. на диске E находятся файлы обеих баз данных, рост показателя означает более интенсивную работу с данными базы на диске.
- Plan cache:Cache hit ratio (красная линия) — наблюдается некоторое падение с 91 до 71 пункта в последней трети выполнения RLSNew.
2. Наличие «толстых» строк на входе у операторов Nested Loops
Как правило, планировщик запросов выбирает оператор соединения Nested Loops в ситуации, когда в обеих или одной из таблиц строк мало.
По плану видно, что планировщик ошибся в оценке. Это также указывает на то, что запрос сложен для оценки.
Очевидно эти факты есть подтверждение того, что прежняя система RLS создает запросы, которые могут вызывать проблемы для планировщика, о чем было написано ранее в блоке архитектуры.
Из справки
Оператор Index Spool сканирует входные строки, помещая каждую строку в скрытый файл буфера (хранимый в базе данных tempdb и существующий только в течение выполнения запроса), и создает для строк некластеризованный индекс. Это позволяет использовать поддерживаемый индексами механизм поиска для вывода только строк, отвечающих требованиям предиката SEEK:().
Если оператор сбрасывается на начало (например, оператором Nested Loops), но при этом не требуется повторная привязка, то вместо повторного сканирования ввода используются буферизованные данные.
Логический оператор Lazy Spool сохраняет все строки входных данных в скрытом временном объекте, который хранится в базе данных tempdb. Если оператор сбрасывается на начало (например, оператором Nested Loops), но при этом не требуется повторная привязка, то вместо повторного сканирования ввода используются буферизованные данные.
Если требуется повторная привязка, буферизованные данные удаляются, а объект буфера перестраивается путем повторного просмотра ввода. Оператор Lazy Spool производит отложенное построение своего буферного файла: каждый раз, когда родительский оператор буфера запрашивает строку, оператор буферизации получает строку из своего входного оператора и сохраняет ее в буфер, а не обрабатывает все строки сразу. Lazy Spool — это логический оператор.
Монитор производительности
Ниже приведен лог, записанный при выполнении 50 запросов в цикле.
Cache hit ratio — показывает процент планов запроса, которые получены из кэша, чем он меньше, тем больше планов SQL Server рассчитывает заново.
Выборка документов «Приходная накладная» (первые 45 строк)
RLSOld — длительность 8705 мкс
RLSNew — длительность 3136 мкс
При ограниченном количестве строк в плане RLSNew процент времени выборки из таблицы по отношению к добавке RLS уменьшился. В плане RLSOld исчез оператор Index Spool, но Row Count Spool остался.
Из справки
Оператор Row Count Spool просматривает входные данные, подсчитывая число представленных строк и возвращая такое же количество строк, очищенных от данных. Этот оператор используется, когда необходимо проверить существование строк, а не наличие в них данных.
Например, если оператор Nested Loops выполняет операцию левого полусоединения, а предикат соединения применяется к внутренним входным данным, оператор Row Count Spool можно разместить выше внутреннего ввода оператора Nested Loops.
Тогда оператор Nested Loops может определить количество выходных строк оператора Row Count Spool (поскольку реальные данные с внутренней стороны не требуются) для определения того, нужно ли возвращать внешние строки. Оператор Row Count Spool — это физический оператор.
По счетчикам системного монитора ничего примечательного не обнаружено, за исключением времени выполнения (запрос выполнялся 5000 раз).
Выборка из регистра накопления «Запасы»
Следующий тест — запрос по всем полям виртуальной таблицы «обороты» регистра накопления «Запасы».
RLSOld — длительность 591352 мкс
RLSNew — длительность 289880 мкс
Обратим внимание на следующие моменты, влияющие на производительность:
73 тыс. строк, в то время как в RLSNew оператор Sort расположен после соединения и получает на вход только
Соединение и Sort в RLSOld:
Соединение и Sort в RLSNew:
Для записи мониторинга производительности запрос выполнялся 300 раз. По логу видно, что оба запроса активно используют диск C (на котором расположена база tempdb), при этом очередь к диску (зеленая линия) во время запроса в RLSNew значительно ниже — максимум
0,5, против 6,8 для RLSOld. Это вполне коррелирует с наличием операторов вида spool в планах запросов.
Также во время выполнения вырос показатель Page writes/sec (голубая линия), для RLSOld до 3,2 тыс, для RLSNew до 2,8 тыс. При выполнении в RLSOld показатель plan cache hit ratio упал с
Выборка из регистра накопления «Запасы» (первые 45 строк)
RLSOld — длительность 422972 мкс
RLSNew — длительность 159879 мкс
Планы довольно похожи на предыдущий вариант, за исключением того, что в плане RLSOld теперь нет оператора Index Spool, но оператор Row Count Spool по-прежнему присутствует.
По системному монитору ситуация похожая, только нет падения Cache hit ratio, при этом есть некоторый скачок счетчика Page reads/sec в начале выполнения запросов RLSNew.
Комплексный тест на запись (100 документов)
Чтобы установить причину увеличения времени RLSNew в тестах записи — запустим создание и проведение 100 документов, с одновременным включением замера «1С», ТЖ и мониторингом perfmon.
Общее время выполнения
Замер производительности «1С»
При сопоставлении замеров «1С» было обнаружено, что некоторые строки RLSNew не найдены в замере RLSOld, у них есть общая черта — все они из общего модуля «УправлениеДоступом
Служебный», суммарная длительность = 6,65 сек. (что составляет 4,87% от длительности в RLSOld).
Технологический журнал
Проведем анализ событий ТЖ CALL/SCALL, SDBL и DBMSSQL. Посчитаем общую длительность и количество событий. Для событий SDBL и DBMSSQL дополнительно сделаем выборки:
Полученные результаты сведены в таблицу:
Обзор:
ВАЖНО! «Долгие SDBL»
Ряд тестов изначально был проведен на более ранней версии УНФ (1.6.20.94) с БСП (3.1.2.291). В них в замере «1С» в RLSNew в топ 10 попадала строка:
При этом в замере RLSOld данная строка занимала в несколько раз меньше времени. При расследовании в ТЖ были выявлены длительные события SDBL, разница в средней длительности одного события достигала 5–6 раз.
Была высказана гипотеза об избыточности прав, у тестового пользователя было несколько ролей с ограничением доступа на таблице «контрагенты». После сокращения ряда ролей (оставлен необходимый минимум) замеры улучшились, однако всё равно в RLSNew средняя длительность осталась в 3 раза дольше.
После обновления УНФ на версию (1.6.21.103) с БСП (3.1.3.179) проблема больше не проявляла себя, средняя длительность стала.
ВНИМАНИЕ. Предположительно в ранних версиях конфигураций могут быть проблемы с компоновкой запроса RLS для нового блока. При принятии решения о переходе нужно иметь это ввиду.
Системный монитор производительности
Посмотрим какое влияние на счетчики производительности оказало проведение документов в RLSOld и RLSNew.
Почти все счетчики сопоставимы в обеих базах, однако есть несколько по которым видны отличия:
Из справки
Чтений страниц/с — указывает число инициируемых за одну секунду физических операций чтения страниц базы данных. Этот статистический показатель отражает общее количество физических операций чтения страниц из всех баз данных. Физический ввод-вывод связан с большой тратой ресурсов, но иногда ее можно свести к минимуму, используя более объемный кэш данных, интеллектуальные индексы и более эффективные запросы или изменяя структуру базы данных.
Выводы
В данной статье были рассмотрены вопросы перехода на новую систему RLS и её архитектуры, а также различные сравнительные показатели, что позволило выявить плюсы и минусы обеих систем.
Можно утверждать, что использование ключей доступа в новой RLS позволяет планировщику запросов MS SQL строить более оптимальные планы, а связь по ссылке дает возможность всегда использовать кластерный индекс. Что в конечном итоге даёт значительный прирост скорости при чтении данных. В то же время новая система имеет замедление при записи, т. к. требует некоторых ресурсов для актуализации ключей доступа.
Принимать решение о переходе на новую RLS следует исходя из основного профиля нагрузки на базу и количества настроенных видов доступа. Если в системе выполняется достаточно много запросов под пользователями с ограниченным доступом, и при этом видов доступа много, то новая RLS вероятно принесет выигрыш в производительности. С другой стороны, для систем, предназначенных для агрегирования данных, в которых большую часть времени выполняется запись, новая система может негативно сказаться на нагрузке.
Важно!
В настоящий момент существуют жалобы, связанные со значительным замедлением работы системы на новой RLS. Как было замечено в статье, такая проблема может наблюдаться в устаревшей версии блока. Если после перехода на новую систему RLS вы замечаете существенное замедление ключевых операций, снимите ТЖ на предмет долгих событий SDBL и проверьте версию БСП.
Тему замедления открытия форм в «1С» из-за RLS мы уже поднимали ранее в статье «Неожиданная причина долгого открытия формы в «1С»». Рекомендуем её тем, кому интересна взаимосвязь общей производительности и RLS.