Имя: Пароль:
1C
1С v8
ЗУП 3.1 Проблема с правами доступа после обновления.
, ,
0 bvn-2005
 
30.10.18
12:39
Проблема возникла после обновления с релиза 3.1.7.144 на 3.1.8.113.
Есть пользователь с ограниченными правами (Табельщик). Он создает документ ПрогулНеявка. Форма нового документа открывается, но ввести в нее ничего нельзя. Права на документ, разумеется, все даны. Если вместо Табельщика поставить права Расчетчика - все начинает работать правильно. В чем может быть проблема?
1 cons24
 
30.10.18
13:33
Конфигуратор открыть и посмотреть ПриСозданииНаСервере() у формы.
2 pavlika
 
30.10.18
14:17
Начни с простого - открываешь РС "Права ролей" смотришь какие роли нужны, потом смотришь есть ли они у нужного профиля группы доступа.
3 Adilgeriy
 
30.10.18
14:41
обнови базу
4 bvn-2005
 
30.10.18
15:55
Дык, это... проблема и возникла после обновления...
Я, конечно, обновил на самый последний релиз (от вчерашнего числа) - не помогло.

"посмотреть ПриСозданииНаСервере() "
Первым делом посмотрел, криминала не увидел. Сравнил с предыдущим "правильным" релизом - изменений нет.
5 bvn-2005
 
30.10.18
16:14
" открываешь РС "Права ролей""
Посмотрел. У пользователя доступна роль "Добавление изменение прогулов неявок". Для этой роли в регистре проставил все галки. НЕ помогло.
6 DrZombi
 
гуру
31.10.18
14:31
(5) Напиши расширение,

Общий модуль "ЗарплатаКадрыРасширенный"

Добавить Роль в расширение "РасшА_ИзменениеДанныхСотрудников", галочки не надо ставить, сама роль галочка.

Копипастишь
      &Вместо("ПраваНаМногофункциональныйДокумент")

Там пишешь код в строке:

    ИзменениеКадровыхДанных = ИзменениеБезОграничений;
    Если Не ИзменениеКадровыхДанных Тогда
        ИзменениеКадровыхДанных = Не ЕстьОграниченияНаУровнеЗаписейПоВидуУчета("Изменение", "КадровыеДанные", ДанныеДляПроверкиОграничений);
        // + .......
        //Эта роль для Табельщика на участках
        Попытка
        Если РольДоступна("РасшА_ИзменениеДанныхСотрудников")
            //Объект.Ссылка        ДокументСсылка.ПрогулНеявка
            И ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПрогулНеявка")
            Тогда
            ИзменениеКадровыхДанных = Истина;
        КонецЕсли;
        Исключение
        КонецПопытки;
        // - ...........
    КонецЕсли;
7 DrZombi
 
гуру
31.10.18
14:34
(4) Криминал в перетасовки кода в "ЕстьОграниченияНаУровнеЗаписейПоВидуУчета()"
8 DrZombi
 
гуру
31.10.18
14:36
+(6)  //Править функцию... "ПраваНаМногофункциональныйДокумент"
  ЗарплатаКадрыРасширенный.ПраваНаМногофункциональныйДокумент()
9 bvn-2005
 
01.11.18
09:02
С доступностью документа разобрался. Просто добавил в ПраваНаМногофункциональныйДокумент():

    Если Пользователи.РолиДоступны("ДобавлениеИзменениеПрогуловНеявок", , Ложь)  тогда        
        Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПрогулНеявка") тогда
            ПраваНаДокумент.ПолныеПраваПоРолям = Истина;
            ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ЧтениеБезОграничений = Истина;
            ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений = Истина;
            ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеКадровыхДанных = Истина;
    КонецЕсли;
    КонецЕсли;

Документ открывается, заполняется, сохраняется, но при попытке провести выдает сообщение:
Данные не включены в расчет зарплаты.
и остается непроведенным...
10 DrZombi
 
гуру
02.11.18
08:20
(9) ...роль не увидел, сенкс...

Зачем так с правами переуседствовал?
Нам хватило только одной строчки "ИзменениеКадровыхДанных = Истина;"
11 gkvgkv
 
16.11.18
10:17
Такая же проблема, чем дело кончилось? Какое решение?
12 DrZombi
 
гуру
20.11.18
12:05
(11) Написали расширение, заменили кусочек кода.
Забили на 1С, они там код местами поменяли, поменялась и логика :)
Ошибка? Это не ошибка, это системная функция.