Имя: Пароль:
1C
1С v8
Учет прав доступа к ПО
0 crueltytanya
 
11.10.12
11:25
Учусь 1С. Такая вот задачка:
Есть справочник Сотрудники.
Есть справочник ПО (программное обеспечение) в нем есть ТЧ "Доступ"
В эту табличную часть заносятся данные о правах доступа к ПО. Например, "чтение", "запись".  для другого элемента справочника, это будет "Бухгалтер", "Директор". Для третьего еще что-то.
Цель: Учет прав доступа сотрудников.

Решение: Регистр сведений (периодический).
Измерения: Сотрудник, ПО
Реквизиты регистра: Права доступа

Дополнительно думаю добавить "Актуальность" типа Булево, для обозначения актуальной записи.

Но тогда не могу придумать как изменять эту актуальность если доступ с пользоватлея сняли.
Может есть какие предложения и задумки... прошу подсказать. Будет ли это все работать? Или вообще все в корне не правильно?
1 crueltytanya
 
11.10.12
11:45
И еще уточнение, как записывать в регистр значение Права доступа, если значения содержаться в ТЧ справочика? Просто в виде текста наверное неправильно.
2 ptiz
 
11.10.12
11:47
Объясни задачу простыми словами.
3 crueltytanya
 
11.10.12
11:55
(2) В организации есть куча разного ПО, куча сотрудников, у каждого ПО куча вариантов прав доступа к нему (Программа 1- "админ", "бухгалтер", "директор", программа 2 - "чтение", "запись").

Необходимо вести учет Прав доступа к ПО, в разрезе ПО и в разрезе сотрудников.
Периодичность учитывается.
Но так же нужно отслеживать "историю", как изменялись права у сотрудников.
4 ptiz
 
11.10.12
12:18
Ексель.
5 GaikA_13rus
 
11.10.12
12:26
А причем тут 1С?
6 Cashtane
 
11.10.12
12:34
(5) Ну она обучается 1С, логично что задание - реализовать на 1С.
(0) Кто такие задания ставит? Это задание только для обучения?
7 mistеr
 
11.10.12
13:10
Поскольку "у каждого ПО куча вариантов прав доступа к нему", то назначается сразу множество прав. В РС множество не сохранишь, но можно хранить в ТЧ справочника.

Например

РС Назначенные права доступа, периодический
   Измерения
       Куда    С ПО
       Кому    С Сотрудники
   Ресурсы
       Права   С Наборы прав
   Реквизиты
       Кто назначил    С Пользователи

С Наборы прав
   Реквизиты
       ДляПО  С ПО
   ТЧ Права
       Право   С Права

С Права
   Реквизиты
       ДляПО   С ПО

Снятие доступа - это назначение набора с пустой ТЧ Права.
8 crueltytanya
 
12.10.12
04:28
(6) начальник на работе узнал что учу 1С и теперь задания придумывает :)
А вообще работа с 1С вообще никаким боком не связана.
Зато хоть какой-то опыт. :)
9 crueltytanya
 
