Имя: Пароль:
1C
 
УТ 11.5.17.153 типовая ошибка с правами
,
0 evorle145
 
12.11.24
12:24
Включен РЛС, создаю нового пользователя, даю ему группу доступа на штатном профиле "менеджер по продажам"

Вижу, через конфигуратор, что роль ДобавлениеИзменениеСчетовФактурВыданных у него стоит.

При этом при открытии РТУ или СФ выдает ошибку:
https://ibb.co/56byYDd


объект: 'Документ.СчетФактураВыданный'; право: 'Чтение'
{(61, 1)}: Ожидается выражение "ВЫБРАТЬ"
<<?>>Т ИЗ Т

далее иду в роль "ДобавлениеИзменениеСчетовФактурВыданных " смотрю шаблон, там:


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


Получается в итоге вроде как права есть, но при этом не понятная ошибка:
"Ожидается выражение "ВЫБРАТЬ"
<<?>>Т ИЗ Т"

остается... Если дать полные права - то ошибки нет. Подкажите, куда тут дальше нужно капать?
1 saaken
 
12.11.24
12:52
посмотри в журнале регистрации, на что именно ошибка чтения
2 evorle145
 
12.11.24
12:56
(1) в ЖР вот такой текст:

Ошибка при вызове метода контекста (Выполнить)
{ОбщийМодуль.ПроверкаКонтрагентовВызовСервераПереопределяемыйУТ.Модуль(202)}:Результат = Запрос.Выполнить();
{ОбщийМодуль.РаботаСКонтрагентамиКлиентСерверПереопределяемый.Модуль(166)}:СчетФактура = ПроверкаКонтрагентовВызовСервераПереопределяемыйУТ.ПолучитьКонтрагентовСчетФактурДокумента(Форма);
{ОбщийМодуль.ПроверкаКонтрагентовКлиентСервер.Модуль(322)}:РаботаСКонтрагентамиКлиентСерверПереопределяемый.ПолучитьСчетФактуру(Форма, СчетФактура);
{ОбщийМодуль.ПроверкаКонтрагентов.Модуль(4190)}:СчетФактура = ПроверкаКонтрагентовКлиентСервер.СчетФактура(Форма);
{ОбщийМодуль.ПроверкаКонтрагентов.Модуль(4912)}:ДанныеКонтрагентов                 = ДанныеКонтрагентовВДокументе(Форма);
{ОбщийМодуль.ПроверкаКонтрагентов.Модуль(565)}:ПоказатьПредварительныйРезультатИзКэшаПриОткрытииДокумента(Форма);
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(125)}:ПроверкаКонтрагентов.ПриСозданииНаСервереДокумент(ЭтотОбъект, Параметры);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(282)}:ПоказатьЗначение(Неопределено, ТекущиеДанные.Ссылка);
{Обработка.ЖурналДокументовПродажи.Форма.СписокДокументов.Форма(454)}:ОбщегоНазначенияУТКлиент.ИзменитьЭлемент(Элемент);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка выполнения запроса
по причине:
Ошибка в ограничении доступа к данным.
объект: 'Документ.СчетФактураВыданный'; право: 'Чтение'
{(14, 1)}: Ожидается выражение "ВЫБРАТЬ"
<<?>>ТекущаяТаблица ГДЕ ИСТИНА В
по причине:
{(14, 1)}: Ожидается выражение "ВЫБРАТЬ"
<<?>>ТекущаяТаблица ГДЕ ИСТИНА В
3 Мультук
 
гуру
12.11.24
13:10
(0)

1) Патчи уже смотрел ?
2) В соседней теме люди говорят, что лучше на УТ 11.5.17.153 "не счастливая"

Обновление УТ с 11.5.12.270 на 11.5.17.153

3) А у других "старых" пользователей РЛС работает ?




P.S.
Мопед не мой(с)
У нас ERP
4 evorle145
 
12.11.24
13:20
(3) 1) расширений никаких нет. Патчей тоже. Но сейчас патчи попробую установить, хотя тут, наверное, они не помогут...
3) ни у старых ни у новых не работает.. причем началось еще с релиза 11.5.12 примерно..
5 evorle145
 
12.11.24
13:21
(4) хотя патч "Если у пользователя имеется ограничение прав к организации на уровне записей и в списке не указан отбор по конкретной организации, тогда возникает ошибка прав доступа."  EF_00_00675342
очень интересно звучит.. пробую!
6 evorle145
 
12.11.24
13:26
(5) нет, патч тут этот оказался не при чем.... он в основном для маркируемой продукции.
7 evorle145
 
12.11.24
14:27
Запускаю под новым пользователем через консоль запросов простейший запрос:

                             ВЫБРАТЬ РАЗРЕШЕННЫЕ
    
    СчетФактураВыданный.Ссылка
    
