ЗУП 3.1 (3.1.30.133)
Было решено дать пользователям дать возможность изменять настройки
(в частности, "Показывать взаиморасчеты")
через меню Настройка - Дополнительные настройки.
По этой команде открывается форма ФормаНастроек регистра сведений ДополнительныеНастройкиЗарплатаКадры.
Добавление всех прав на этот регистр позволяет пользователю открывать указанную форму,
но, вот незадача, в форме отсутствует кнопка ФормаЗаписатьИЗакрыть (далее - просто Кнопка), связанная с командой ЗаписатьИЗакрыть.
Добавление пользователю роли ПолныеПрава проблему решает (кнопка ФормаЗаписатьИЗакрыть появляется).
-
Думал определить какие именно права влияют на наличие Кнопки. План был простой: скопировать роль ПолныеПрава, дать её пользователю вместо роли ПолныеПрава,
и пошагово обрезать ей права пока не выяснится какое именно право влияет на наличие Конопки.
Не получилось: при наличии у пользователя роли ПолныеПрава2 и отсутствии роли ПолныеПрава Кнопка в форме всё равно отсутствует.

Дополнительная информация:
 - все расширения отключены;
 - основного реквизита в форме нет;
 - обработчик событий у формы - только один: ПриСозданииНаСервере;
 - кнопка ФормаЗаписатьИЗакрыть отсутствует прямо на входе в процедуре ПриСозданииНаСервере
    (выражение Элементы.ФормаЗаписатьИЗакрыть равно {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ФормаЗаписатьИЗакрыть))

Кто-нибудь может помочь ?
---
Спасибо всем принявшим участие в обсуждении.
Как оказалось, видимость кнопки можно обеспечить
настройкой КОМАНДЫ, с которой она связана,
а именно через настройку свойства "Использование" команды.
---
Попробуй создать расширение,
в него перенеси форму из основной конфигурации,
и добавить кнопку свою.

и с кодом
УстановитьПривелигерованныйРежим(Истина);

должно всё получиться.
---
Было подозрение на то, что при копировании ролей могли скопироваться не все права.
Выгрузиз конфигурацию в файлы. Сравнил файлы
Roles\ПолныеПрава\Ext\Rights.xml
и
Roles\ПолныеПрава2\Ext\Rights.xml.
Различий нет.
---
ВидимостьПоРолям
---
Установил видимость (чёрную галочку) для роли ПолныеПрава2.
Не помогло.
---
Создал новый профиль - все, кроме "Администрирование" (назвав так же - "Всё, кроме полных прав и администрирование")

Создал группу на основании этого профиля (назвал так же - "Всё, кроме полных прав и администрирование"_
Создал нового пользователя ("Тест"), указал в правах эту группу.
Вошёл под этим пользователем ("Тест") в базу.
"Записать и закрыть" - нет на форме "Дополнительных настроек"...

Добавил в этот же профиль роль "Администрирование" - ничего не поменялось....

Собственно, последнее - посмотрел на права по ролям для регистра "ДополнительныеНастройкиЗарплатаКадры"

Видно, что права на редактирование только у роли "Полные права".

Собственно, если задача - "дать право на этот регистр, и не дать полных прав" - то нужно создать новую роль (в основной конфигурации или в расширении) и дать права на этот регистр этой добавленной роли.
---
Собственно, если задача - "дать право на этот регистр, и не дать полных прав"
Дать право на этот регистр - не самоцель. Задача - в том, чтобы у пользователя была возможность изменять настройки, но без полных прав. Проблема на этом пути - отсутствие в форме Кнопки.

(4) нужно создать новую роль (в основной конфигурации или в расширении) и дать права на этот регистр этой добавленной роли.
Да, именно так я и делал. Кнопка "Записать и закрыть" в этом случае отсутствовала.
После этого я перешёл к экспериментам с ролью ПолныеПрава и её копией (ПолныеПрава2).
Результат простой: ни новая роль, дающая точечно права на регистр, ни новая роль, дающая все права роли ПолныеПрава, видимость Кнопки не дают. Кнопка видна только при наличии у пользователя роли ПолныеПрава.
---
Дать право на этот регистр - не самоцель. Задача - в том, чтобы у пользователя была возможность изменять настройки, но без полных прав. Проблема на этом пути - отсутствие в форме Кнопки.
Обновление вспомогательных данных делали после добавления роли? Иногда это нужно.
---
Право изменения рс ДополнительныеНастройкиЗарплатаКадры есть только у админа(роль полные права).

Зачем что-то искать еще в ролях - мартышкин труд.

Создаете в основной конфе дополнительную роль (если ломит открывать корень - создаете в расширении), но я предпочитаю в основной.
Назначаете в этой роли права на изменение указанного рс, создаете профиль и группу доступа.
включаете в новую группу доступа пользователей. все.

"Добавил в этот же профиль роль "Администрирование" " - вот это лишнее. При старте приложения, наличие этой роли требует добавлять другие роли кодом, например так

Общий модуль:
УправлениеДоступомСлужебный

Процедура ОбновитьРолиПользователей
Добавить код:

ДополнительныеРолиАдминистратора.Вставить("_роль_", Истина);

По аналогии с ролью ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок.
Т.к. у админа системы все же могут быть дополнительные роли.
---
Создаете в основной конфе дополнительную роль
Именно с этого я и начинал.
А уже осле этого я перешёл к экспериментам с ролью ПолныеПрава и её копией (ПолныеПрава2).
---
кроме роли(группы доступа), которая дает пользователю право изменения регистра ДополнительныеНастройкиЗарплатаКадры, добавите ему еще "функции тех специалиста"

Под этим пользователем откройте таблицу регистра Дополнительные настройки" через "функции тех специалиста" и убедитесь, что запись регистра доступна на запись.

Затем возитесь с типовой формой этого регистра в подсистеме "Администрирование".
---
Спасибо всем принявшим участие в обсуждении.
Как оказалось, видимость кнопки можно обеспечить
настройкой КОМАНДЫ, с которой она связана,
а именно через настройку свойства "Использование" команды.
---
Так же можно добавить что и на реквизит "НастройкаПорядка" этой формы - нужно дать права на редактирование.