Другие кнопки тоже не активны. Но это ни о чем не говорит, так как невозможно проверить, будут ли эти кнопки активны при выборе записи. Так как в реестре нет ни одной записи, то это невозможно проверить.
Ну то что нет возможности проверить - это вы махнули. Можно добавить запись в SQL напрямую, а посмотреть в Террасофте.
У меня несколько идей почему это может быть (если ни одна не поможет, то пересоздайте реестр (лучше полностью, прям с таблицы) или в тех.поддержку):
1) Проверьте принадлежит ли пользователь группе, которой вы дали права.
2) И еще может быть, что вы не дали свойства на добавление датасету. Проверьте в администраторе стоят ли у датасета свойства "Добавление" и "Генерировать запрос на вставку".
3) В каком положении IsEnabled кнопки в гриде в администраторе или где-то в скрипте не завалялась строчка?
В скриптах реестра, в методе инициализации, реестрам задавался атрибут ParentItemFieldName вручную, чего делать не следует, так как если экземпляр реестра размещается на детали, атрибут задастся автоматически. Поэтому, Вы можете закомментить строки в скриптах wnd_OfferingsGridAreaScript и scr_PriceListsGridArea:
Какой функцией (скриптом) воспользоваться, чтобы в окне детали установить доступность кнопок "Добавить", "Удалить" и т.п. в зависимости от прав на запись в базовом реестре?
В окнах всех реестров, унаследованных от wnd_BaseGridArea, реализовано такое поведение кнопок, при котором доступ зависит от прав пользователя на собственно таблицу, из которой считываются данные в реестр (а не таблицу родительского раздела, в котором размещена деталь).
Если же нужно реализовать такую модель, чтобы детали раздела были доступны на редактирование в зависимости от доступа пользователя на запись в реестре раздела, придется написать соответствующие функции в скрипте окна реестра детали, которые будут выполнять анализ прав и устанавливать доступность кнопок. Примеры для анализа доступа по группам таблиц см. в скрипте scr_Access, названия функций:
Для анализа уровня доступа по записям можно воспользоваться функцией (в том же скрипте):
GetIsRecordIDAccessAllowedByTable(Table, RecordID, AccessLevelFieldName)