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


Вопрос по коду


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

#1 calebfreeman

    Участник

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

Отправлено 03 Июль 2015 - 09:30

Стоит задача при сохранении или изменении поля с названием "занят" изменять поле менеджер, а после настроить уведомления для курирующего менеджера.


Пробовал два варианта кода
Поле менеджер типа "текст"

1. if (($line['Занят']=='забронирован') or ($line['Занят']=='занят') ) {
$line['Менеджер']=$user['fio'];
} else {
$line['Менеджер']='';
}
Тут все работает если поставить отработку скрипта "срабатывает при изменении поля занят".
Но не возможно настроить права.


Поле менеджер типа "пользователь"
2. if (($line['Занят']=='забронирован') or ($line['Занят']=='занят') ) {
$line['Менеджер']='{current}';
} else {
$line['Менеджер']='';


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

Подскажите в чём я ошибся?

#2 CbCoder

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

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

Отправлено 03 Июль 2015 - 12:33

Ошиблись в подставлении значения '{current}' в поле "пользователь". Это абсолютно из другой оперы, '{current}' можно использовать только в условиях фильтров и напоминаний. В вычислениях же никаких псевдопеременных не требуется, т.к. можно использовать нормальные, в частности ту же $user. Соответственно, для поля "пользователь" значение текущего пользователя берется из $user['id'], т.к. именно id там и хранится.

#3 calebfreeman

    Участник

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

Отправлено 03 Июль 2015 - 14:59

Спасибо, с $user['id'] все как надо заработало.





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

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