Имя: Пароль:
1C
1С v8
Доступ к документу
,
0 TumenJan
 
28.09.19
08:33
Добрый день!

Подскажите как можно, чтобы после проведения документа, в журнале этот документ был доступен только автору-документа.
Чтобы другой пользователь не имел доступа к этому документу.
1 Попытка1С
 
28.09.19
08:43
При открытии проверить что текущий пользователь <> автор документа
2 Злопчинский
 
28.09.19
14:36
в дбф базе - никак.
можно всопользоваться кучей типовых инструментов и увидеть содержимое документа (универсальная печать, например)
3 MWWRuza
 
гуру
28.09.19
15:37
(0)Чтобы другой пользователь не имел доступа к этому документу.

Смотря что имеется в виду под "пользователем"(на сколько он продвинутый?), и на сколько серьезно надо спрятать. Если пользователи грамотные, то см. (2), в простейших случаях и (1) достаточно... Хотя, тут тоже есть варианты - можно запретить использовать внешние обработки например, и так далее... Но, это все надо делать, просто "поставить/снять одну галочку" - не получится.
4 aka AMIGO
 
28.09.19
15:54
В документе ввести новый реквизит "Автор", примерно так:
https://i.paste.pics/5712781d8a00b672c1d144f777661c3b.png

При создании документа в реквизит записывать текущего пользователя - сиречь - автора:
Автор = ИмяПользователя();

В "ПриОткрытии()" пишешь:
Если (Проведен()=1) И (ИмяПользователя()<> Автор) Тогда
//Сообщить("Нет у вас прав на просмотр документа!");
    СтатусВозврата(0);
    Возврат();
КонецЕсли;
5 aka AMIGO
 
28.09.19
16:04
Нужно дать права только на просмотр докуменат, тогда возвраты убрать, поставить оператор
ТолькоПросмотр(1);
6 aka AMIGO
 
28.09.19
16:04
(5) "Нужно" = "Если нужно"
7 TumenJan
 
29.09.19
04:01
Не могу разобраться,

Процедура ПриОткрытии()
       Если (Проведен()=1) И (ИмяПользователя()<> Автор) Тогда
          Сообщить("Нет у вас прав на просмотр документа!");
    СтатусВозврата(0);
    Возврат();
  КонецЕсли;

Конецпроцедуры

Выходит ошибка:
{Документ.ОтчетОПроведенииАудита1.Форма.ФормаДокумента.Форма(729,13)}: Ошибка в выражении
    Возврат(<<?>>); (Проверка: Толстый клиент (обычное приложение))
8 hhhh
 
29.09.19
04:45
(7) так вы в 7.7 запускайте. Нафига вы в восьмерку полезли?
9 GreyK
 
29.09.19
04:46
(7) После "Возврат" скобочки убери.
10 TumenJan
 
29.09.19
04:54
Блин, у меня 8.2
Извиняюсь господа. Но сейчас пытаюсь в тему 8 закинуть не закидывается.
Коли я уже здесь.
А в 8.2 как прописать. Я убрал скобки. Все равно ошибочка выходит такая же
11 Fram
 
29.09.19
06:57
(10) а что по твоему должна вернуть процедура при открытии?
12 TumenJan
 
29.09.19
07:21
(11) не дать открыть документ запретить доступ
13 Fram
 
29.09.19
07:29
(12) а документацию принципиально не читаешь? в том же синтакс-помощнике все написано
14 TumenJan
 
29.09.19
08:13
(13) Да смотрел, не нашел решения.

