У пользователя недостаточно прав для записи документа Заявка на расходования денежных средств
Добрый день. Столкнулась с проблемой что пользователь с ограниченными правами не может записать документ Заявка на расходование денежных средств если выбрано Выдача подотчетнику и стоит галочка Список подотчетных лиц. Если просто одно подотчетное лицо, то все норма записывается и проводится. Не могу понять что ей не хватает, каких прав или группы доступа. Может есть у кого какие нибудь соображения по этому поводу
По теме из базы знаний
- Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки
- Перенос данных из КА 1.1 в ERP 2. Переносятся остатки, документы и справочники
- Перенос данных из КА 1.1 в КА 2.5. Переносятся документы, остатки и справочники
- 1С:Управление строительной организацией. 1С:ERP Управление строительной организацией 2
- Методология i3 как основа новой экономики. Индустрия 5.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)ERP 2.5
В журнале ничего толкового
В журнале ничего толкового
Ошибка при вызове метода контекста (Записать)
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1367)}:Результат = Форма.Записать(ПараметрыЗаписи);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1255)}:ЗаписатьОбъект(Форма, ПараметрыЗаписи);
{Документ.ЗаявкаНаРасходованиеДенежныхСредств.Форма.ФормаДокумента.Форма(2615)}:ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1367)}:Результат = Форма.Записать(ПараметрыЗаписи);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1255)}:ЗаписатьОбъект(Форма, ПараметрыЗаписи);
{Документ.ЗаявкаНаРасходованиеДенежныхСредств.Форма.ФормаДокумента.Форма(2615)}:ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
(3) тут не событие "Ошибка" надо смотреть,
Отказ доступа это не "ошибка выполнения кода" это другое, и маркируется как "Информация".
Тут надо анализировать события: "Доступ.Отказ в доступе" - там будет самое главное: имя таблицы и действие над ней, которое не "случилось" по причине нехватки прав.
Если повезет, то:
1) смотрим в регистр "Права ролей", фильтруем по указанной таблице, находим подходящую роль.
2) Находим "группы доступа", где в "профиле доступа" есть эта роль.
сценарий-1:
3) Если ни в одной из "групп доступа" нет искомого пользователя - анализируем в какую же группу этого пользователя впихнуть.
4) Если добавили пользователя в нужную "группу доступа" и все получилось - ЭТО ВАЩЕ ОЧЕНЬ СИЛЬНО ПОВЕЗЛО.
сценарий-2 (не повезло):
3) Если пользователь уже входит в "нужную группу доступа" - это уже развлечение с анализом условий в RLS, это квест следующего уровня.
Отказ доступа это не "ошибка выполнения кода" это другое, и маркируется как "Информация".
Тут надо анализировать события: "Доступ.Отказ в доступе" - там будет самое главное: имя таблицы и действие над ней, которое не "случилось" по причине нехватки прав.
Если повезет, то:
1) смотрим в регистр "Права ролей", фильтруем по указанной таблице, находим подходящую роль.
2) Находим "группы доступа", где в "профиле доступа" есть эта роль.
сценарий-1:
3) Если ни в одной из "групп доступа" нет искомого пользователя - анализируем в какую же группу этого пользователя впихнуть.
4) Если добавили пользователя в нужную "группу доступа" и все получилось - ЭТО ВАЩЕ ОЧЕНЬ СИЛЬНО ПОВЕЗЛО.
сценарий-2 (не повезло):
3) Если пользователь уже входит в "нужную группу доступа" - это уже развлечение с анализом условий в RLS, это квест следующего уровня.
(14)По первому сценарию все ОК, доступ есть во все группы указанные в документе.
А вот второй сценарий вывел на ограничения документа вот такие
При создании документа с признаком Список подотчетных Т.ПодотчетноеЛицо пустое, и таблица РасшифровкаПлатежа меняется на таблицу Лицевые счета сотрудников. Вопрос можно ли это как то обойти не меня типовую роль?
А вот второй сценарий вывел на ограничения документа вот такие
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Документ.ЗаявкаНаРасходованиеДенежныхСредств","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеДенежныхСредств.РасшифровкаПлатежа КАК Т1
ПО Т.Ссылка = Т1.Ссылка",
"",
"Организации","Т.Организация","И",
"Подразделения","Т.Подразделение","И",
"Пользователи","Т.КтоЗаявил","И",
"ХозяйственныеОперации","ВЫБОР КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыплатаЗарплаты) ТОГДА Т.ХозяйственнаяОперацияПозарплате ИНАЧЕ Т.ХозяйственнаяОперация КОНЕЦ",
"И ВЫБОР КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ОплатаПоставщику)
ИЛИ Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) ТОГДА Т1.Партнер ЕСТЬ NULL ИЛИ",
"ГруппыПартнеров","Т1.Партнер",
"КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) ТОГДА",
"ГруппыФизическихЛиц","Т.ПодотчетноеЛицо",
"ИНАЧЕ ИСТИНА КОНЕЦ", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","","","","")
#КонецЕсли
ПоказатьПри создании документа с признаком Список подотчетных Т.ПодотчетноеЛицо пустое, и таблица РасшифровкаПлатежа меняется на таблицу Лицевые счета сотрудников. Вопрос можно ли это как то обойти не меня типовую роль?
(17)Добавила условие НЕ СписокФизЛиц (это реквизит Список подотчетных лиц). Дает свободно записывать документ
В типовом варианте таблица Лицевые счета сотрудников не проверяется на группу доступа.
"КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) и НЕ СписокФизЛиц ТОГДА",
"ГруппыФизическихЛиц","Т.ПодотчетноеЛицо",
В типовом варианте таблица Лицевые счета сотрудников не проверяется на группу доступа.
(22)физ лица их счета и сумма. Без галочки Список подотчетных лиц, все лица из табличной части Лицевые счета сотрудников успешно добавляются, но по одному, списком же информирует что недостаточно прав.
Мое решение было следующее. Для двух документов Заявка и Списание безналичных денежных средств создана новая Роль, где в запросе RLS для события Добавления и Изменения добавлено условие
Мое решение было следующее. Для двух документов Заявка и Списание безналичных денежных средств создана новая Роль, где в запросе RLS для события Добавления и Изменения добавлено условие
КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) и НЕ СписокФизЛиц ТОГДА"
(8) с правами доступа одновременно и просто и сложно, тут отдельная "трава" нужна.
В данном случае, если тут "играет" ограничение по физ.лицам, то тот кто делает документ даже не увидит сотрудника.
С другой стороны, если права не корежили - то и сам документ не будет виден, по условию присутствия недоступного физ.лица.
Если все-таки документ делается самим пользователем - то только анализировать ЖР, от какой таблицы пошел "отлуп". ( в (9) пояснение)
В данном случае, если тут "играет" ограничение по физ.лицам, то тот кто делает документ даже не увидит сотрудника.
С другой стороны, если права не корежили - то и сам документ не будет виден, по условию присутствия недоступного физ.лица.
Если все-таки документ делается самим пользователем - то только анализировать ЖР, от какой таблицы пошел "отлуп". ( в (9) пояснение)
В журнале регистрации информация об ошибке, что недостаточно прав на таблицы, записывается в события с типом "Информация". Проверьте журнал, найдите события, идущие до или после события с ошибкой. Возможно, информация о таблицах, на которые нет прав, будет в них
(7) Список подотчетников - это динамический список? Если ДА, то вряд ли в запросе ДС стоит ВЫБРАТЬ РАЗРЕШЕННЫЕ. В итоге в список попадают Пользователи запрещенные для текущего пользователя, поэтому отказ. Сделай заполнение списка пользователей (Выбор из списка и заполнение списка в ПРиСозданииНаСервере), где в запросе будут ВЫБРАТЬ РАЗРЕШЕННЫЕ
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот