Имя: Пароль:
1C
 
странные ошибки при работе с ПВХ и доп. свойствами ((
,
0 badboychik
 
27.06.24
12:35
делаю расширение отдающее по http список сотрудников (из ЗУП), всё работало, но понадобилось добавить фильтр по доп.свойству. Добавил элементарный запрос к регистру ДополнительныеСведения и вуаля - оч странная ошибка:

Ошибка выполнения запроса по причине:
Ошибка в ограничении доступа к данным.
объект: 'ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения'; право: 'Чтение'
{ОбщийМодуль.ПользователиСлужебный.Модуль(1795)}: Не удалось установить параметр сеанса ТекущийПользователь. Пользователь \"web\" не существует в справочнике \"Пользователи\".
Обратитесь к администратору. по причине: Не удалось установить параметр сеанса ТекущийПользователь. Пользователь \"web\" не существует в справочнике \"Пользователи\".
Обратитесь к администратору.


Это когда в запросе проверял наименование свойства. А если свойство искать по наименованию и передавать как параметр, то ошибка: "Ошибка при вызове метода контекста (НайтиПоНаименованию)"

Ну это дичь вообще, там просто банальная строка:

СвойствоНеВыгружать = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("НеВыгружать", Истина);


не понимаю что не так-то  (((
1 Garykom
 
гуру
25.06.24
21:14
2 badboychik
 
25.06.24
22:09
(1) Не понимаю в чем намек? Я же не перекрываю методы из каких-то модулей, зачем мне эта статья?
3 youalex
 
26.06.24
05:31
(0) ""Ошибка при вызове метода контекста (НайтиПоНаименованию)""

А полный текст ошибки? Может прав нет
4 Волшебник
 
26.06.24
08:54
ошибка в RLS-выражении на право Чтение, обращение к параметру сеанса ТекущийПользователь, который не удалось установить
5 DJ Anthon
 
26.06.24
08:56
оберни свой код в УстановитьПривилегированныйРежим(Истина);
6 Повелитель 1С
 
26.06.24
10:28
(0) Пользователь \"web\" не существует в справочнике \"Пользователи\".
Его там на самом деле нет? Нужно, что пользователи ИБ были связаны со справочником Пользователи, например.
7 badboychik
 
26.06.24
11:46
короче такая сводка после экспериментов

- пользователь web существует и всё работает, пока не добавляешь обращение к ПВХ
- у юзера полные права
- RLS отключен
- УстановитьПривилегированныйРежим(Истина) не помогает
- Не работает ни внутри запроса, ни программно НайтиПоНаименованию ни через БСП - УправлениеСвойствами.ЗначениеСвойства(Сотрудник, "МоеСвойство")

- Сделал такой же сервис но внутри конфы - такая же ошибка. Думал баг в платформе у расширений
- Сделал доп.свойство предопределенным - ошибка на месте

Вообще дичь какая то
8 badboychik
 
26.06.24
11:54
(4) Проверил, у ПВХ ДополнительныеРеквизитыИСведения есть роль БазовыеПраваБСП и там на чтении такое:

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениямРасширенный( "ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения", "", "",
"",
"",
"ДополнительныеСведения","Т.Ссылка","ИЛИ",
"Условие","НЕ ЭтоДополнительноеСведение","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","", "","","")
#КонецЕсли


Что с этим делать непонятно, RLS в контексте доп.сведений не знаю ) Полные права разве не дают доступ ко всему?
9 Ногаминебить
 
26.06.24
11:56
А если поискать не НайтиПоНаименованию, а запросом с выбрать разрешенные?
10 badboychik
 
26.06.24
12:00
(9) изначально я в запросе и поймал ошибку, не работает, в первом сообщении указано
11 Ногаминебить
 
26.06.24
12:14
А запустить код под другим юзером с полными правами пробовал?
12 Garykom
 
гуру
26.06.24
12:23
И кэш почистить
13 Garykom
 
гуру
26.06.24
12:25
И попробовать без отладки
Или в отладке убрать из табло все
14 Повелитель 1С
 
26.06.24
12:48
(7) Если пользователя добавляли/изменяли через конфигуратор, могла произойти какая-то неприятность.
Проверь сопоставление пользователя и пользователя ИБ, в справочнике Пользователи на форме списка Ещё -> Дополнительно -> Пользователи информационной базы.
15 badboychik
 
26.06.24
13:02
(14) он там красным показывается, а в общем списке пользователей нету (и создать не дает, имя занято)
(11) в режиме предприятия в консоли запросов ошибки нет
16 Ногаминебить
 
26.06.24
13:12
(15) Тогда однозначно кривой пользователь. Создать другого через Предприятие, этого забыть.
17 badboychik
 
26.06.24
13:14
Склоняюсь уже к тому, чтобы добавить банально регистр с одним измерением в расширение и не ломать голову. Так даже удобнее, видно всех в одном месте, а через доп.свойство непонятно как увидеть всех, у кого оно установлено в Истина
18 Ногаминебить
 
26.06.24
13:16
(17) Но тут неизвестно будет где, когда и главное как этот пользователь еще раз выстрелит.
19 Garykom
 
гуру
26.06.24
13:27
(15) в общем списке пользователей галочки то поставь, чтобы всех видеть
проверь/исправь ИдентификаторПользователяИБ
20 badboychik
 
26.06.24
13:45
(16) создал так же с пустым паролем и тем же правами, прописал в default.vrd , но теперь сервис вообще не работает, выдает ошибку авторизации 401
21 Garykom
 
гуру
26.06.24
13:48
(20) создал пользователя в режиме предприятия?
22 badboychik
 
26.06.24
13:49
(21) да, с пустым паролем как у старого
23 badboychik
 
26.06.24
14:26
вход разрешил, но запретил менять пароль, короче все как у старого, но доступа нет.
Пока вернусь назад и оставлю вариант со своим регистром сведений в расширении. Нахер эти допсвойства. Еще и не показываются в списке, не понятно у кого присвоено значение
24 Повелитель 1С
 
26.06.24
14:50
(23) Синхронизируй пользователей. Удали в конфигураторе и перезапиши из предприятия, например. Больше никогда не редактируй из конфигуратора.

В динамическом списке не отображаются доп. свойства? Пройдись по инструкции в БСП и всё сделай. Доп. свойства должны отображаться.
25 badboychik
 
27.06.24
01:22
(24) нового юзера я в Предприятии создал, и в конфигураторе только права установил, т.к. в предприятии нельзя это сделать (только в группу доступа Администраторы можно добавить)
- изменять я конфу не могу, у меня типовой ЗУП и там когда захожу в форме сотрудников в "Изменить форму" и выбираю "Ссылка", тыкаю "Добавить поле" - вижу полностью пустой список полей
26 Мимохожий Однако
 
27.06.24
06:57
Используй расширение, если нельзя менять конфигурацию.
Важно знать какой релиз платформы, конфигурации и в каком клиенте работает пользователь.
У разных форм может быть разный набор доступных полей.
Прежде чем тыкать неплохо бы определиться с точной формулировкой технического задания и входных условий.Сбережешь время и нервы.
Прошу прощения за нудность
27 Повелитель 1С
 
27.06.24
11:08
(25) Права других пользователей тоже в конфигураторе редактируешь?

Пользователей и права не стоит редактировать в конфигураторе, проблем не оберёшься.
Почитай про настройку подсистемы "Управление доступом" БСП https://its.1c.ru/db/bsp319doc#content:2299:hdoc

Вкратце нужно в предприятии добавить новые группы доступа, профили групп доступа, в них настроить состав ролей.
2 + 2 = 3.9999999999999999999999999999999...