Имя: Пароль:
1C
1С v8
Ограничить доступ к платежно-расчетным документам по зарплате
0 laby1
 
25.04.16
13:07
С какого ракурса зайти в решении такой вот задачки (УПП)?
Чтоб кому ни попадя не видели кто сколько деняг получает ...
1 asady
 
25.04.16
13:31
(0) а 70 счет у вас в разрезе сотров?
2 ЛучшийПрограммер1С
 
25.04.16
13:56
(1) Субконто - работники организации - Суммовой
3 laby1
 
25.04.16
13:57
Да
4 laby1
 
25.04.16
14:32
Интересует как сделать ограничение по документу ПлатежноеПоручениеИсходящее по реквизиту ВидОперации
по значению Перечисления.ВидыОперацийППИсходящее.ПеречислениеЗП
5 laby1
 
25.04.16
14:33
то есть если перечисление зп то видеть иначе нет
6 laby1
 
25.04.16
14:33
то есть наоборот
7 asady
 
25.04.16
14:33
(0) а смысл? - ОСВ по 70 счету ты тоже будешь блокировать?
8 ЛучшийПрограммер1С
 
25.04.16
14:36
Чтоб не видеть эти документы (4) ни в журнале ни в списке документов
9 laby1
 
25.04.16
14:37
(8) Да
10 Маратыч
 
25.04.16
14:38
(9) А в чем проблема? Создаешь форму списка, если ее нет, и при получении данных отборы лепишь.
11 ЛучшийПрограммер1С
 
25.04.16
14:38
(9) Как-то через RLS наверное
12 Маратыч
 
25.04.16
14:38
+(10) То же самое в других журнала, где п/п имеются.
13 laby1
 
25.04.16
14:39
(10) Так там уже в УПП все формы есть
14 Маратыч
 
25.04.16
14:39
(11) Ну если RLS не включен, то лучше его и не теребонькать ради такой элементарной задачи.
15 laby1
 
25.04.16
14:39
(14) А шо?
16 Маратыч
 
25.04.16
14:41
(13) Тем более, тогда лезешь в модуль формы и обработчики свои пилишь.

Как-то вот так еще можно:
    Если РольДоступна("БухгалтерФилиала") ИЛИ РольДоступна("БухгалтерФилиала2") Тогда
        ЭтаФорма.ЖурналДокументовСписок.Отбор.СпособВыплаты.ВидСравнения = ВидСравнения.Равно;
        ЭтаФорма.ЖурналДокументовСписок.Отбор.СпособВыплаты.Значение = Перечисления.СпособыВыплатыЗарплаты.ЧерезКассу;
        ЭтаФорма.ЖурналДокументовСписок.Отбор.СпособВыплаты.Использование = Истина;
        //Запретим пользователю менять отбор
        ЭлементыФормы.ЖурналДокументовСписок.НастройкаОтбора.СпособВыплаты.Доступность = Ложь;
    КонецЕсли;

(15) Оно ощутимо влияет на скорость работы.
17 Маратыч
 
25.04.16
14:41
+(16) Это в модуле формы, процедура ПередОткрытием()
18 Джинн
 
25.04.16
14:44
Все конторы дружно пытаются скрыть зарплату сотрудников... Во всех конторах все сотрудники тем не менее знают зарплаты своих коллег и руководителей... Можно базу не открывать, а постоять 5 минут в курилке.
19 Маратыч
 
25.04.16
14:45
(18) С филиалами не все так однозначно :)
20 laby1
 
25.04.16
14:45
(17) То есть я смотрю по ролям. Сделать доп роль "СмотретьЗП", назначить ее профилям или прям людям (тут я еще не разобрался) и типа такого кода Если НЕ РольДоступна("СмотретьЗП") Тогда
ЭтаФорма.ЖурналДокументовСписок.Отбор.ВидОперацииПеречисления<>ВидыОперацийППИсходящее.ПеречислениеЗП
21 Маратыч
 