12.10.12
04:45
(7) тут тогда справочник "Наборы прав" разрастется жутко... Сложновато будет ориентироваться в нем...
Этих наборов может быть очень много.  Например, в одном приложении 42 варианта доступа. Для примера, если взять сочетание к=10 n=42, то уже до фига получается. :(

Может как то можно Наборы прав по-другому организовать?
10 crueltytanya
 
12.10.12
05:01
(7) попробовала, справочник "Наборы прав" реально огромный получится...
Вообще мне нравится этот вариант, только вот справочник "Наборы прав" слишком большой будет.
11 crueltytanya
 
12.10.12
05:07
А вообще относительно вопроса хранения множества... Есть какое - то типовое решение? У меня много раз возникал такой вопрос. Но что-то не нашла ничего об этом.
12 osa1C
 
12.10.12
05:21
(9) Что значит 42 варианта доступа в одном приложении поясни? Варианты доступа:
1. Полный доступ
2. Только чтение
.....
Что ещё у тебя?..
13 osa1C
 
12.10.12
05:30
(10) Как может разрастаться Справочник НаборыПрав? Справочник имеет почти фиксированный размер и зависит только от количества ПО ! А права на каждое ПО хранятся в табличной части справочника и выбираются из справочника Права, где действительно (если тебе это надо) хранится 42 записи прав доступа...
14 crueltytanya
 
12.10.12
05:49
(12) Прога1:
1. Загрузка форм Заказчик 1
2. Загрузга форм Заказчик 2
...
21. Загрузка данныз Заказчик 21
22. Внесение данных Заказчик 1
23. Внесение данных Заказчик 2
...
42. Внесение данных Заказчик 21

Прога2:
1. Бухгалтер
2. Бухгалтер ограничения
3. Кассир
и пр...

Прога3:
1. Чтение
2. Запись

Этих прогамм около 30-40 штук и у каждой свои варианты прав доступа.

И например, сотрудник может иметь права доступа из Проги1: 1,2,3,22,24,25
Из Проги2: 2,3
Из Проги3: 1
15 osa1C
 
12.10.12
05:53
ты хочешь сказать, что если пользователь имеет право ВнесениеДанных Заказчик1, то может не иметь права ВнесениеДанных Заказчик2 ?
16 crueltytanya
 
12.10.12
05:54
(13) Так дело в том, что вариантов прав для проги1 (см. 14) может быть огромен
17 crueltytanya
 
12.10.12
05:55
(15) да. и при этом он может иметь права на ВнесениеДанных Заказчик1, но не иметь права Загрузка форм Заказчик 1.
и наоборот.
18 crueltytanya
 
12.10.12
06:04
Сложность в том, что существую множество вариантов прав доступа, по каждому ПО. (за исключением нескольких)
19 osa1C
 
12.10.12
06:11
(17) Очень странно 8), обычно бывает что наоборот один пользователь работает с группой заказчиков, а другой с другой группой (тогда можно ввести отдельный справочник ГруппыЗаказчиков например), но чтобы так... А про этих Заказчиков, Пользователь может иметь только одно право? или скажем один все 42, другой 41, третий сорок и т.д.?

Про все остальные программы довольно просто:
1. Бухгалтер
2. Бухгалтер ограничения
3. Кассир
Это видимо 1С
1. Чтение
2. Запись
ЭТО ЕДИНООБРАЗНЫЕ ПРАВА ДЛЯ ВСЕГО ОСТАЛЬНОГО ПО

Просто дальше выбираешь:
Пользователь   === Пупкин
  и в ТЧ:
ПО             === Word   Права: Запись
ПО             === Excel  Права: Чтение   (ну не умеет он Excel пользоваться может напортачить)
ПО             === 1С     Права: Бухгалтер ограниченная

Пользователь  === Пупыркин
ПО             === Word   Права: Запись
ПО             === Excel  Права: Чтение
ПО             === 1С     Права: Бухгалтер
20 crueltytanya
 
12.10.12
06:18
(19) "А про этих Заказчиков, Пользователь может иметь только одно право? или скажем один все 42, другой 41, третий сорок и т.д.?" - Может только одно право иметь, другой все, другой 42, другой 20, как руководство назначит.

1С это вот это:
1. Бухгалтер
2. Бухгалтер ограничения
3. Кассир

:) и для 1С они не всегда единообразные.. почему не знаю. :(
21 crueltytanya
 
12.10.12
06:20
(19) для не единообразных прав возможно так организовать:

Пользователь  === Пупыркин
ПО             === Word   Права: Запись
ПО             === Excel  Права: Чтение
ПО             === 1С     Права: Бухгалтер
ПО             === 1С     Права: Кассир
22 osa1C
 
12.10.12
06:25
(21) так оно и должно быть организовано
(20) про этих Заказчиков... все-таки надо подумать КАК сгруппировать их наборы прав... потому что МАХ возможных вариантов 2^42, это действительно много
23 osa1C
 
12.10.12
06:28
+ (22) я думаю, что группировка всё равно должна идти по Заказчикам... т.к. я не понимаю логики процесса: как Пользователь может ВноситьДанные Заказчик1, но НЕ имеет права ЗагрузкаФорм Заказчик1
24 crueltytanya
 
12.10.12
06:40
(23) потому что объемы у заказчиков разные и идет разделение в зависимости от объемов, то есть на одного закачика 2 сотрудника. а на другого может 10 сотрудников быть.
25 osa1C
 
12.10.12
06:52
(24) А что имеется ввиду под ЗагрузкойФорм? что за формы? это формы отчётности или.....?  И главное: Почему один пользователь (в не зависимости от того 2 или 10 у него Заказчиков) не имеет одновременно Прав ВнесениеДанных и ЗагрузкаФорм для одно заказчика? Как например пользователь может проверить правильность им-же внесённых данных?
26 crueltytanya
 
12.10.12
07:01
(25) вроде формы отчетности загружают, даже если не ошибаюсь в виде *.xls файла. Есть сотрудник, который всех проверяет.
Если честно это не в моей копметенции знать, куда и почему пользователь имеет доступ. Мне просто так сказали...
27 osa1C
 
12.10.12
07:05
(25) + считаю что пользователь должен иметь полные права по Заказчику с которым он работает (иначе не вижу смысла в работе пользователя). Некоторые пользователи могут иметь  право просмотра информации по одному или нескольким Заказчикам. Тогда Набор прав сводится к ПолныеПравамЗаказчик1, ПолныеПравамЗаказчик2 ...ПолныеПравамЗаказчикN и ТолькоЧтениеЗаказчик1, ТолькоЧтениеЗаказчик2 ... ТолькоЧтениеЗаказчикN
28 crueltytanya
 
12.10.12
07:13
(27) скажем так, сотрудник имеет права только на то с чем он имеет право работать, то есть в части например отчетности он может загружать форму, но для внесения данных он не имеет права, но, например, просматривать может. Так же этот же сотрудник может временно заменять другого, соотвественно ему права могут передать на время. Могут временно права одного сотрудника раздать нескольким сотрудникам, пока тот отсутствует.
А оспаривать оптимальность работы я не имею права. :)
29 Мимохожий Однако
 
12.10.12
07:30
РС Набор прав. Периодический. Измерения: Пользователь, Объект(ПО), Операция. Ресурсы: Логин, Право. Реквизиты: Дополнительные сведения.
Неплохо на бумажке нарисовать структуру отчетов для этого учета.
30 osa1C
 
12.10.12
07:39
(28) ... тогда создавай справочник Права, загоняй в него 42^2(42 в0 2 степени значений вариантов прав это 1 764 значения) + возможные права на другие программы.

Создай документ УстановкаПрав с
Реквизиты:
Сотрудник С Пользователи (или Сотрудники, смотря как у вас там организованно)
ТЧ Права:
  ПО     с или лучше Справочник ПО (тогда его надо создать)
  Права  С Права

Документ будет записывать данные в РС, просматривать данные из РС можно напрямую, но удобней создать Отчёт. Промежуточный справочник НаборПрав убей..
31 osa1C
 
12.10.12
08:10
(30) ошибся я.... :\ число возможных прав для твоих Заказчиков (в том виде как ты это описывала) будет составлять
2^42 = 4 398 046 511 104 вариантов, и это только для одной программы.... по сравнению с этим числом число прав на другие программы выглядит ничтожным

Хранить набор прав ты можешь либо в справочнике, либо в РС, либо даже можешь завести константу НаборПрав (не советую при таких объёмах). Но лучше обсудить набор прав с руководством и оптимизировать их, если это конечно боевая задача, а не учебная...

Других вариантов я пока не вижу, может кто другой придумает что-то лучшее
32 crueltytanya
 
12.10.12
08:23
(31) задача учебная, но должна быть боевой!
вот что подумала..
Справочники:
Сотрудники
ПО
Права

Справочник Права в нем сделать группы по наименованию ПО и на форме группы сделать поле установки родителя для элементов группы.

И все. :)
И в регистр писать:
Сотрудник, ПО, Права, актуальность.

:)

Мне кажется это самое удобное будет. :)
Не?
33 osa1C
 
12.10.12
08:41
(32) вот видишь ты умница! ))) тоже неплохой вариант придумала... но количество прав меня всё равно убивает... 4 слифигом ТРИЛЛИОНА записей.... интересно если реально создать такой 1С будет с ним работать? или будет вылететать от недостатка памяти... да, ещё интересно хоть краем глаза увидеть того героя который сможет внести столько НЕ УНИКАЛЬНЫХ записей в справочник
34 crueltytanya
 
12.10.12
08:41
(33) не это не реально, первый вылетит пользователь...
35 osa1C
 
12.10.12
08:42
(33) *** УНИКАЛЬНЫХ без не =)
36 crueltytanya
 
12.10.12
08:42
(33) хоть кто-то похвалил.... Спасибо. :)
37 osa1C
 
12.10.12
10:21
(36) ну как? получилось?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс