Имя: Пароль:
1C
1С v8
"Нарушение прав доступа!" без записи в ЖР
0 mistеr
 
13.06.19
18:42
При проведении (и отмене проведения) документа имею сабж, но события в ЖР типа Доступ.Отказ в доступе с указанием на объект не создается. Есть три события: 1 - Транзакция. Начало, 2 - Данные. Изменение (регистр бухгалтерии) и 3 - Транзакция. Отмена.

Ошибка возникает в ОбщегоНазначения.УдалитьДвиженияРегистратора(), на строке

    ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);

Права на док и его регистры проверил, подписки прошел отладчиком. Где еще копать?

Конфа сильно перепиленная БП 2.0, платформа 8.2.
1 Лефмихалыч
 
13.06.19
20:18
а настройки ЖР какие?
2 mistеr
 
13.06.19
21:02
(1) Все включено.

В других ситуациях события "Доступ.Отказ в доступе" пишутся.
3 catena
 
14.06.19
05:50
А поиск по конфигурации "Нарушение прав доступа!" что говорит?
4 antgrom
 
14.06.19
06:33
(0) надо смотреть глубже - что происходит в коде Перед записью, При записи и После записи этого документа объекта.
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
Может там в коде обращение к справочнику или документу, на который как раз нет прав
5 DrZombi
 
гуру
14.06.19
06:39
(0) Как то тоже столкнулся на этом у вас RLS отрабатывает, видимо где то в служебных справочниках мусорные записи создались...
В общем, решил просто, создал в расширении набор прав и дал права на недостающие элементы :)
...Если не используете RLS, решение подойдет, но в противном, придется вам копаться в БСП ресурсах...
Уточните в конфигураторе версию своей БСП, скачайте её на сайте 1С, и там будет обработка, которая перезаполняется все необходимые ресурсы от БСП...
6 DrZombi
 
гуру
14.06.19
06:39
(3) нечего не говорит... это служебное сообщение :)
7 DrZombi
 
гуру
14.06.19
06:43
+ И помни, версии БСП РАЗНЫЕ и разную структуру данных имеет... не факт что скачав последнюю версию, обработка отработает как надо... :)
8 mistеr
 
14.06.19
07:52
(4) >Может там в коде обращение к справочнику или документу, на который как раз нет прав

Тогда это было бы видно в ЖР, не так ли? К тому же я все проходил отладчиком, все события и подписки.
9 Cyberhawk
 
14.06.19
08:10
"все проходил отладчиком, все события и подписки" // Так надо по регистрам пройтись может. F11 после конца каждой процедуры или функции гарантированно проведет по всем-всем вызываемым методам.
10 mistеr
 
14.06.19
08:14
(9) Так и делал.
11 Cyberhawk
 
14.06.19
08:18
Оберни в попытку тогда и в исключении подробную информацию пиши в ЖР
12 Cyberhawk
 
14.06.19
08:19
Хотя ТЖ скорее всего покажет где собака зарыта
13 DrZombi
 
гуру
14.06.19
08:30
ТС походу код будет искать до посинения :DDD

ТС, смотри в (5), немного подумай.
14 DrZombi
 
гуру
14.06.19
08:31
(12) не покажет. Просто тупо пишет "Нет доступа", при этом есть доступ на чтение. :)
Даже на запись будет доступ. Но попробует провести, и система просто пишет "Нет доступа".
15 unregistered
 
14.06.19
08:39
(5) >> Уточните в конфигураторе версию своей БСП

В БП 2.0 БСП может и не быть (если я не ошибаюсь). Если она и есть, то включена не настолько тесно и полно, как в современные актуальные конфигурации типа БП 3.0.
16 Сияющий в темноте
 
14.06.19
08:40
такую ошибку без записи в журнал дает запрос,еслм обращается е таблице,на которую не дали права просмотра-и именно без записи в журнал,а просто сразу на экран.
17 niWhale
 
14.06.19
08:44
ТЖ по событиям EXCP, QERR и SDBL должен помочь. Ну или всю процедуру завернуть в привилегированный режим, но RLS может выскочить где-то еще в будущем.
18 mistеr
 
14.06.19
08:45
(11) Делал, не помогло.

(16) И как найти такой запрос? И не "просмотра", а "чтения" имел в виду, да?
19 Cyberhawk
 
14.06.19
08:47
(14) Кто пишет?
20 unregistered
 
14.06.19
09:38
(0) Проверьте права доступа на изменение всех(!) регистров (включая нетиповые), по которым делает движение проблемный документ. Смотреть надо именно все регистры, где документ регистратор, а не только те, по которым пишутся наборы записей в конкретно взятом случае.
Так же следует проверить подписки не только документа, но и наборов записей документа (опять таки всех регистров, по которым документ регистратор).
21 unregistered
 
14.06.19
09:44
(0) А откуда у вас вообще в процедуре УдалитьДвиженияРегистратора взялась строка ДокументОбъект.Записать(РежимЗаписиДокумента.Запись)? Нафига вообще в этой процедуре записывать документ? Это какая-то местная дичь?
22 unregistered
 
14.06.19
09:47
Дату запрета проверяли? Не может такого быть, что на каком-то из регистров пользователь попадает в закрытый период?
23 Ботаник Гарден Меран
 
14.06.19
10:01
Попытка
    ЧтоТо.Записать();
Исключение
    ВызватьИсключение ОписаниеОшибки();
КонецПопытки;
24 mistеr
 
14.06.19
11:38
(20) Все проверено.
(21) Не знаю, не разбирался. Видимо местная дичь.
(22) Нет, проверка даты запрета проходит.

По факту при отмене проведения перезаписывается только регистр бухгалтерии. Чувствую, что проблема либо в нем, либо в самом документе.

(23) См. (18)