ИЗ
    Документ.СчетФактураВыданный КАК СчетФактураВыданный
ГДЕ
    СчетФактураВыданный.ДокументОснование = &ДокументОснование
    


выдает ошибку:

{ВнешняяОбработка.ИнструментыРазработчикаКонсольЗапросов.МодульОбъекта(677)}: Ошибка при вызове метода контекста (ВыполнитьПакет): Ошибка выполнения запроса: Ошибка в ограничении доступа к данным.
объект: 'Документ.СчетФактураВыданный'; право: 'Чтение'
{(14, 1)}: Ожидается выражение "ВЫБРАТЬ"
<<?>>ТекущаяТаблица ГДЕ ИСТИНА В
8 evorle145
 
12.11.24
14:42
Можно ли как-то увидеть, что за запрос в итоге там пытается выполниться, в которым идет ошибка "Ожидается выражение Выбрать"?
9 Мультук
 
гуру
12.11.24
15:00
(8)

Имхо, так это не работает.

P.S.
1) Вангую, что окажется, что есть "левая своя роль", в которой забыли обновить шаблон.
Хотя в этом случае 1С ругается по другому.

2) Либо кто-то куда-то лазал руками с целью "улучшить РЛС"
10 asady
 
12.11.24
15:10
(0) Ты тоже на этом попал

Есть такой регистр сведений "Иерархия партнеров"
забей туда запись с твоим партнером в оба поля
партнер и родитель

Я обработку писал
11 Мультук
 
гуру
12.11.24
15:14
(10)

P.S.
Партнер сам себе родитель ?
Обмены ?
12 evorle145
 
12.11.24
15:18
(9)1) так типовая же база на замке, роли все типовые
2) база на замке
(10) да, регистр есть, но он заполнен

Обмены только с базой БП.

Я сейчас создал пустую базу на этом же релизе, создал там реализацию/сф, сделал пользователя с ограниченными правами по рлс -  там такой проблемы нет..


То есть что-то не то в хранится в каких-то регистрах..

Я даже поменял вариант работы РЛС со Стандартный, на Производительный, ошибка осталась.
13 asady
 
12.11.24
15:20
(12) Проверь в регистре этот партнер есть?
14 evorle145
 
12.11.24
15:25
(13) есть. Проблема в том, список РТУ/СФ отображается, но открыть документ невозможно и самое что интересное: создать новый документ тоже невозможно! та же ошибка лезет.
15 evorle145
 
12.11.24
21:08
мда... нашел причину)

в роли в шаблоне есть следующий текст:

#Параметр(4)

ГДЕ

ИСТИНА В
(   // Проверка права пользователя на текущую таблицу в целом.
    // Права на таблицы формируются по составу ролей профиля группы доступа.
    ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
    ИЗ
    #Если СтрСодержит(&ТаблицыРасширенийСОграничениемДоступа, "|#Параметр(1);") #Тогда
        Справочник.ИдентификаторыОбъектовРасширений КАК СвойстваТекущейТаблицы
    #Иначе
        Справочник.ИдентификаторыОбъектовМетаданных КАК СвойстваТекущейТаблицы
    #КонецЕсли
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа КАК ГруппыДоступа
        ПО
              СвойстваТекущейТаблицы.ПолноеИмя = "#Параметр(1)"
            И ИСТИНА В
              (
                ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
                ИЗ
                    РегистрСведений.ТаблицыГруппДоступа КАК ТаблицыГруппДоступа
                    ГДЕ
                          ТаблицыГруппДоступа.Таблица       = СвойстваТекущейТаблицы.Ссылка
                        И ТаблицыГруппДоступа.ГруппаДоступа = ГруппыДоступа.Ссылка
                    #Если #ИмяТекущегоПраваДоступа = "Изменение" #Тогда
                        И ТаблицыГруппДоступа.ПравоИзменение
                    #ИначеЕсли #ИмяТекущегоПраваДоступа = "Добавление" #Тогда
                        И ТаблицыГруппДоступа.ПравоДобавление
                    #КонецЕсли
              )
            И ГруппыДоступа.Ссылка В
16 evorle145
 
12.11.24
21:11
Долго всматриваясь в строку "ИдентификаторыОбъектовРасширений ", я понял что надо открывать расширения.

Открыв их убедился, что они все неактивны.

Оказалось, что если удалять или включать одно из расширений, которое изменяет длину номера счет фактуры, то ошибка пропадает... Получается, что если расширение неактивно, это еще не значит, что в коде оно нигде не будет зацепляться.
Получается оно цеплялось в РЛС через справочник "ИдентификаторыОбъектовРасширений", который содержит данные о расширении если даже оно неактивно.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.