У пользователя недостаточно прав для записи документа Заявка на расходования денежных средств

1. NatalkaBal 29 05.07.24 13:28 Сейчас в теме
Добрый день. Столкнулась с проблемой что пользователь с ограниченными правами не может записать документ Заявка на расходование денежных средств если выбрано Выдача подотчетнику и стоит галочка Список подотчетных лиц. Если просто одно подотчетное лицо, то все норма записывается и проводится. Не могу понять что ей не хватает, каких прав или группы доступа. Может есть у кого какие нибудь соображения по этому поводу
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. user-z99999 72 05.07.24 14:17 Сейчас в теме
(1)
Список подотчетных лиц

Список подотчетных лиц -- где храниться в табличной части документа или в отдельном регистре?
может нет прав на регистр.

Запусти под пользователем, поставь точки останова.
5. NatalkaBal 29 05.07.24 14:19 Сейчас в теме
20. ASKiselev 3 09.07.24 13:13 Сейчас в теме
(5) А табличная часть случаем не в расширении добавлена?
23. hiduk 126 09.07.24 14:59 Сейчас в теме
(1)
стоит галочка Список подотчетных лиц. Если просто одно подотчетное лицо

Список подотчетных лиц заполнен - там несколько лиц?
2. polax 05.07.24 13:43 Сейчас в теме
(1) Смотри ЖР. Там должно быть точно указано на что ругается по правам. И какая конфигурация?
3. NatalkaBal 29 05.07.24 13:55 Сейчас в теме
(2)ERP 2.5
В журнале ничего толкового
Ошибка при вызове метода контекста (Записать)
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1367)}:Результат = Форма.Записать(ПараметрыЗаписи);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1255)}:ЗаписатьОбъект(Форма, ПараметрыЗаписи);
{Документ.ЗаявкаНаРасходованиеДенежныхСредств.Форма.ФормаДокумента.Форма(2615)}:ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);

по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
14. Pokemonus 09.07.24 03:22 Сейчас в теме +1 $m
(3) тут не событие "Ошибка" надо смотреть,
Отказ доступа это не "ошибка выполнения кода" это другое, и маркируется как "Информация".
Тут надо анализировать события: "Доступ.Отказ в доступе" - там будет самое главное: имя таблицы и действие над ней, которое не "случилось" по причине нехватки прав.

Если повезет, то:
1) смотрим в регистр "Права ролей", фильтруем по указанной таблице, находим подходящую роль.
2) Находим "группы доступа", где в "профиле доступа" есть эта роль.

сценарий-1:
3) Если ни в одной из "групп доступа" нет искомого пользователя - анализируем в какую же группу этого пользователя впихнуть.
4) Если добавили пользователя в нужную "группу доступа" и все получилось - ЭТО ВАЩЕ ОЧЕНЬ СИЛЬНО ПОВЕЗЛО.

сценарий-2 (не повезло):
3) Если пользователь уже входит в "нужную группу доступа" - это уже развлечение с анализом условий в RLS, это квест следующего уровня.
15. NatalkaBal 29 09.07.24 09:08 Сейчас в теме
(14)По первому сценарию все ОК, доступ есть во все группы указанные в документе.

А вот второй сценарий вывел на ограничения документа вот такие
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "Документ.ЗаявкаНаРасходованиеДенежныхСредств","Чтение","",
"ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеДенежныхСредств.РасшифровкаПлатежа КАК Т1
ПО Т.Ссылка = Т1.Ссылка",
"",
"Организации","Т.Организация","И",
"Подразделения","Т.Подразделение","И",
"Пользователи","Т.КтоЗаявил","И",
"ХозяйственныеОперации","ВЫБОР КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыплатаЗарплаты) ТОГДА Т.ХозяйственнаяОперацияПозарплате ИНАЧЕ Т.ХозяйственнаяОперация КОНЕЦ",
	"И ВЫБОР КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ОплатаПоставщику)
		ИЛИ Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) ТОГДА Т1.Партнер ЕСТЬ NULL ИЛИ",
		"ГруппыПартнеров","Т1.Партнер",
	"КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) ТОГДА",
		"ГруппыФизическихЛиц","Т.ПодотчетноеЛицо",
	"ИНАЧЕ ИСТИНА КОНЕЦ", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","","","","")
#КонецЕсли
Показать


При создании документа с признаком Список подотчетных Т.ПодотчетноеЛицо пустое, и таблица РасшифровкаПлатежа меняется на таблицу Лицевые счета сотрудников. Вопрос можно ли это как то обойти не меня типовую роль?
16. user705522_constantin_h 37 09.07.24 09:38 Сейчас в теме
(15)Посмотрите у каких ролей есть доступ к таблице Лицевые счета сотрудников, и есть ли эта роль у пользователя.
17. Pokemonus 09.07.24 11:45 Сейчас в теме
(15) подождите... не путайте
в RLS ничего не меняется, как была таблица
Документ.ЗаявкаНаРасходованиеДенежныхСредств.РасшифровкаПлатежа
так и остается.