25.04.16
14:46
+(19) У нас я так ограничил премиальные, которые перечисляются безналом из центра. А они у некоторых должностей поболе зряплаты бывают и их действительно не стоит коллегам видеть во избежание ненужных разговоров и обид.
22 asady
 
25.04.16
14:46
(0) Вот в чем смысл закрывать документы и не закрывать доступ к проводкам? может объяснишь
23 Маратыч
 
25.04.16
14:47
(20) Да, я через роли решил, у меня только от обратного - если это бух. филиала, то он не видит. А других пользователей в филиалах нет, только бухи и помощники.
24 laby1
 
25.04.16
14:47
(22) Чтоб отъе*лись
25 laby1
 
25.04.16
14:49
(21) У меня тут в приказе написано "устранить слухи, сплетни, негативные суждения и домыслы, курсирующие на предприятии" )))
26 laby1
 
25.04.16
14:50
(23) А как там роль вобще сделать и назначить новую, чото не найду
27 ДенисЧ
 
25.04.16
14:51
(25) Устрани их полной открытостью выплат. Всех.
28 Маратыч
 
25.04.16
14:51
(26) Эээм... Конфигурация - Общие - Роли.
29 laby1
 
25.04.16
14:52
(28) А, блин, в конфигураторе
30 ЛучшийПрограммер1С
 
25.04.16
14:53
(27) Не, там еще написано "ограничить доступ (чтоб даже и не видели)"
31 laby1
 
25.04.16
14:54
(30) Ага, откуда знаешь?
32 catena
 
25.04.16
14:56
(25)Работала я как-то на одном предприятии, зп закрыта была достаточно каКчественно. Но периодически скандалы проскакивали и каждый раз собиралась комиссия по тестированию функционала закрытости. И каждый раз проблема оказывалась в человеческом факторе. Так один раз выяснилось, что бухи печатали ведомости для сверки, а потом кидали эти бумажки в кучу общих черновиков. Так что, не стоит под таким приказом подписываться-то.
33 laby1
 
25.04.16
14:57
(32) Так в приказе написано "Срочно реализовать"
34 laby1
 
25.04.16
14:58
Мне так вобще пох какая там у кого зп
35 asady
 
25.04.16
15:01
(0) с таким подходом тебе корову не продать тьфууу.. доступ не ограничить....
36 laby1
 
25.04.16
15:01
(23) В принципе, мысль понятно, буду пробывать, спасибо.
37 ДенисЧ
 
25.04.16
15:02
(36) У тебя на клавиатуре буква Ё не работает...
38 laby1
 
25.04.16
15:02
(35) Предложи подход. Я же и спрашиваю, с какого ракурса ё маё зайти!
39 Мэс33
 
25.04.16
15:05
(38) если на счете есть аналитика - и народу кривые ОСВ не нужны, то закрыть полностью ЗП не получится.
Вариантов ровно два:
1) Зп считать в отдельной базе, выгружать сводными проводками
2) на счете убрать аналитику "работники", аналитика будет в упр.учете, к которому закрыть доступ можно.

Есть и вариант 3):
- закрыть с помощью RLS доступ к счетам.. но ОСВ полетит.
40 catena
 
25.04.16
15:05
(38)Скрыть документы, скрыть проводки, скрыть в отчетах... Другого подхода быть не может. Только выносить в отдельную базу.
41 Мэс33
 
25.04.16
15:05
(38) это известная проблема, на этом же форуме около 100500 подобных тем. Или даже больше.
42 ifso
 
25.04.16
15:42
(25) вотвечай: для окончательного устранения слухов, сплетен, негативных суждений и домыслов, курсирующих на предприятии необходимо устранить слухи, сплетни, негативные суждения и домыслы, курсирующие на предприятии о курсировании на предприятии слухов, сплетен, негативных суждений и домыслов
как-то так ^^
43 aleks_default
 
25.04.16
15:59
запретите перекуры
44 laby1
 
