Имя: Пароль:
1C
 
Динамический список - права на чтение не достаточно
,
0 RomaH
 
naïve
06.03.19
12:06
ВЫБОР
        КОГДА
            СправочникКартыЛояльности.Владелец.ПометкаУдаления
        ТОГДА


для владельца установлено право "Чтение" - ругается:

Ошибка при исполнении запроса набора данных
по причине:
{(38, 45)}: Поле не найдено "СправочникКартыЛояльности.Владелец.ПометкаУдаления"
КОГДА СправочникКартыЛояльности.Владелец.<<?>>ПометкаУдаления

установка "Просмотр" - помогает

это так и должно быть или баг платформы?
или фича?

до обновления вроде не жаловались - а тут не смогли список открыть

всегда думал, что галка "Чтение" даст возможность выполнять запросы к таблице
1 catena
 
06.03.19
12:54
А если явно владельца присоединить и проверять на нем?
2 Вафель
 
06.03.19
12:55
а что такое просмотр по твоему тогда?
3 aleks_default
 
06.03.19
12:58
Чтение- это когда вдумчиво изучаешь, а просмотр - это так, быстро пролистнуть
4 RomaH
 
naïve
06.03.19
13:16
(2) - а что такое чтение?
5 RomaH
 
naïve
06.03.19
13:24
6 RomaH
 
naïve
06.03.19
13:26
т.е. на вид карты - стоит право - только чтение
представление показывает в списке, а вот в форму элемента иже не зайти

а в режиме 8.3.13 - вышеуказанная ошибка
это в документации описано?
7 hhhh
 
06.03.19
13:30
(6) а откуда у вас мысль возникла, что Чтение? Изначально ведь знаем, что для просмотра нужно право на просмотр. Чтение тут вообще и рядом не стояло.
8 RomaH
 
naïve
06.03.19
13:44
(7) ты о чем вообще?
жила была конфа на релизе 8.3.10
и была у неё форма типовая из УТ - карты лояльности

и показывала эта форма в списке представление Владельца этой карты (который Вид карты лояльности)
и все были счастливы

но настало время недоброе, обновили платформу, нечистые
и стало пользователям показывать не карты лояльности, а ругательства непотребные, что мол, поле не найдено, и цифири рогатые "{(38, 45)}"
9 RomaH
 
naïve
06.03.19
13:47
документацию просмотрел - по "Просмотр" - ничего не нашел нужного, только что-то про команды
10 aleks_default
 
06.03.19
13:49
(8)А где ошибка "поле не найдено"?
11 polosov
 
06.03.19
13:50
12 aleks_default
 
06.03.19
13:52
выдержка из (11)

Проверка основных и интерактивных прав используется расширениями формы, табличного поля и поля ввода (расширение формы определяется ее основным реквизитом, а табличного поля и поля ввода - типом редактируемых данных). Благодаря этому, если не установлено право "Просмотр", то  форма списка или форма объекта не откроется, и будет выдано стандартное сообщение о нарушении прав доступа.
13 RomaH
 
naïve
06.03.19
13:53
(11) и чего?
(10) дин список - произвольный запрос -
ВЫБОР
        КОГДА
            СправочникКартыЛояльности.Владелец.ПометкаУдаления
        ТОГДА

типовая УТ

на 10 релизе работает,
на 13 - хер - это буква такая
14 RomaH
 
naïve
06.03.19
13:55
(12) если нет права на просмотр ОСНОВНОЙ ТАБЛИЦЫ или самого объекта
при чем тут "Ссылка.Владелец.ПометкаУдаления"?

если вы не хотите понять суть вопроса - попытайтесь ответить на вопрос - почему это работало до 10 релиза?
15 polosov
 
06.03.19
13:56
(13) Ну очевидно, что работу платформы привели в соответствие с документацией.
16 RomaH
 
naïve
06.03.19
14:00
(15) и не поспоришь
17 RomaH
 
naïve
06.03.19
14:08
(15) только почему, после того как я убрал все реквизиты владельца из запроса - оно мне этого владельца в списке стало показывать


а вот в чтение данных владельца из БД - не дает сделать,

я надеюсь, логика товарищей которые над платформой работают, все-таки не такая как у тебя
18 RomaH
 
naïve
06.03.19
14:08
вот так работает

ВЫБРАТЬ
    СправочникКартыЛояльности.Ссылка,
    СправочникКартыЛояльности.ВерсияДанных,
    СправочникКартыЛояльности.ПометкаУдаления,
    СправочникКартыЛояльности.Предопределенный,
    СправочникКартыЛояльности.Владелец,
    СправочникКартыЛояльности.Наименование,
    СправочникКартыЛояльности.Штрихкод,
    СправочникКартыЛояльности.МагнитныйКод,
    СправочникКартыЛояльности.Статус,
    СправочникКартыЛояльности.Партнер,
    СправочникКартыЛояльности.Контрагент,
    СправочникКартыЛояльности.Соглашение,
    
    СправочникКартыЛояльности.Владелец.ДатаНачалаДействия КАК ДатаНачалаДействия,
    СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия КАК ДатаОкончанияДействия
    //,
    
    //ВЫБОР
    //    //КОГДА
    //    //    СправочникКартыЛояльности.Владелец.ПометкаУдаления
    //    //ТОГДА
    //    //    ЗНАЧЕНИЕ(Перечисление.СостоянияКартЛояльности.ПустаяСсылка)
    //    //// ЗАКРЫТО ////////////////////////////////////////////////////////////////
    //    КОГДА
    //        СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Аннулирована)
    //    ТОГДА
    //        ЗНАЧЕНИЕ(Перечисление.СостоянияКартЛояльности.Аннулирована)
    //    // ДЕЙСТВУЕТ ///////////////////////////////////////////////////////////////
    //    КОГДА
    //        СправочникКартыЛояльности.Владелец.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыВидовКартЛояльности.Действует)
    //    ТОГДА
    //        ЗНАЧЕНИЕ(Перечисление.СостоянияКартЛояльности.Действует)
    //КОНЕЦ КАК Состояние,

    //ВЫБОР
    //    //КОГДА
    //    //    СправочникКартыЛояльности.Владелец.ПометкаУдаления
    //    //ТОГДА
    //    //    ЛОЖЬ
    //    //// СРОК ДЕЙСТВИЯ ИСТЕК //////////////////////////////////////////////////////
    //    КОГДА СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Действует)
    //        И ((СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия <> ДАТАВРЕМЯ(1,1,1) И
    //        СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия < &ДатаАктуальности))
    //    ТОГДА
    //        ИСТИНА
    //    ИНАЧЕ
    //        ЛОЖЬ
    //КОНЕЦ Как СрокДействияИстек,
    //
    //ВЫБОР
    //    //КОГДА
    //    //    СправочникКартыЛояльности.Владелец.ПометкаУдаления
    //    //ТОГДА
    //    //    ЛОЖЬ
    //    //// СРОК ДЕЙСТВИЯ НЕ НАСТУПИЛ ////////////////////////////////////////////////
    //    КОГДА СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Действует)
    //        И ((СправочникКартыЛояльности.Владелец.ДатаНачалаДействия <> ДАТАВРЕМЯ(1,1,1) И
    //        СправочникКартыЛояльности.Владелец.ДатаНачалаДействия > &ДатаАктуальности))
    //    ТОГДА
    //        ИСТИНА
    //    ИНАЧЕ
    //        ЛОЖЬ
    //КОНЕЦ Как СрокДействияНеНаступил,
    //
    //ВЫБОР
    //    //КОГДА
    //    //    СправочникКартыЛояльности.Владелец.ПометкаУдаления
    //    //ТОГДА
    //    //    ДАТАВРЕМЯ(1,1,1)
    //    //// СРОК ДЕЙСТВИЯ ИСТЕК //////////////////////////////////////////////////////
    //    КОГДА СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Действует)
    //        И СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия <> ДАТАВРЕМЯ(1,1,1)
    //    ТОГДА
    //        СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия
    //    // СРОК ДЕЙСТВИЯ НЕ НАСТУПИЛ ////////////////////////////////////////////////
    //    КОГДА СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Действует)
    //        И ((СправочникКартыЛояльности.Владелец.ДатаНачалаДействия <> ДАТАВРЕМЯ(1,1,1) И
    //        СправочникКартыЛояльности.Владелец.ДатаНачалаДействия > &ДатаАктуальности))
    //    ТОГДА
    //        СправочникКартыЛояльности.Владелец.ДатаНачалаДействия
    //    ИНАЧЕ
    //        ДАТАВРЕМЯ(1,1,1)
    //КОНЕЦ Как ДатаСобытия,
    //
    //ВЫБОР
    //    //КОГДА
    //    //    СправочникКартыЛояльности.Владелец.ПометкаУдаления
    //    //ТОГДА
    //    //    ЛОЖЬ
    //    //// СРОК ДЕЙСТВИЯ ИСТЕК //////////////////////////////////////////////////////
    //    КОГДА СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Действует)
    //        И ((СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия <> ДАТАВРЕМЯ(1,1,1) И
    //        СправочникКартыЛояльности.Владелец.ДатаОкончанияДействия < &ДатаАктуальности))
    //    ТОГДА
    //        ИСТИНА
    //    // СРОК ДЕЙСТВИЯ НЕ НАСТУПИЛ ////////////////////////////////////////////////
    //    КОГДА СправочникКартыЛояльности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКартЛояльности.Действует)
    //        И ((СправочникКартыЛояльности.Владелец.ДатаНачалаДействия <> ДАТАВРЕМЯ(1,1,1) И
    //        СправочникКартыЛояльности.Владелец.ДатаНачалаДействия > &ДатаАктуальности))
    //    ТОГДА
    //        ИСТИНА
    //    ИНАЧЕ
    //        ЛОЖЬ
    //КОНЕЦ Как Просрочен
    
