Имя: Пароль:
1C
1C 7.7
v7: Как сделать разграничение документов менеджера и помощника?
,
0 1с-кин
 
27.03.12
10:26
Необходимо, чтобы менеджер видел документы своего помощника. Как лучше реализовать это в семерке?
1 gp42
 
27.03.12
10:27
Журнал документов с фильтром по ответственному
2 1с-кин
 
27.03.12
10:29
(1) а ответственный из справочника Пользователи? Как тогда указать, что это документы помощника, и "его" начальник-менеджер видит эти документы, а остальные менеджеры - нет.
3 chief accountant
 
27.03.12
10:30
(0) А сейчас не видит?
4 1с-кин
 
27.03.12
10:32
(3) нет
5 KRV
 
27.03.12
10:32
Позвать специалиста уже предлагали?
6 1с-кин
 
27.03.12
10:33
сейчас разграничение по пользователю - каждый только свои. А теперь нужно - чтоб двое видели документы одного.
7 chief accountant
 
27.03.12
10:33
(4) Пусть очки купит
8 1с-кин
 
27.03.12
10:33
(5) выгнали всех семерочников уже...
9 gp42
 
27.03.12
10:33
Фотку в студию
10 1с-кин
 
27.03.12
10:34
(4) в журналах и доках при открытии - фильтр по автору-создателю.
Так что не видит.
11 chief accountant
 
27.03.12
10:34
(9) Это ещё зачем?
12 chief accountant
 
27.03.12
10:35
(10) переделай фильтр
13 gp42
 
27.03.12
10:35
(11) чтобы была ))
14 Андрей_Андреич
 
naïve
27.03.12
10:35
(8) Тогда на 8 переходите
15 gp42
 
27.03.12
10:37
(0) запости кусок кода где фильтр накладывается
16 1с-кин
 
27.03.12
10:38
(12) так вот как переделать-то?? сейчас по Если не Автор = ИмяПользователя() - возврат.
Ну не делать же:
Если Автор = "Маша" Тогда Разрешено

ИначеЕсли Автор <> ИмяПользователя() Тогда Возврат
17 Shved_72
 
27.03.12
10:39
(2) добавь в спр.Пользователи новый реквизит - начальник. и при открытии проверяй на автора и на начальника автора - им можно. остальным - барада.
18 1с-кин
 
27.03.12
10:39
(14) на 8-ке я бы не спрашивал ))
(15) ок, немного погодя - сейчас с доками менеджер определятся, какие видеть хотют...
19 1с-кин
 
27.03.12
10:40
(17) т.е. можно без регистра обойтись?
20 chief accountant
 
27.03.12
10:40
(15) Хе-хе. Даю наводку:
ПриЗаписи()
Автор=Автор+Начальнег
21 Shved_72
 
27.03.12
10:41
(19)а причом тут регистр? если связи часто меняются - сделай начальника периодическим реквизитом
22 chief accountant
 
27.03.12
10:41
Тфу (20) для (16)
23 Shved_72
 
27.03.12
10:42
(20) когда прежнего начальника порешат, новый не сможет открыть
24 gp42
 
27.03.12
10:42
(0) А больше вариантов нет
только так
Разрешить=0;
Если Автор = ИмяПользователя() Тогда
разрешить = 1;
ИначеЕсли (ИмяПользователя="Менеджер1" ) и (Автор = "Продован") Тогда
разрешить
иначе
разрешить = 0;
КонецЕсли;
Если Разрешить = 0 Тогда
Возврат;
КонецЕсли;
25 chief accountant
 
27.03.12
10:43
(23) Помошник станет начальнегом вместо него делов-то :)
26 chief accountant
 
27.03.12
10:45
(24) не, не взлетит
27 zak555
 
27.03.12
10:45
что за конфа ?
28 Shved_72
 
27.03.12
10:46
если справочника нет, то можно мутить в полном названии юзера:
Если Найти(ПолноеИмяПользователя(),Автор)>0 Тогда
//дам
Иначе
//не дам
конецЕсли;
а юзеров заводить кто под кем: Вася (Петя), где в скобках имя начальника
29 chief accountant
 
27.03.12
10:47
(27) А какая разница?
30 1с-кин
 
27.03.12
10:47
(27) ТиС
31 Shved_72
 
27.03.12
10:48
(30) тады (17)
32 Mikeware
 
27.03.12
10:48
сделать свой журнал
33 zak555
 
27.03.12
10:49
(29) чтоб меньше пейсать =)
34 gp42
 
27.03.12
10:49
(28) ага будет что то Машкина Мария рук Андрей Андреевич
35 Shved_72
 
27.03.12
10:50
(34) Маша под Андреем
36 Shved_72
 
27.03.12
10:50
(0) а речь про журнал или ПриОткрытии() доков?
если журнал то (32)
37 Попытка1С
 
27.03.12
10:50
У меня сделано через реквизит "Друзья".
38 chief accountant
 
27.03.12
10:51
(33) Чтобы нормально работало - рука устанет писАть.
39 1с-кин
 
27.03.12
10:51
(32) какой свой журнал? а чем он будет отличаться от общего?
40 1с-кин
 
27.03.12
10:52
(36) про жрунал и про открытие доков... менеджер же должен видеть как доки, так и что в них поназаполнено..
41 1с-кин
 
27.03.12
10:52
(37) в Пользователи?
42 chief accountant
 
27.03.12
10:52
(39) нормальными отборами
43 Mikeware
 
27.03.12
10:52
(39) отбором
44 Shved_72
 
27.03.12
10:55
(40) как дать - легко. вопрос как не дать - это сложнее.
если надо чтоб чужие и даже в ЖУРНАЛЕ их не видели, то это не 3 строки писать....
если достаточно тока при открытии дока, то уже написано...
45 Shved_72
 
27.03.12
10:56
+ при печати фильтровать - иначе могут увидеть что в доке
46 Mikeware
 
27.03.12
10:56
(44) не "три строки", но и не так уж и много. Если подходить по уму...
47 Shved_72
 
27.03.12
10:59
(46) надо убирать общий журнал ваще, но обычно его любят за быстрые отборы, если и в новом делать отбор, то надо новые общие реквизиты...
48 1с-кин
 
27.03.12
11:04
Мож действительно - реквизит "Начальник" у пользователя, заполняет админ, проверка:

СпрМенедж = СоздатьОбъект("Справочник.Менеджеры");
СпрПольз = СоздатьОбъект("Справочник.Пользователи");
Док = ТекущийДокумент();
ТекПользователь = СпрМенедж.НайтиПоНаименованию(ИмяПользователя());
Если Автор <> ТекПользователь Тогда
 Если СпрМенедж.НайтиПоНаименованию(ТекПользователь)=1
       И Док.Автор.Начальник = ТекПользователь
       //разрешено
 КонецЕсли;
КонецЕсли;
49 Shved_72
 
27.03.12
11:07
(48)это в доке или журнале?
50 Mikeware
 
27.03.12
11:07
(47) Ну и убрать :-)
Просто нужно использовать нормальные журналы :-) - в них отборов гораздо больше, удобнее и т.п.
51 1с-кин
 
27.03.12
11:08
(49) это по ходу в доке..
с фильтром я еще не понял как в ждурнале работать..
52 Mikeware
 
27.03.12
11:08
(48) "пригласите программиста!"©.
53 1с-кин
 
27.03.12
11:09
(52) это мой код
54 zak555
 
27.03.12
11:10
И Док.Автор.Муд@к = Ложь
Тогда //можно заходить
55 Mikeware
 
27.03.12
11:11
(53) ну я и говорю - программиста пригласите...
56 Mikeware
 
27.03.12
11:12
(54) а Код.Автор.Муд@к ?
57 chief accountant
 
27.03.12
11:16
(56) нее, Если Код.Автор=ТопикСтартер Тогда ЗавершитьРаботуСистемы(0) КонецЕсли;
58 viktor_vv
 
27.03.12
11:16
(48) СпрМенедж.НайтиПоНаименованию(ИмяПользователя()) вернет 1 или 0 .
59 noxxx
 
27.03.12
11:19
Мне кажется я попал в дурдом. Это всё стёб надеюсь?
60 Mikeware
 
27.03.12
11:20
(59) "Это мизда, деточка!"©
61 Shved_72
 
27.03.12
11:25
(48)
Если (глПользователь = Автор) или (глПользователь.Начальник = Автор) Тогда
// заходи дорогой
КонецЕсли
62 zak555
 
27.03.12
11:26
(61) поскольку сам человек является сам себе хозяином => код будет всегда выполняться
63 Гость2
 
27.03.12
11:33
(35) А Маша "сверху" не пробовала?
64 1с-кин
 
27.03.12
12:17
(61) т.е. получается так:

СпрМенедж = СоздатьОбъект("Справочник.Менеджеры");
Док = ТекущийДокумент();
ТекПользователь = СпрМенедж.НайтиПоНаименованию(ИмяПользователя());
Если ((глПользователь = Автор) И СпрМенедж.НайтиПоНаименованию(ТекПользователь)=1)
или (глПользователь.Начальник = Автор) Тогда
       //разрешено
КонецЕсли;
65 chief accountant
 
27.03.12
12:26
шедеврально
66 Mikeware
 
27.03.12
12:28
(62) а если "раб божий"?
67 1с-кин
 
27.03.12
12:29
(65) неплохо
68 chief accountant
 
27.03.12
12:30
(67) уверен?
69 Mikeware
 
27.03.12
12:31
(68) Это развод на рабочий код :-)
70 zak555
 
27.03.12
12:45
(66) от них ничего не скрывают
71 1с-кин
 
27.03.12
16:31
(61) пока не тестил еще - весь код, выложенный здесь, на коленке написан
72 1с-кин
 
27.03.12
16:42
(71) + мной выложенный код*
73 1с-кин
 
11.04.12
18:20
вроде для журнала сделал..