не вижу тут "Лицевые счета сотрудников"
18. NatalkaBal 29 09.07.24 12:22 Сейчас в теме
(17)Добавила условие НЕ СписокФизЛиц (это реквизит Список подотчетных лиц). Дает свободно записывать документ

"КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) и НЕ СписокФизЛиц ТОГДА",
        "ГруппыФизическихЛиц","Т.ПодотчетноеЛицо",


В типовом варианте таблица Лицевые счета сотрудников не проверяется на группу доступа.
22. user705522_constantin_h 37 09.07.24 14:08 Сейчас в теме
(18)Не таблица проверяется, а объекты, которыми она заполняется. Что вносится в колонки таблицы?
24. NatalkaBal 29 09.07.24 16:07 Сейчас в теме
(22)физ лица их счета и сумма. Без галочки Список подотчетных лиц, все лица из табличной части Лицевые счета сотрудников успешно добавляются, но по одному, списком же информирует что недостаточно прав.

Мое решение было следующее. Для двух документов Заявка и Списание безналичных денежных средств создана новая Роль, где в запросе RLS для события Добавления и Изменения добавлено условие
КОГДА Т.ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) и НЕ СписокФизЛиц ТОГДА"
25. user705522_constantin_h 37 09.07.24 16:20 Сейчас в теме
(24)ФизЛица, если это справочник физических лиц, проверьте есть ли у сотрудника право на чтение справочника Физические лица.
6. polax 05.07.24 14:57 Сейчас в теме
Включен РЛС? Есть ограничения на пользователей?
7. NatalkaBal 29 08.07.24 10:52 Сейчас в теме
(6)Да он включен. Стоят ограничения на группы физ лиц, но все сотрудники в нужных группах. Если делать по отдельному подочетнику, то все они проводятся, а списком нет
8. NatalkaBal 29 08.07.24 10:55 Сейчас в теме
Хочу понять где собираются эти Группы доступа
12. Pokemonus 09.07.24 02:54 Сейчас в теме
(8) с правами доступа одновременно и просто и сложно, тут отдельная "трава" нужна.
В данном случае, если тут "играет" ограничение по физ.лицам, то тот кто делает документ даже не увидит сотрудника.
С другой стороны, если права не корежили - то и сам документ не будет виден, по условию присутствия недоступного физ.лица.
Если все-таки документ делается самим пользователем - то только анализировать ЖР, от какой таблицы пошел "отлуп". ( в (9) пояснение)
9. zykininho 08.07.24 18:55 Сейчас в теме
В журнале регистрации информация об ошибке, что недостаточно прав на таблицы, записывается в события с типом "Информация". Проверьте журнал, найдите события, идущие до или после события с ошибкой. Возможно, информация о таблицах, на которые нет прав, будет в них
11. Pokemonus 09.07.24 02:47 Сейчас в теме
(9)
добавлю:
анализировать события: "Доступ.Отказ в доступе"
zykininho; +1 Ответить
10. polax 08.07.24 19:45 Сейчас в теме
(7) Список подотчетников - это динамический список? Если ДА, то вряд ли в запросе ДС стоит ВЫБРАТЬ РАЗРЕШЕННЫЕ. В итоге в список попадают Пользователи запрещенные для текущего пользователя, поэтому отказ. Сделай заполнение списка пользователей (Выбор из списка и заполнение списка в ПРиСозданииНаСервере), где в запросе будут ВЫБРАТЬ РАЗРЕШЕННЫЕ
13. Pokemonus 09.07.24 03:08 Сейчас в теме
(10) Если Вы имеете в виду "список подотчетников" - то это или сотрудники или физ.лица, но точно не пользователи.
А если у текущего пользователя нет доступа к физ.лицу (через группу доступа физ.лиц) то такой строчки в списке просто не будет.
19. ASKiselev 3 09.07.24 13:10 Сейчас в теме
Если роль пользователя с ограниченными правами создавалась вручную, то может быть и вариант отсутствия доступа к списку физических лиц (или сотрудников) в самом документе. Посмотрите права на этот документ у всех ролей, доступных данному пользователю.
21. ASKiselev 3 09.07.24 13:17 Сейчас в теме
А еще в Роли может стоять галочка "Независимые права подчиненных объектов", в этом случае на все поля кроме табличной части может быть доступ, а к ней отсутствует.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот