Задача: в организации 3 филиала. Соответственно в каждом есть менеджеры и НОП. Как сделать так чтоб НОП первого филиала видел записи свои и только своих менеджеров? Второй - соотв только своих менеджеров. Задача упрощается если есть какой-то механизм вручную на php формировать условия в правилах???
1
Сообщений в теме: 8
#1
Отправлено 30 Сентябрь 2015 - 10:21
#2
Отправлено 30 Сентябрь 2015 - 11:08
Для трех филиалов в принципе можно сделать 3 отдельных правила, т.е. обойтись без вычислений.
#3
Отправлено 30 Сентябрь 2015 - 11:59
Т.е. не совсем понимаю???? У меня есть: Иванов - НОП Ростов, Сидоров - мен Ростов, Петров - НОП Сочи, Серёгин - мен Сочи.... Плюс в последствии менеджеры могут добавляться в подразделении..
Мен нужно в условии для каждой таблицы писать если "Кто добавил" = Иванов или "Кто добавил" = Петров, чтоб сделать правило для Ростова?
И если в Ростов поступит Харитонов, то для каждой таблицы дописывать правила?
Мен нужно в условии для каждой таблицы писать если "Кто добавил" = Иванов или "Кто добавил" = Петров, чтоб сделать правило для Ростова?
И если в Ростов поступит Харитонов, то для каждой таблицы дописывать правила?
#4
Отправлено 30 Сентябрь 2015 - 12:01
удобно было бы в пользователе добавить поле "Подразделение", а в условии указать что-то вроде "Кто добавил".Подразделение = Ростов. Что-т в этом роде можно реализовать?
#5
Отправлено 30 Сентябрь 2015 - 13:09
Для менеджеров достаточно универсального правила "Менеджер равно текущий", раз они видят только свои записи. Речь шла о начальниках, если их всего 3 (по одному на филиал), то достаточно и персонального правила для каждого "Подразделение равно такому-то". Я именно так понял слово "НОП" (а вы не расшифровали, что это значит). Естественно, в этом случае в каждой таблице должно быть поле Подразделение, которое может заполняться автоматически вычислением, исходя из того, какой Менеджер добавил запись (для чего необходимо указывать подразделение каждого менеджера в таблице сотрудников).
#6
Отправлено 30 Сентябрь 2015 - 13:20
Цитата
удобно было бы в пользователе добавить поле "Подразделение", а в условии указать что-то вроде "Кто добавил".Подразделение = Ростов. Что-т в этом роде можно реализовать?
Во-первых, пользователи - это служебная таблица, какие-либо изменения там невозможны, в частности добавление каких-то своих полей. Для добавления свойств можно использовать таблицу Наши сотрудники, например, т.е. любую таблицу, где есть привязка пользователей к записям через поле с типом "пользователь".
Во-вторых, подобные многоуровневые конструкции не поддерживаются в мастере условий. Ни для полей связи, ни для полей с пользователем.
#7
Отправлено 30 Сентябрь 2015 - 13:29
Ясно, геморрой конечно конкретный в каждую таблицу пихать "подразделение". Можно попросить в следующих релизах сделать более простое решение этого вопроса? Потому что вопрос распространённый и имеет популярность в случае многофилиальной структуры предприятия.
#8
Отправлено 30 Сентябрь 2015 - 14:23
Вы можете добавить предложение по доработке через программу (страница "Связь с разработчиком").
#9
Отправлено 30 Сентябрь 2015 - 20:38
Сделайте три поля типа "Пользователь" в таблице. Сделайте в них автозаполнение по содержанию аналогичных полей в таблице подразделения. В таблице подразделения в этих полях укажите пользователей, соответствующих начальнику, менеджеру, НОП. Если их несколько, сделайте поле множественным и тут и в нужной для разграничения таблице. Создайте фильтр видимости по условию
если Пользователь 1 равен текущему (или содержит текущего пользователя) или Пользователь 2 равен текущему (или содержит текущего пользователя) или Пользователь 3 равен текущему (или содержит текущего пользователя) выводить запись - и вуаля! При создании новой записи вы указываете подразделение, а коды доступа подтягиваются по ссылкам. Если будете обновлять ссылки при показе, это немного нагрузит систему, но будет поддерживать в актуальном состоянии и будет работать при смене менеджеров. Но лучше сделать условие "при сохранении" и кнопку пересчета или расчет при изменениия соответствующего поля в таблице подразделений. Там надо будет просто сделать перебор по таблице с заменой содержимого в полях пользователей на новые значения. Несколько сумбурно объяснил, наверно. Но у меня работает такой алгоритм.
если Пользователь 1 равен текущему (или содержит текущего пользователя) или Пользователь 2 равен текущему (или содержит текущего пользователя) или Пользователь 3 равен текущему (или содержит текущего пользователя) выводить запись - и вуаля! При создании новой записи вы указываете подразделение, а коды доступа подтягиваются по ссылкам. Если будете обновлять ссылки при показе, это немного нагрузит систему, но будет поддерживать в актуальном состоянии и будет работать при смене менеджеров. Но лучше сделать условие "при сохранении" и кнопку пересчета или расчет при изменениия соответствующего поля в таблице подразделений. Там надо будет просто сделать перебор по таблице с заменой содержимого в полях пользователей на новые значения. Несколько сумбурно объяснил, наверно. Но у меня работает такой алгоритм.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных