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


Вичисление. Получение данных о текущем пользователе.


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

#1 MorTis

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

  • Пользователи
  • PipPipPip
  • 65 сообщений
  • Пол:Мужчина

Отправлено 01 Июль 2014 - 11:03

Здравствуйте.
Подскажите пожалуйста как в вычислениях можно получить данные о текущем пользователе.
Например интересует принадлежность пользователя к группе доступа и отделе.

#2 wondertalik

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

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 01 Июль 2014 - 11:07

$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE `id` IN (".$user_id.")";
$result = sql_query($sqlQuery);
$usr = sql_fetch_assoc($result);
где $user_id - айди пользователя.

Один из вариантов, другой вроде как глобальная переменная $user. Точно что она содержит не помню.

#3 CbCoder

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

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

Отправлено 01 Июль 2014 - 11:30

Все данные о текущем пользователе лежат в глобальной переменной $user. Содержит она то же самое, что и запись таблицы USERS_TABLE по данному пользователю, т.е. поля и их значения.

Цитата

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

ID группы доступа лежит в $user['group_id']. Что такое "отдел" - не понял, такого поля в пользователях нет. Если речь идет о таблице Сотрудники, то это не пользователи, а привязанная к ним таблица конфигурации. Получить из нее данные можно запросом к таблице с параметром выборки "поле пользователь равно id текущего пользователя".

#4 MorTis

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

  • Пользователи
  • PipPipPip
  • 65 сообщений
  • Пол:Мужчина

Отправлено 01 Июль 2014 - 11:57

Просмотр сообщенияCbCoder (01 Июль 2014 - 11:30) писал:

Все данные о текущем пользователе лежат в глобальной переменной $user. Содержит она то же самое, что и запись таблицы USERS_TABLE по данному пользователю, т.е. поля и их значения.



ID группы доступа лежит в $user['group_id']. Что такое "отдел" - не понял, такого поля в пользователях нет. Если речь идет о таблице Сотрудники, то это не пользователи, а привязанная к ним таблица конфигурации. Получить из нее данные можно запросом к таблице с параметром выборки "поле пользователь равно id текущего пользователя".
Да отдел это в сотрудниках. То есть если я правильно понял то данные из таблици сотрудников только по sql запросу.

#5 CbCoder

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

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

Отправлено 01 Июль 2014 - 12:05

Да. Данные таблицы Сотрудники (и любых других привязанных к пользователям таблиц, их может быть несколько), на данный момент автоматически не кэшируются в системные переменные.

#6 marketolog

    Участник

  • Пользователи
  • PipPip
  • 11 сообщений
  • Пол:Мужчина

Отправлено 04 Июль 2014 - 08:42

А если в переменных генерируемого документа необходимо взять данные ФИО, Тел и Должность из таблицы наши сотрудники текущего пользователя?

Каким образом вывести данные из таблицы "Наши сотрудники" в генерируемый документ таблицы "Контрагенты"?

#7 CbCoder

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

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

Отправлено 04 Июль 2014 - 11:34

Генерируемый документ никакого значения не имеет, все вычисления делаются в таблице, для этого можно создать поле связи "Тек. сотрудник" и заполнять его вычислением на отображение, в самом документе уже подставлять результат из полученного поля.

#8 Tony999

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

  • Пользователи
  • PipPipPip
  • 412 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 Июнь 2016 - 20:14

А вот скажите, почему поле типа Пользователь не содержит ссылки, через которую можно получить данные пользователя? (не текущего, а конкретного)
Это было бы вполне разумно и ожидаемо, но, например, $line['Пользователь']['ФИО'] выводит пустоту.
Как-то по другому обращаться надо? Понятно, что можно запрос к самой таблице users сделать, но хотелось как-то проще....
Умные сайты на заказ
https://info.crm-master.info

#9 CbCoder

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

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

Отправлено 16 Июнь 2016 - 09:10

Просто не предусмотрели видимо, когда делали аналогичный функционал по полям связи.





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

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