25.04.16
16:09
Чото отбор не вклучается

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
//    Если НЕ РольДоступна("ПросмотрЗП") Тогда
        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.ВидСравнения = ВидСравнения.НеРавно;
        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.Значение = Перечисления.ВидыОперацийППИсходящее.ПеречислениеЗП;
КонецПроцедуры
45 laby1
 
25.04.16
16:15
во, забыл:
        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.Значение = Перечисления.ВидыОперацийППИсходящее.ПеречислениеЗП;

Но пользователь же может сам зайти и убрать этот отбор???
46 laby1
 
25.04.16
16:15
(45) Тю, не то:

        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.Использование = Истина;
47 laby1
 
25.04.16
16:28
(46) Вот я баран, все же написал Маратыч
48 aleks_default
 
25.04.16
16:30
(47) Если пользователи умеют пользоваться консолью запросов, то не поможет.
49 laby1
 
25.04.16
16:31
(48) Да не все программеры могут )))
50 laby1
 
25.04.16
16:34
Фигня какая-то

{Документ.ПлатежноеПоручениеИсходящее.Форма.ФормаСписка.Форма(72)}: Поле объекта не обнаружено (НастройкаОтбора)
        ЭтаФорма.ДокументСписок.НастройкаОтбора.ВидОперации.Доступность = Ложь;
51 Маратыч
 
26.04.16
06:05
(50) Я из журнала документов код выдернул, тебе в форме списка нужно ДокументСписок.Отбор юзать.
52 elisabet
 
26.04.16
08:19
Прежде чем писать на форум надо было посмотреть за что отвечает роль "Выплата заработной платы", сразу бы вопрос из (0) полностью отпал. Сразу видно что человек не привык сначала думать, а сразу машет топором.
53 Маратыч
 
26.04.16
09:02
(52) Не всегда годится. Мне, например, надо было ограничить только видимость безналичных платежей для бухгалтерии в филиалах. Наличку они, ессно, должны были видеть, т.к. выдавали через кассу.
54 laby1
 
26.04.16
09:17
(52) А как мне понять, за что она отвечает?
55 elisabet
 
26.04.16
09:18
(52) Через RLS тоже не всегда взлетает, потому как права суммируются - там где больше права, то и показывается, а ограничение в коде на какую либо роль - вообще полный бред.
56 Маратыч
 
26.04.16
09:19
(54) Дык открыть роль да посмотреть.
57 Маратыч
 
26.04.16
09:19
(55) >ограничение в коде на какую либо роль - вообще полный бред.

Предложите, как ограничить видимость платежных ведомостей по типу выплат (нал/безнал) без ограничений в коде и RLS?
58 elisabet
 
26.04.16
09:26
(57) только через RLS - ограничение сделать именно к документам - п/п и РКО. Для роли "Выплата з/п" в них дописать условие следующим образом:

ТекущаяТаблица
ИЗ
    #ТекущаяТаблица КАК ТекущаяТаблица
#Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоПодразделения #Тогда
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            СоставГруппы.Ссылка КАК ГруппаПользователей
        ИЗ
            Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
        ГДЕ
            СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
        ПО (ИСТИНА)
#КонецЕсли
ГДЕ
(ТекущаяТаблица.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийППИсходящее.РасчетыПоКредитамИЗаймамСРаботниками)
ИЛИ ТекущаяТаблица.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийППИсходящее.ПеречислениеЗП))
и дальше по коду RLS, для всех остальных ролей - условие будет не равно. Ну и соответственно проверить, что нигде не накосячили.
59 Маратыч
 
26.04.16
09:30
(58) Включать RLS, если он не включен, ради такой примитивной задачи - это пушкой по воробьям. Оно на быстродействие влияет далеко не в лучшую сторону.
60 Маратыч
 
26.04.16
09:30
+(59) То бишь вопрос в том, стоит ли овчинка выделки. Я бы ради одной задачи вроде (0) RLS не трогал.
61 elisabet
 
26.04.16
09:33
(60) у меня была другая задача - отсечь всех власть неимущих от сумм з/п выплачиваемой, при количестве пользователей более 250 человек, размер базы вообще террабайтами измерялся.
62 laby1
 
26.04.16
09:34
(56) Там чего-то много всего ...
63 laby1
 
26.04.16
09:35
(61) Вы что-то сильно умная, не пугайте простых земных типа меня.
64 Маратыч
 
26.04.16
09:36
(61) А, это более комплексная задачка, там и подход другой нуна. Полагаю, с 250 юзерами на момент постановки задачи RLS уже было включено, т.к. для других ограничений использовалось.
65 laby1
 
26.04.16
09:37
(51) Что-то я не найду как мне доступность поля в отборе для формы списка
66 laby1
 
26.04.16
09:37
(64) Ну да, у нас RLS отключен
67 ЛучшийПрограммер1С
 
26.04.16
09:41
Так я всё же ничего не понял, что мне делать?
68 laby1
 
26.04.16
09:41
(67) Чо?
69 Маратыч
 
26.04.16
09:43
(65)         ЭлементыФормы.ДокументСписок.НастройкаОтбора.<ТвойОтбор>.Доступность = Ложь;
70 laby1
 
26.04.16
09:43
(58) В чем тут смысл кода?
71 laby1
 
26.04.16
09:44
(69)
{Документ.ПлатежноеПоручениеИсходящее.Форма.ФормаСписка.Форма(72)}: Поле объекта не обнаружено (НастройкаОтбора)
72 laby1
 
26.04.16
09:46
(60) А как RLS на быстродействие повлияет реально - клиент-серверная база, 100 юзеров, УПП ?
73 laby1
 
26.04.16
09:46
(58) У меня вобще нет групп пользователей
74 Маратыч
 
26.04.16
09:49
(71) Тебе нужно вообще-то ФормаСпискка.ДокументСписок - ты же отбор у элемента формы ставишь, а не у всей формы.
75 Маратыч
 
26.04.16
09:51
(72) Смотря какие и сколько ограничений, но вообще скажу - существенно. Весьма.
76 Маратыч
 
26.04.16
09:51
+(75) Тебе по сути к каждому запросу будет еще один от RLS идти на проверку прав.
77 laby1
 
26.04.16
09:53
(74)

ЭтаФорма.ДокументСписок.НастройкаОтбора.ВидОперации.Доступность = Ложь;

У документСписок нет свойства настройкаОтбора
78 Маратыч
 
26.04.16
09:53
(77) Не ЭтаФорма, а ЭлементыФормы...
79 laby1
 
26.04.16
09:53
(76) И не важно какие таблицы используются - для всех запросов?
80 Маратыч
 
26.04.16
09:54
(79) Ну если у тебя RLS на справочник наложено, будет при каждом запросе к справочнику.
81 laby1
 
26.04.16
09:59
(78) Вона чего! Спасибо!
82 laby1
 
26.04.16
10:00
(80) Тогда не так страшен этот RLS
83 laby1
 
26.04.16
10:25
(78) Та не, там тоже ничего не сделаешь
84 Маратыч
 
26.04.16
10:29
(83) Покажи весь кусок кода с отбором.
85 laby1
 
26.04.16
10:42
Это устанавливает отбор, но для пользователя оно доступно для изменения


Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
//    Если НЕ РольДоступна("ПросмотрЗП") Тогда
        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.ВидСравнения = ВидСравнения.НеРавно;
        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.Значение = Перечисления.ВидыОперацийППИсходящее.ПеречислениеЗП;
        ЭтаФорма.ДокументСписок.Отбор.ВидОперации.Использование = Истина;
        
КонецПроцедуры
86 Маратыч
 
26.04.16
10:46
Чот я уже хз, у меня-то пахает :)

Попробуй:
ЭтаФорма.ЭлементыФормы.ДокументСписок.НастройкаОтбора.ВидОперации.Доступность = Ложь

