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


Как задать условие


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

#1 Rezo

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

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

Отправлено 01 Февраль 2010 - 13:12

Подскажите как правильон задать условие:

Задача: есть список клиентов, котрым звонили и поставили дату и время перезвона.

Необходимо, что бы появилось напоминаие позвонить всем клиентам дата перезвона которым сгодня и ранее.

Если поставить условие `Дата перезвона`<='{текущая дата}' то те поля в которых время перезвона отлично от 00:00 в напоминание не попадут.

Если поставить условие `Дата перезвона`like'%{текущая дата}' то не работает

Может как то задать условие `Дата перезвона`<'{следующая дата}' но как в условии задать 'следующая т.е. завтрашняя дата', или например задать условие `Дата перезвона`начинается с'%{текущая дата}'

Или есть другие варианты?

#2 CbCoder

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

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

Отправлено 01 Февраль 2010 - 13:44

Просмотр сообщенияRezo (1.2.2010, 13:12) писал:

Может как то задать условие `Дата перезвона`<'{следующая дата}' но как в условии задать 'следующая т.е. завтрашняя дата',
Следущая дата задается как текущая + 1 день, что на MySQL будет выглядеть как: '{текущая дата}' + INTERVAL 1 DAY

Остальные варианты, перечисленные вами, работать не будут. Шаблон {текущая дата} заменяется во время выполнения на 'YYYY-MM-DD 00:00:00'

#3 Rezo

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

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

Отправлено 01 Февраль 2010 - 18:20

Просмотр сообщенияРазработчик (1.2.2010, 13:44) писал:

Следущая дата задается как текущая + 1 день, что на MySQL будет выглядеть как: '{текущая дата}' + INTERVAL 1 DAY

Остальные варианты, перечисленные вами, работать не будут. Шаблон {текущая дата} заменяется во время выполнения на 'YYYY-MM-DD 00:00:00'

Спасибо за ответ!

Все работает!

#4 Rezo

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

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

Отправлено 02 Февраль 2010 - 23:04

Дано: данные по клиентам с датой обращения в компанию

Подскажите пожалуйста а как задать фильтр чтобы отобрать тех кто обращался в этом месяце?

`Дата подачи`='{текущий месяц}' или что то похожее?

#5 Никита Оптимизация

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

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

Отправлено 03 Февраль 2010 - 09:20

Дано: компания проплатила хостинг для своего сайта на год. Дата окончания оплаты хостинга прописана в поле Оплачено до
Нужно решить: за неделю до истечения этого времени приходит Напоминание Менеджеру + Клиенту о том, что пора продлить хостинг.

Какое условие писать в напоминании? Чтобы оно приходило за неделю (за день)? И можно ли цветом в таблице выделять те строки, в которых сработало напоминине? Проще - можно ли визуально выделять те строки, в которых заканчивается хостинг?

#6 CbCoder

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

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

Отправлено 03 Февраль 2010 - 10:31

Просмотр сообщенияRezo (2.2.2010, 23:04) писал:

`Дата подачи`='{текущий месяц}' или что то похожее?
Нет. Все шаблоны значений прописаны в мастере добавления условий, других нет. Для вашей задачи нужно воспользоваться функциями MySQL month и year:

month(`Дата подачи`) = month('{текущая дата}') and year(`Дата подачи`) = year('{текущая дата}')

Более подробно о функциях работы с датами вы можете прочитать в руководстве MySQL, например здесь: http://phpclub.ru/my...-functions.html

#7 CbCoder

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

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

Отправлено 03 Февраль 2010 - 10:39

Просмотр сообщенияНикита Оптимизация (3.2.2010, 9:20) писал:

Какое условие писать в напоминании? Чтобы оно приходило за неделю?
`Дата окончания оплаты` >= '{текущая дата}' - INTERVAL 7 DAY

Просмотр сообщенияНикита Оптимизация (3.2.2010, 9:20) писал:

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

#8 Rezo

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

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

Отправлено 04 Февраль 2010 - 11:42

Просмотр сообщенияРазработчик (3.2.2010, 10:31) писал:

Нет. Все шаблоны значений прописаны в мастере добавления условий, других нет. Для вашей задачи нужно воспользоваться функциями MySQL month и year:

month(`Дата подачи`) = month('{текущая дата}') and year(`Дата подачи`) = year('{текущая дата}')

Более подробно о функциях работы с датами вы можете прочитать в руководстве MySQL, например здесь: http://phpclub.ru/my...-functions.html


Спасибо

#9 Alexander

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

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

Отправлено 31 Май 2010 - 13:48

Есть таблица "Контрагенты" в которой есть поля "Следущее действие" и "Когда".
Значения в этих полях берется из таблицы "История работы с компанией," которая является подчиненной для таблицы контрагенты. И соответственно каждый раз когда есть новая запись в таблице "История работы с компанией" поля "Следущее действие" и "Когда" обновляются соответственно

Для поля "Когда" ставлю напоминание:
`Когда`!='{пустая дата}' and `Когда`<'{текущее время}' and `Менеджер`='{текущий}'


Каждый раз при любом добавлении истории в "История работы с компанией" все старые напоминания выскакивают..
Можно ли с этим как то бороться?

#10 CbCoder

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

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

Отправлено 31 Май 2010 - 15:04

Почему старые то? Вы же сами пишите:

Цитата

каждый раз когда есть новая запись в таблице "История работы с компанией" поля "Следущее действие" и "Когда" обновляются
Какие же они старые тогда? Данные то обновились.

#11 Alexander

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

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

Отправлено 31 Май 2010 - 15:07

Я понимаю, но почему выскакивают старые напоминания, которые уже закрыли?

#12 CbCoder

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

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

Отправлено 31 Май 2010 - 15:12

Напоминания выходят заново при любом обновлении данных. Это естественно, т.к. могло изменится условие.

#13 Alexander

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

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

Отправлено 31 Май 2010 - 15:31

МОжно ли как то изменит условие напомиания, чтобы это не случалось.. Наример если после даты когда должно быть напоминание прошло 3 дня тода напоминние не выскакивает?

#14 CbCoder

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

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

Отправлено 31 Май 2010 - 15:38

Сколько дней прошло, значения не имеет. Пока условие напоминания выполняется - оно будет постоянно выходить. Измените условие или данные так чтобы оно не выполнялось и напоминание пропадет полностью. Крестик закрывает его только временно.

#15 Alexander

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

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

Отправлено 31 Май 2010 - 15:58

Условие напоминания стандартное:
`Когда`!='{пустая дата}' and `Когда`<'{текущее время}' and `Менеджер`='{текущий}'

На что его поменять? Не нашел ничего подходящего в конструкторе

#16 CbCoder

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

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

Отправлено 31 Май 2010 - 16:09

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

Измените условие или данные так чтобы оно не выполнялось и напоминание пропадет полностью. Крестик закрывает его только временно.
Пока у вас `Когда`!='{пустая дата}' и `Когда`<'{текущее время}' напоминание будет продолжать работать.

#17 Alexander

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

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

Отправлено 31 Май 2010 - 16:26

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

#18 CbCoder

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

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

Отправлено 31 Май 2010 - 16:32

Я вам и не говорил его менять. Я просто сообщаю что пока у вас выполняется условие - напоминание работает.





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

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