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


как делать напоминания при изменении ОДНОГО поля


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

#1 smart

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

  • Пользователи
  • PipPipPip
  • 297 сообщений
  • Пол:Мужчина
  • Интересы:v1980.8@gmail.com

Отправлено 18 Декабрь 2011 - 23:57

Подскажите, появился ли в версии 1.9.5. простой способ делать уведомления при изменении поля.

Пример:
1 - есть поле "статус заказа". Изначально оно пустое. Когда в этом поле будет "принято в работу" - нужно чтобы сработало напоминание.
2 - после этого, саму строку будут много раз изменять и сохранять, но поле статус не поменяется и значит напоминания срабатывать не должны.
3 - но как только поле "статус заказа" изменится - должно сработать напоминание.

Как это сделать?

#2 smart

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

  • Пользователи
  • PipPipPip
  • 297 сообщений
  • Пол:Мужчина
  • Интересы:v1980.8@gmail.com

Отправлено 20 Декабрь 2011 - 12:07

Ап

#3 CbCoder

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

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

Отправлено 20 Декабрь 2011 - 13:03

Вашу тему видели вчера, ответ будет завтра, т.к. специалист пока отсутствует.

#4 smart

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

  • Пользователи
  • PipPipPip
  • 297 сообщений
  • Пол:Мужчина
  • Интересы:v1980.8@gmail.com

Отправлено 20 Декабрь 2011 - 15:39

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

надеемся - есть более элегантное и простое решение. идеально - если на базе функционала напоминаний. например "при изменении поля" - срабатывает напоминание.

#5 Analitic

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

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

Отправлено 21 Декабрь 2011 - 08:49

Просмотр сообщенияsmart (18 Декабрь 2011 - 23:57) писал:

Подскажите, появился ли в версии 1.9.5. простой способ делать уведомления при изменении поля.

Пример:
1 - есть поле "статус заказа". Изначально оно пустое. Когда в этом поле будет "принято в работу" - нужно чтобы сработало напоминание.
2 - после этого, саму строку будут много раз изменять и сохранять, но поле статус не поменяется и значит напоминания срабатывать не должны.
3 - но как только поле "статус заказа" изменится - должно сработать напоминание.

Как это сделать?
Появился, создаете вычисление при условии изменения поля статус. В вычислении вставляете напоминание подобным кодом:
$sqlQuery = "INSERT INTO ".TIPS_SHOW_TABLE." (`user_id`, `tip_id`,`table_id`, `line_id`, `bg_color`, `message`, `date`, `custom_url`) VALUES ('".$user["id"]."','0', '0', '0', '$bg_color', '".addslashes($message)."', '$cur_date', '".addslashes($tip_url)."')";
sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);


#6 Analitic

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

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

Отправлено 21 Декабрь 2011 - 08:54

Таким образом можно формировать любые напоминания по практически любым условиям. Также на этой неделе будет добавлен стандартная функция insert_tip($tip_id, $line); Которая позволит формировать стандартные напоминания из вычислений в более простой форме.

#7 smart

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

  • Пользователи
  • PipPipPip
  • 297 сообщений
  • Пол:Мужчина
  • Интересы:v1980.8@gmail.com

Отправлено 21 Декабрь 2011 - 13:17

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

#8 smart

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

  • Пользователи
  • PipPipPip
  • 297 сообщений
  • Пол:Мужчина
  • Интересы:v1980.8@gmail.com

Отправлено 28 Декабрь 2011 - 20:18

Добрый день. а Вы уже добавили стандартную функцию и как ей пользоваться?

#9 Analitic

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

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

Отправлено 29 Декабрь 2011 - 09:34

Да, извините за задержку.
Добавляете напомниние в таблице, условия не заполняете.
В этой же таблице в вычислениях используете как insert_tip($tip_id, $line);
Где $tip_id - ID напоминания.

#10 wondertalik

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

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

Отправлено 04 Январь 2012 - 16:00

Цитата

`user_id`, `bg_color`, `message`, `date`, `custom_url`
Расшифруйте пожалуйста поля.

#11 smart

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

  • Пользователи
  • PipPipPip
  • 297 сообщений
  • Пол:Мужчина
  • Интересы:v1980.8@gmail.com

Отправлено 04 Январь 2012 - 16:57

Просмотр сообщенияAnalitic (29 Декабрь 2011 - 09:34) писал:

Добавляете напомниние в таблице, условия не заполняете.
В этой же таблице в вычислениях используете как insert_tip($tip_id, $line);
Где $tip_id - ID напоминания.
несколько вопросов:

1. - а как настроить кому именно будет показываться это напоминание? на данный момент оно показывается тому, кто изменил поле с вычислением. а должно показываться например пользователю из поля менеджер. Как это реализовать?

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

3. может добавите в напоминания функционал как в рассылке - отправлять напоминание на емейл из определенного поля? а то например очень часто нужжно напоминания делать например не пользователям, а клиентам. Их емейл в базе есть, а вот пользователя с их емейлом нет.


Пожалуйста - отпишитесь по раньше, а то хочется за праздники доработать программу. А без этой информации, не понятно как реализовать задачу.

Сообщение отредактировал smart: 05 Январь 2012 - 11:54


#12 Analitic

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

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

Отправлено 10 Январь 2012 - 08:32

Просмотр сообщенияsmart (04 Январь 2012 - 16:57) писал:

1. - а как настроить кому именно будет показываться это напоминание? на данный момент оно показывается тому, кто изменил поле с вычислением. а должно показываться например пользователю из поля менеджер. Как это реализовать?
В функции insert_tip есть третий параметр $user_id, в нем можете указать пользователя, но это снижает производительность.

Просмотр сообщенияsmart (04 Январь 2012 - 16:57) писал:

2. - если нужно добавить условие, то я так понимаю нужно в вычислениях прописывать?
Если вы используете insert_tip, условия не используется. Напоминание независимо от условий будет выставлено.

Просмотр сообщенияsmart (04 Январь 2012 - 16:57) писал:

3. может добавите в напоминания функционал как в рассылке - отправлять напоминание на емейл из определенного поля? а то например очень часто нужжно напоминания делать например не пользователям, а клиентам. Их емейл в базе есть, а вот пользователя с их емейлом нет.

Не нужно все смешивать, для рассылок есть другой механизм - а именно function send_template($form_id, $filter="---") описанную в functions_cron.php. Функция позволяет выслать письмо на основе шаблона рассылки. На текущий момент не задокументирована и может меняться, но врядли измениться существенно.

К сожалению в праздники мы не работали.

#13 wondertalik

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

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

Отправлено 29 Январь 2014 - 03:16

Цитата

`user_id`, `bg_color`, `message`, `date`, `custom_url`

Расшифруйте пожалуйста поля

#14 CbCoder

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

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

Отправлено 29 Январь 2014 - 09:24

Тут практически все поля очевидны из их названия. ID пользователя, фоновый цвет, сообщение, дата, ссылка.

#15 wondertalik

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

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

Отправлено 29 Январь 2014 - 12:10

Просмотр сообщенияCbCoder (29 Январь 2014 - 09:24) писал:

Тут практически все поля очевидны из их названия. ID пользователя, фоновый цвет, сообщение, дата, ссылка.
Ссылка на что?

#16 CbCoder

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

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

Отправлено 29 Январь 2014 - 12:12

Это ссылка, по которой перейдет пользователь при нажатии на напоминание. Можете задать свою.

#17 wondertalik

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

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

Отправлено 29 Январь 2014 - 16:05

$tip_url = '';
$message = 'tt';
$cur_date = date("Y-m-d");

$sqlQuery = "INSERT INTO ".TIPS_SHOW_TABLE." (`user_id`, `tip_id`,`table_id`, `line_id`, `bg_color`, `message`, `date`, `custom_url`) VALUES 
('".$line['Координатор']."','0', '0', '0', '#ffff99', '".addslashes($message)."', '$cur_date', '".addslashes($tip_url)."')";
sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);

Напоминание у пользователя не вылетает. В чем ошибка?

#18 CbCoder

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

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

Отправлено 29 Январь 2014 - 16:09

Пользователь = $line['Координатор'] ? Поле 'Координатор' имеет тип "пользователь"?

#19 wondertalik

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

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

Отправлено 29 Январь 2014 - 16:11

Просмотр сообщенияCbCoder (29 Январь 2014 - 16:09) писал:

Пользователь = $line['Координатор'] ? Поле 'Координатор' имеет тип "пользователь"?
Да, запрос такого вида

INSERT INTO cb_tips_show (`user_id`, `tip_id`,`table_id`, `line_id`, `bg_color`, `message`, `date`, `custom_url`) VALUES ('101','0', '0', '0', '#ffff99', 'tt', '2014-01-29', '')


#20 CbCoder

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

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

Отправлено 30 Январь 2014 - 09:20

Т.е. id этого самого пользователя, у которого должно выйти напоминание, равно 101? Тогда вроде все должно работать.





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

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