Как-то прям недоумеваю даже.
87 laby1
 
26.04.16
10:50
ЭтаФорма.ЭлементыФормы.ДокументСписок.НастройкаОтбора.ВидОперации.Доступность    {(1)}: Поле объекта не обнаружено (ДокументСписок)
88 Маратыч
 
26.04.16
10:53
(87) Тэкс.
1. Ты пишешь все в модуле формы?
2. Табличное поле списка документов называется ДокументСписок?

Скинь скриншот своей формы списка с ее свойствами.
89 laby1
 
26.04.16
10:55
(88) Спасибо.

ЭтаФорма.ЭлементыФормы.Список.НастройкаОтбора.ВидОперации.Доступность
90 Маратыч
 
26.04.16
10:57
(89) Ну вы, блин, даете (с) :)
91 laby1
 
26.04.16
11:03
(90) Да уж!
92 Лефмихалыч
 
26.04.16
11:05
(0) самый проходной вариант - считать в отдельной базе, где ни кого нет и допуск выдается под роспись главного, а в общую базу от туда сводно выгружать без сотрудников.
Все остальные мерв с правами и отборами просто суета и на выходе те, кому надо узнать, будет чуть больше просто уставать и всё, да и то - только, если ты сильно устанешь это делая.
93 laby1
 
26.04.16
11:10
(92) Всё же интересно потеребонькаться и с RLS. В отдельную базу это слишком круто для меня.
94 Лефмихалыч
 
26.04.16
11:12
(93) RLS не проще для тебя. Потому, что ценой решения с RLS будет наведение порядка в ролях, правах и, как следствие, процессах
95 Маратыч
 
26.04.16
11:14
(93) Попробуй развернуть тестовую базу и поиграть с RLS, особенно замерить время проведения документов и формирования отчетов по регистрам, на которые наложено RLS.
96 Лефмихалыч
 
26.04.16
11:19
+(94) не говоря у же о том, что это целая война за производительность. И в этой войне у тебя вся армия из пехоты состоит
97 Лефмихалыч
 
26.04.16
11:21
а стратегических результатов зерграшем добиться не возможно - это доказано всей историей военных конфликтов человечества. За пруфами можно Лиддел Гарта почитать
98 laby1
 
26.04.16
11:22
(95) Так я в RLS хочу только просмотр строк по оплате зп хочу
99 Лефмихалыч
 
26.04.16
11:24
(98) в 1С действует политика разрешения. По этому не возможно создать ЗАПРЕЩАЮЩУЮ роль. Можно только из всех ролей забрать разрешение на какое-то действие. Таким образом, чтобы решить сабж при помощи RLS, тебе надо будет во все роли, имеющие права на чтение нужных данных, всунуть свой RLS.
100 Маратыч
 
26.04.16
11:25
(98) Придется тогда остальные типовые шаблоны вычищать из конфигурации.

И вообще, глянь сюда: http://programmist1s.ru/nastroyka-rls-ogranichenie-dostupa-na-urovne-zapisey-1s/

... и подумай, стоит ли с этим связываться и тратить попусту время, когда решение задачи уже найдено :)
101 laby1
 
26.04.16
11:44
(99) (100) Уговорили. Не буду эрэлысить пока. )
102 laby1
 
26.04.16
11:46
Попробую RLS для начала на своей конфигурации.
103 laby1
 
06.05.16
13:30
Вобщем сделал так:

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

Но теперь проблема в том, что пользователи хотят делать отбор по этому полю, а там теперь заблокирована возможность изменить отбор...

Как можно по другому решить не прибегая к рлс?
104 laby1
 
06.05.16
13:42
Может дать возможность менять отбор и как-то залезть в обработчик, когда пользователь выбрал отбор после этого добавить в отбор нужное условие?
105 laby1
 
06.05.16
13:49
(104) Только как?
106 laby1
 
06.05.16
14:22
а ?