ИЗ
    Справочник.КартыЛояльности КАК СправочникКартыЛояльности
19 polosov
 
06.03.19
14:19
(18) Пиши в спортлото. У них были проблемы с наследованием прав в расширениях. Может поломали что-то.
20 hhhh
 
06.03.19
14:23
(17) ну через две точки - надо просмотр. Если сам Владелец без точек просмотра не надо. Это всегда так было.
21 RomaH
 
naïve
06.03.19
14:24
(20) пипец
22 hhhh
 
06.03.19
14:28
(21) ну и СКД всегда нужен просиотр. Потому что там по плюсику внутрь реквизита проваливаемся. Ну вы чего? Как будто только сегодня проснулись. Это же элементарно.

СправочникКартыЛояльности.Владелец - ничего не нужно

СправочникКартыЛояльности.Владелец.ПометкаУдаления   - мы уже проваливаемся внутрь владельца, значит, права нужны.
23 polosov
 
06.03.19
14:34
(22) Так, а чего в (18) работает?
24 RomaH
 
naïve
07.03.19
07:29
фишка в том, что воспроизвести не получается
ВЫБРАТЬ
    СправочникСправочник2.Ссылка КАК Ссылка,
    СправочникСправочник2.ПометкаУдаления КАК ПометкаУдаления,
    СправочникСправочник2.Владелец КАК Владелец,
    СправочникСправочник2.Код КАК Код,
    СправочникСправочник2.Наименование КАК Наименование,
    СправочникСправочник2.Владелец.Реквизит1 КАК ВладелецРеквизит1,
    ВЫБОР КОГДА СправочникСправочник2.Владелец.ПометкаУдаления ТОГДА "Удален" ИНАЧЕ СправочникСправочник2.Владелец.Код КОНЕЦ КАК КодВладельца
ИЗ
    Справочник.Справочник2 КАК СправочникСправочник2

на Владелец у пользователя только чтение - и все ок
25 hhhh
 
07.03.19
07:34
(24) чтение это на обычный запрос. На динамический список нужен просмотр.
26 RomaH
 
naïve
07.03.19
07:57
(25) вот ты упертый писатель
еще раз - я создал новую базу
создал два справочнка - один владелец
дал пользователю только чтение на владельца

сделал дин список для подчиненного с запросом как в 24

все работает

не надо втирать, что прав чтения тут не достаточно - все достаточно

https://yadi.sk/d/tbq_avK23YBzJo
27 RomaH
 
naïve
07.03.19
07:58
вопрос в том, почему у меня в рабочей аналог перестал работать при смене режима совместимости с 10 на 13
28 lopus
 
07.03.19
08:08
Я вот тоже не пойму почему для получения информации запросом недостаточно права на чтение. Согласен если идет разыменование и тип ссылочный. Почему нужен просмотр? Возможно логика именно в динамических списках.
29 Casey1984
 
07.03.19
08:10
(27) В запросах немного поменяли между 8.3.10 и 8.3.13, но твоей ситуации на первый взгляд не вижу.

https://dl04.1c.ru/content/Platform/8_3_13_1690/1cv8upd_8_3_13_1690.htm

Может и глюк :-/
30 RomaH
 
naïve
07.03.19
08:10
(28) да не нужен просмотр - СМОТРИТЕ (24) пост!
31 vde69
 
07.03.19
08:16
(7) чтение - этого достаточно для получения данных запросом
просмотр необходим для использования отборов, сортировок и прочего связного с неявными действиями платформы

(0) у тебя работают не явное получение данных, скорее всего в колонке используется штатная картинка которая обращается к запрещенным полям.
32 RomaH
 
naïve
07.03.19
08:19
(31) - пост (24) читал - понял?

в рабочей воспроизвел ситуацию
добавил новую роль
создал два справочника

- ошибка воспроизводится

единственное у пользователя две роли назначено - БазовыеПрава (БСП не пускает без тонкой настройки)
и роль с правом чтения владельца и полными правами на подчиненный
33 RomaH
 
naïve
07.03.19
08:22
т.е. создал подчиненный справочник - создал форму списка - ткнул у списка произвольный запрос
добавил

ВЫБОР КОГДА СправочникСправочник2.Владелец.ПометкаУдаления ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК КодВладельца

вывел КодВладельца на форму списка (для чистоты эксперимента)

получаю ошибку


в тестовой базе - ошибки нет на аналогичных двух справочниках
34 vde69
 
07.03.19
08:26
(32) блин....

у тебя для справочника который является владельцем нет прав на поле "пометканаудаление"

ну и для чистоты эксперимента

ВЫБОР РАЗРЕШЕННЫЕ
КОГДА СправочникСправочник2.Владелец.ПометкаУдаления ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК КодВладельца
35 RomaH
 
naïve
07.03.19
08:28
ура - воспроизвел на тестовой

надо что бы расчетное поле попадало все-таки в вывод
ВЫБОР КОГДА СправочникСправочник2.Владелец.ПометкаУдаления ТОГДА "Удален" ИНАЧЕ СправочникСправочник2.Владелец.Код КОНЕЦ КАК КодВладельца

вот такое у пользователя исключается из вывода - ибо доступа на просмотр для СправочникСправочник2.Владелец.Код нет

а вот такое ВЫБОР КОГДА СправочникСправочник2.Владелец.ПометкаУдаления ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК КодВладельца

уже не исключается - и получаю ошибку
36 RomaH
 
naïve
07.03.19
08:30
начинает ругаться именно с 13 совместимости
на 12 еще все ок


вопрос - писать в тех поддержку - или это так и задумано?
37 vde69
 
07.03.19
08:31
выбрать РАЗРЕШЕННЫЕ
....
ВЫБОР
        КОГДА
            клиенты.ПометкаУдаления
        ТОГДА
....
из
Справочник.КартыЛояльности как СправочникКартыЛояльности
Левое соединение Справочник.Клиенты как Клиенты
по СправочникКартыЛояльности.владелец = клиенты.ссылка
38 RomaH
 
naïve
07.03.19
08:32
(34) - разрешенные не помогают совсем
39 vde69
 
07.03.19
08:32
(35) о чем я тебе и писал :)
40 RomaH
 
naïve
07.03.19
08:34
(37)- да ну нафиг - это делать ревизию все конфы?
конфигурация писалась на постулате - что если поле не разрешено для просмотра - то оно просто не будет показываться в дин списке
если поле не надо показывать, но оно нужно для расчетов - то ставим право "Чтение"

а тут такая подстава
41 vde69
 
07.03.19
08:34
(38) помогают у нормальных 1с ников, в твоем случае у тебя не должно быть прав к картам если нет нормального доступа к элементу "владелец"
42 vde69
 
07.03.19
08:35
(40) конфа делалась на НЕВЕРНОМ постулате :)
43 RomaH
 
naïve
07.03.19
08:36
(42) но он работал до 12 релиза включительно
44 RomaH
 
naïve
07.03.19
08:38
(41) это почему это?
тогда уж не должно быть доступа к торговым документам если нет доступа к договорам - контрагентам ... и далее по нарастающей?
45 vde69
 
07.03.19
08:38
(43) это косяк платформы до 12 релиза включительно :) а выше просто этот косяк исправили...

у меня к тебе вопрос

если я не имею доступа к "Иванов Иван Иваныч" я должен в списке видеть его карты? по моему нет, а значит ты не верно сделал права к справочнику карты от сюда и проблемма
46 vde69
 
07.03.19
08:39
(45)+
доступ - не означает просмотр, доступ - это чтение
47 RomaH
 
naïve
07.03.19
08:58
(45) да - как раз сейчас так и работает
у пользователя есть доступ на чтение к владельцу

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

если уж речь про карты - врач может смотреть любы карты и видеть в них "представление" пациента
а вот посмотреть персональные данные (персонализировать карту) - это только по особому разрешению

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

в отчеты на СКД и дин списки - нельзя, зато просто запросами - можно