Имя: Пароль:
1C
1С v8
Последовательность выполнения процедур при записи документа или проблема с RLS?
,
0 FeltBoot
 
13.04.13
17:59
Вынесло мозг полностью, видимо тупею :)
Конфигурация "Управление торговым предприятием" 1.0.6.6, (с изменениями).
Для документа "Реализация товарои и услуг" созданна отдельная роль и настроены ограничения на чтение по: организация/контрагенты/склады.
Для роли на документ доступны все дейстия кроме удаления.
Важно! На все остальные объекты у роли доступ полный.
Пользователю доступна роль "Пользователь" и наша "Менеджер".
(роль "пользователь" стандартна для конфиги, на ней "базовое" чтение объектов)  
Проблема:
Создаем новый документ (копированием или открытием - разницы нет).
Если НЕ менять дату - все замечательно.
но стоит поменять дату, при записи или проведении, получаем сообщение: "у пользователя недостаточно прав на исполнение операции над базой данных".
Если же записать(или провести) документ текущей датой - потом можно спокойно изменить дату и перепровести.

При попытке записи задним числом в процедуру "перед записью" формы документа отладчик не заходит.
Я понимаю что это ограничение ролей. Или нет?
Но ведь на все прочие действия (добавления, изменения и пр.) ограничений нет, вообще.

Бьюсь головой ап стену, Памагитя!
1 shuhard
 
13.04.13
18:11
(0)[у пользователя недостаточно прав на исполнение операции над базой данных] синоним RLS
2 asady
 
13.04.13
21:24
(0)
1) в ЖР посмотри что там пишется при этом?
2) в сообщении об ошибке доступа есть указание на номер строки в коде?
3) отладчиком пройдись
3 FeltBoot
 
13.04.13
22:25
(1)
Я об это написал :)
только:
1. никогда раньше не слышал что через RLS можно блокировать неоперативный режим проведения.
2. как я указал RLS настроен только на чтение, как это влияет на запись?
3. почему после записи оперативно (то есть создания объекта в базе), возможно изменить дату и перепровести задним числом? Как через RLS это сделать?
(2)
Отладчик никуда не выходит. Первая процедура при интерактивной записи - "ПередЗаписью" в форме объекта, так?
4 asady
 
13.04.13
23:06
(3) ответь на вопросы 1) и 2)
5 pauchok
 
14.04.13
00:33
Покопай обработчик ПриСменеДаты() на форме или как там он у тебя называется? Может банально реквизит какой заполняется в фоне? А потом на записанный документ с заполненным реквизитов нормально отрабатывает RLS? Или попробуй не в интерактиве проделать тоже самое. Но вообще то (2) прав - в ЖР тебе напишут на какой объект не хватает прав.
6 shuhard
 
14.04.13
09:15
(3) реплика ни о чем?
тебе платформа вернула ошибку RLS
7 FeltBoot
 
14.04.13
10:56
(4)
При попытке записи задним числом в журнал ничего не пишется (настройка журнала регистрировать все, разделение по периодам месяц).
Ошибки на код нет.
Как ты и говорил сообщение идентичное блокировке по RLS, но нет RLS в указанных ролях кроме как на чтение.
Если это таки RLS - логично, что на срабатывает на добавление, но как? и почему выборочно (только неоперативно).
Как такая RLS будет выглядеть? скинь кусок кода, попробую найти через глобальный поиск.

(5)
Уже смотрел, стандартный состав для конфигурации, самописного кода там нет.

(6)
Конфигуратор/Все роли - нет установленных RLS кроме чтения на: контрагенты, склады, документы Реализация.
Знаешь больше? Подскажи.
8 Naumov
 
14.04.13
11:54
Ну ты уже проверил под ролью, которая не имеет никаких РЛС ограничений?
9 FeltBoot
 
14.04.13
13:16
(8)
и даже больше :)  база работает 4-й год, пользователи работающие под (стандартна для конфигурации) ролью "менеджер по продажам" такой проблемы не имеют.
Скопировал эту ("Менеджер") роль и удалил RLS'ку на чтение.
Проблемы нет, но пользователь видит весь список складов, клиентов и соответственно их реализации.

Ну как ограничение на чтение дает такой эффект на добавление(запись), а?
P.S.
В принципе не сложно выложить конфигу куда нибудь :), дайте фтп - выложу. 169 метров всего.
10 FeltBoot
 
14.04.13
13:18
Технологический журнал по идее должен фиксировать событие по RLS, как его потом оттуда выцарапывать?
11 Naumov
 
14.04.13
16:15
а не пытаются ли записать с пустым реквизитом, на который РЛС наложено?
12 FeltBoot
 
15.04.13
00:02
(11)
не понял, поясни пожалуйста
13 FeltBoot
 
18.04.13
07:56
(11)
Ты имел в виду что на реквизиты: Организация/Контрагент/Номенклатура/Склад, может быть настроены РЛС?
Да, по ним есть (я выше указывал), но только на чтение, на запись РЛС нет.
Как пример: открываем новый документ, по умолчанию заполняются дата (текущая) и организация, его возможно сохранить (правда появится сообщение: что введеный документ не попал в список отбора - контрагент-то пустой)
Можно даже сохранить без указания организации, но опять же - только текущей датой.

Сохранить новый документ НЕ текущей датой - невозможно в любых вариантах.
Только сначала записать текущей датой, а потом перезаписать любой другой.