Подскажите как исправить и решить проблему если знаете плиз((((
15 ДенисЧ
 
29.09.19
08:19
ПередОткрытием(Отказ, СтандартнаяОбработка)
  Если Автор <> ПараметрыСеанса.ТекущийПользователь Тогда
   Сообщить("Ну куды ты шнобель свой соваешь??");
   Отказ = Истина;
   Возврат;
  КонецЕсли
16 rphosts
 
29.09.19
08:27
(15) не, не будет работать, если в тексте сообщения насчёт личных качеств пользователя не сообщить!
17 rphosts
 
29.09.19
08:29
(0) по нормальному в форме списка уже не должно быть видно чужих документов, поэтому править и там. Но есть ещё куча способов получить доступ к данным, поэтому RLS в данном случае рулит.

PS Да, ветка в разделе 8
18 hhhh
 
29.09.19
09:12
(14) гомосятина какая-то, ТС - мужик, а пол написано "женский".
19 TumenJan
 
29.09.19
09:14
(18) Давайте без оскорблений, при регистрации не заметил. Исправил.
20 TumenJan
 
29.09.19
09:25
При открытии выходит ошибка.

(15)  Если Автор <> ПараметрыСеанса.ТекущийПользователь Тогда
                Сообщить("У вас нет прав доступа на просмотр документа!");
                Отказ = Истина;
                Возврат;
            КонецЕсли;

Ошибка:
{Документ.ОтчетОПроведенииАудита1.Форма.ФормаДокумента.Форма(705)}: Поле объекта не обнаружено (ТекущийПользователь)
      Если Автор <> ПараметрыСеанса.ТекущийПользователь Тогда
21 hhhh
 
29.09.19
09:32
(20) ну, рой в сторону ПараметрыСеанса.ТекущийПользователь. Проверь, есть такой параметр сеанса
22 TumenJan
 
29.09.19
09:35
(21) А где этот ПараметрСеанса посмотреть, подскажите в конфиге или на сервере
23 TumenJan
 
29.09.19
09:41
(21) Нашел, не судите строго. Начинающий.
24 TumenJan
 
29.09.19
09:49
(21) Добаваил:
     ПараметрыСеанса -ТекущийПользователь
     Тип: СправочникСсылка.Сотрудники  

Но при открытии документа выходит ошибка:
{Документ.ОтчетОПроведенииАудита1.Форма.ФормаДокумента.Форма(704)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
    Если Автор <> ПараметрыСеанса.ТекущийПользователь Тогда
по причине:
Попытка получения неинициализированного значения параметра сеанса
25 hhhh
 
29.09.19
10:18
(24) да уж. Чувствуется, что ты там конфу расхерачишь в итоге.
26 TumenJan
 
29.09.19
10:37
(25) Да не все норм, я аккуратнои в копии
27 RomanYS
 
29.09.19
10:39
(26) А "Автор" у тебя откуда заполняется?
28 TumenJan
 
29.09.19
10:57
(27) "Автор" у меня в Документ.ОтчетОПроведенииАудита1 в данных добавлен.
29 RomanYS
 
29.09.19
11:29
(28) ... и он имеет какой-то тип и как-то заполняется автоматом. Так?
30 TumenJan
 
29.09.19
11:51
"Автор" -тип: СправочникСсылка.Сотрудники
31 RomanYS
 
29.09.19
12:40
(30) И как он заполняется?

Для твоего понимания: аналог "ПараметрыСеанса.ТекущийПользователь" у тебя уже должен быть, именно с его помощью должен (автоматически) заполняться Автор.
32 ДенисЧ
 
29.09.19
12:41
(31) Автомагически ничего в 1с не заполняется...
33 RomanYS
 
29.09.19
12:55
(32) Тут можно подискутировать. Тут конечно надо определиться с терминологией, в (31) под "автоматически" понимается без участия пользователя.

А вот, например, дата и номер документа могут заполняться без строчки кода. Это "автоматически"?
34 Сияющий в темноте
 
29.09.19
13:22
Если у вас все же восьмерка,то это повод изучить RLS,но тогда в журнале вместо документа пользователь будет видеть ОбьектНеНайден
35 rphosts
 
29.09.19
17:12
(22) чел, очень рекомендую взять комп, оба тома профразработки и изолироваться от мира дней на 5. Прям настаиваю.