Влияние настройки роли на потребление памяти

29.01.19

Администрирование - Роли и права

На днях разбирался с проблемой с потреблением памяти процессами конфигуратора и rphost. Как оказалось - причина в настройках ролей. Один поворот не туда, и настройки роли приводят к чрезмерному потреблению оперативки.

Начальные данные - конфигурация 1C ERP 2.4, платформа 8.3.12. Симптомы проблемы устойчивые и от объема пользовательских данных не зависят.

Рост потребления памяти для конфигуратора начинается при открытии любой формы.

Рост потребления памяти для rphost при первом подключении.

Поскольку конфигуратор тоже имел проблему с ресурсами, было решено проверить гипотезу о некорректных метаданных. Аномалия была локализована последовательным переносом всех доработок по типам объектов в типовую конфигурацию. При загрузке добавленных ролей был получен характерный рост потребления памяти. Поверхностный анализ явной проблемы не выявил, роли созданы по канонам ERP - одна настройка на чтение или изменение для одного конкретного объекта метаданных. Поэтому ничего лучше, как выгрузить конфигурацию в файлы и проверить исходники, я не придумал. Как оказалось, выгруженные роли занимают более 50% от общего объема и среди этих файлов есть 237 файлов Rights.xml по 20 Мб, общим объемом 4,42 Гб.

Просмотр первого попавшегося файла сразу же определил направление, куда копать. Для теста были созданы две роли на один и тот же объект. После выгрузки проблемная роль так же весила около 20 Мб, корректная роль чуть более 1Кб.

Итак, рецепт воспроизведения проблемы:

1) добавить роль;

2) Действия - Снять все права;

3) ... прочие действия по настройке прав;

4) PROFIT!!!

Теперь подробнее, роль создается с такими настройками по умолчанию, на все реквизиты всех объектов установлены права:

После снятия всех ролей права на доступ к реквизитам так же снимаются, но при включенной настройке "Устанавливать права для реквизитов и табличных частей по умолчанию" в настройках прав, помимо наших настроек, для всех реквизитов прочих объектов конфигурации фиксируется значение Ложь.

Починить такую роль можно двумя способами:

- отключить настройку "Устанавливать права для реквизитов и табличных частей по умолчанию";

- отключить/включить настройку для заполнения выключенных реквизитов.

После корректировки проблемных ролей потребление памяти значительно снизилось.

Дополнительная ссылка на статью.

конфигуратор метаданные оптимизация роли права rphost

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    126424    683    389    

737

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    3720    19    1    

40

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    4657    12    2    

38

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

Зарплата Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5700 руб.

27.05.2021    33253    206    89    

166

Роли для кладовщика

Логистика, склад и ТМЦ Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

2520 руб.

21.05.2019    1692647    553    192    

133

Расширение для разграничения доступа к контрагентам и обработка для группового назначения доступа для Бухгалтерии (RLS) 3.0.143.42

Роли и права Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9360 руб.

14.09.2022    5865    7    4    

9

Универсальная система оповещений в базе или по почте по произвольным условиям, расписанием, ролям и пользователям (Расширение / конфигурация для платформ 8.3.6+, для ЛЮБЫХ баз)

Роли и права Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

19200 руб.

29.11.2019    24819    14    8    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Shmell 535 29.01.19 13:23 Сейчас в теме
Интересно капнули. Меня всегда напрягало что при открытии редактора форм в конфигураторе ERP - съедалось более 1,5 ГБ памяти
nomad_irk; +1 Ответить
2. zqzq 23 29.01.19 13:29 Сейчас в теме
1) добавить роль;

2) Действия - Снять все права;

Для новых ролей достаточно снять ненужные права на корне конфигурации, остальные права (на справочники, подсистемы, константы и т. д.) и так отключены.

Никогда не использовал "Снять все права" -- как теперь выяснилось, и правильно.
mitia.mackarevich; Plotks2017; jif; mvk4d; +4 Ответить
3. arakelyan 470 29.01.19 15:48 Сейчас в теме
4. ImPenguin 35 30.01.19 08:45 Сейчас в теме
А с типовыми ролями как быть, там ведь поголовно такая фигня?
5. mickey.1cx 400 30.01.19 10:13 Сейчас в теме
(4) есть такое. Либо самому править, либо фиксировать ошибку в 1С и ждать пока зайдут изменения с обновлениями.

Дмитрий74Чел; +1 Ответить
6. mickey.1cx 400 30.01.19 10:32 Сейчас в теме
Копание в исходниках оказалось довольно интересным занятием. так же были обнаружены два макета табличных документов, в распакованном виде 100 и 40 Мб, в mxl - 24 и 7 Мб соответственно. Ошибка в структуре, после строк с данными разрыв строк на пять и продолжение структуры таблицы вплоть до строки с индексом 65535. После операций копирования содержимого, удаления и вставки обратно размер документов после сохранения стал 15 и 24 Кб. Мелочь на общем фоне, а приятно :)
CheBurator; Kolunya; tormozit; JohnyDeath; sorb; A_Max; WellMaster; +7 Ответить
7. gubanoff 63 31.01.19 17:33 Сейчас в теме
(0) на платформе 8.2.18.109 не работает - какие флажки у роли не ставь, снимай все права, ставь все права - при выгрузке файл формируется одного и того же размера и в нем все равно указаны все объекты.
SirStefan; +1 Ответить
8. mickey.1cx 400 31.01.19 21:15 Сейчас в теме
(7)
Выгрузка в файлы в 8.2 - аналог ключа /DumpConfigFiles
В 8.3 появилась выгрузка в файлы с ключом /DumpConfigToFiles
В первом случае роли выгружаются с настройками по всем объектам конфигурации.
Во втором - как раз, то что нужно.
9. PerlAmutor 129 01.02.19 17:43 Сейчас в теме
(0)
На своем сайте выпишите:

Чтобы исправить роль, необходимо выключить и включить настройку "Устанавливать права для реквизитов и табличных частей по умолчанию"


Тут написали:


Починить такую роль можно двумя способами:

- отключить настройку "Устанавливать права для реквизитов и табличных частей по умолчанию";

- отключить/включить настройку для заполнения выключенных реквизитов.


Хочу предостеречь желающих "починить" таким образом. Когда вы попытаетесь нажать на птичку "Устанавливать права для реквизитов и табличных частей по умолчанию" - система вас спросит, а действительно ли вы хотите снять/установить настройки для всех реквизитов и табличных частей? И вот тут надо хорошенько подумать что вы тем самым делаете. У меня есть роли, мои, не типовые. Обе на один документ. Обе позволяют документ читать и писать. Но есть нюанс, вторая роль сделана для пользователей, которые имеют право на просмотр и изменение всего лишь одного реквизита в документе. В этом документе содержится финансовая информация не для посторонних глаз. "Починив" роль вышестоящим образом вы откроете пользователям шикарные виды на размеры определенных выплат. К тому же я видел несколько типовых ролей в ERP где доступ на просмотр тоже есть у пары реквизитов, которые используются в отчетах.
mickey.1cx; +1 Ответить
10. mickey.1cx 400 01.02.19 23:26 Сейчас в теме
(9) хорошее замечание. Возьму на заметку, что подобные роли стоит выделять наименованием, чтобы не забыть. Вроде, мод_ЧтениеДокумента_Реквизиты.
11. PerlAmutor 129 02.02.19 07:43 Сейчас в теме
(10) Кстати я так и не понял откуда у вас взялись роли по 20Мб. В моей старой ERP (2.1.3.93) самая "большая" роль "РазделCRMИМаркетинг" - 10Мб в XML. В новых версиях ERP она отсутствует.
12. mickey.1cx 400 03.02.19 00:10 Сейчас в теме
(11) в типовой 2.4.2.144 ЧтениеПретензийКлиентов, ДобавлениеИзменениеПретензийКлиентов уже 16,3 Мб. Плюс доработки внесли свой вес.
13. tormozit 7143 14.04.19 09:11 Сейчас в теме
ОШибку в 1С отправили?
14. toxilamer 37 16.09.19 08:15 Сейчас в теме
Понравилась данная статья. Спасибо.
Вдохновившись, автоматизировал исправление ролей по избыточности настроек:
https://infostart.ru/public/1118568/
mickey.1cx; +1 Ответить
16. tvssm 10.11.20 12:17 Сейчас в теме
Интересное расследование, мне понравилось.
Оставьте свое сообщение