Перейти к содержимому


Разграничение доступа


Сообщений в теме: 12

#1 AlanDess

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 03 Август 2011 - 11:53

У нас в компании есть 3 отдела, которые занимаются продажами различный продуктов. Следовательно у них у всех свои клиентские базы. Внутри каждого из отделов сотрудник может видеть свои фирмы. Сначала, хватало условия, что поле "Название" уникально. Т.е. сотрудник начинал добавлять запись о компании, ему выдавалось, что такая запись уже существует и он переставал с ней работать.

Но люди из разных отделов, продающие разные продукты, базы клиентов могут пересекаться. Эта проблемы была решена отменой условия уникальности названия компании. Теперь в клиентской базе может быть несколько записей, касающихся одной фирмы, но относящихся к разным отделам.

Теперь вопрос. Возможно ли сделать так, чтобы одной компании соответствовала только одна строчка в базе и с ней могли работать несколько человек (но каждый из них должен быть из разных отделов)?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Август 2011 - 16:02

Я так понимаю Вы используете стандартную конфигурацию, в которой менеджер видит только своих клиентов (т.е. те, в которых в поле Менеджер проставлен он)? Или доступ разграничивается как-то иначе? Если иначе - опишите как именно (какие фильтры, по каким полям и т.п.)

#3 AlanDess

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 03 Август 2011 - 16:40

Просмотр сообщенияРазработчик (3.8.2011, 16:02) писал:

Я так понимаю Вы используете стандартную конфигурацию, в которой менеджер видит только своих клиентов (т.е. те, в которых в поле Менеджер проставлен он)? Или доступ разграничивается как-то иначе? Если иначе - опишите как именно (какие фильтры, по каким полям и т.п.)

Ну да, в основном, используется фильтр "Мои компании".

У меня ещё была мысль для всех трёх отделов сделать отдельные поля "менеджер" и, соответственно, для каждого отдела будет свой фильтр "мои компании"... Но уж больно это мудрёно получается.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Август 2011 - 16:48

Тогда последовательность действий следующая:
а) включаете в настройках поля "Менеджер" пункт "множественный выбор"
б) в фильтре "Мои компании" (и в других, где есть поле "менеджер") меняете условие `Менеджер`='{current}' на `Менеджер` LIKE '%-{current}-%'

В результате получаете возможность привязывать одного клиента к нескольким менеджерам.

#5 AlanDess

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 04 Август 2011 - 08:38

Спасибо, сегодня попробую

#6 Supokna

    Активный участник

  • Пользователи
  • PipPipPip
  • 68 сообщений

Отправлено 04 Август 2011 - 11:34

Действительно нужная вещь.

Я когда пытаюсь это реализовать на версии 1.9.4. ревизия от 3.08.2011, выдает ошибку:

Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '}) ORDER BY fio' at line 1
SELECT id, fio FROM f_users WHERE arc=0 AND id in ({current}) ORDER BY fio
in C:\Program Files\MSTL\ClientBase\www\include\functions1.php on line 805

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Август 2011 - 16:13

Ошибку исправили, обновите ревизию.

#8 AlanDess

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 05 Август 2011 - 11:39

Ещё вопросик, он тоже касается доступа.

Есть группа пользователей (менеджеры). У них по умолчанию стоит фильтр "Мои компании" (больше им никакие филтры не доступны). По идее, чужие они видеть не должны. Так оно и происходит. Грузятся только компании, где в поле "Менеджер" стоит их имя. Но, если воспользоваться поиском (не расширенным, а обычным) и ввести название компании, принадлежащей другому менеджеру, то она находится. И более того, её можно даже редактировать! Ладно, с тем, что любой менеджер может с помощью обычного поиска узнать информацию о компаниях своих коллег, ещё можно смириться. Но как хотя бы убрать возможность редактирования чужих записей?

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Август 2011 - 11:41

Это все регулируется расширенными правами. Зайдите в настройки поля "Кто добавил" и отрегулируйте доступ.

http://clientbase.ru...n_16/ad_access/

#10 AlanDess

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 05 Август 2011 - 11:57

Что конкретно в настройках поля "Кто добавил" нужно изменить, чтобы, пользуясь поиском, пользователь мог находить только компании, позволяемые текущим фильтром?

#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Август 2011 - 12:34

Доступ к полям на чтение. Вы документацию посмотрели? Если что-то непонятно, можно связаться с нами через Онлайн-консультант, вам помогут.

#12 Supokna

    Активный участник

  • Пользователи
  • PipPipPip
  • 68 сообщений

Отправлено 10 Август 2011 - 11:11

Просмотр сообщенияРазработчик (3.8.2011, 16:48) писал:

Тогда последовательность действий следующая:
а) включаете в настройках поля "Менеджер" пункт "множественный выбор"
б) в фильтре "Мои компании" (и в других, где есть поле "менеджер") меняете условие `Менеджер`='{current}' на `Менеджер` LIKE '%-{current}-%'

В результате получаете возможность привязывать одного клиента к нескольким менеджерам.

в результате у менеджеров пропали их клиенты. осталось по 2-3 клиента - почему отображаются они не могу понять

#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Август 2011 - 11:46

Да, не совсем верно подсказал вам условие. Лучше прописать `Менеджер`='{current}' OR `Менеджер` LIKE '%-{current}-%' . Тогда фильтр будет работать и для старых и для новых записей. В фильтрах где используются и другие условия, вышеприведенное нужно поместить в скобки, например `Тип`='Обзвон' AND (`Менеджер`='{current}' OR `Менеджер` LIKE '%-{current}-%')





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных