0
- 11.03.2015 - 17:37
|
Задача, сделать рассылку смс за 8 часов и за 1 час. Есть регламентированное задание которое запускается примерно каждые 3 минуты. В нем делается запрос документов в течении года. Высчитывается дата от которой нужно делать отправку смс: | ДатаВремяОтправки = ДатаДок - КолЧасов * 3600; | как действовать потом? Как выявлять момент что текущая дата уже за 8 часов от ДатаВремяОтправки, и выполнить необходимый код. Или же что текущая дата за 1 час от ДатаВремяОтправки и так же выполнить код делающий отправку смс? | |
1
- 11.03.2015 - 17:40
| эээ... вычитание не предлагать? | |
2
- 11.03.2015 - 17:45
|
(1) а что из чего???? не совсем понимаю, стал делать по одному примеру, но что то вижу не рабочий вариант: ДатаВремяОтправки = ДатаВремяПодачиТранспортаНСО - КолЧасов * 3600; // ДиапазонОтСтарта = ТекущаяДата() - ДатаВремяОтправки; ДиапазонОтСтарта = МАКС(ДиапазонОтСтарта , -ДиапазонОтСтарта); // Сообщить(Строка(н) + "). " + Строка(СтрТз.СсылкаЗаказТрансфера) + " Диапазон старта «" + Строка(ДиапазонОтСтарта) + "», ДатаВремяОтправки " + Строка(ДатаВремяОтправки)); // Если ДиапазонОтСтарта < (60 * (КолЧасов * 60)) Тогда | |
3
- 11.03.2015 - 17:47
| (1) я получил ДатаВремяОтправки, это дата за вычетом требуемого количества часов от нужной даты, как мне сейчас отлавливать момент что она равна "примерно" текущаей дате? | |
4
- 11.03.2015 - 17:50
| Если ТекущаяДата() > ДатаВремяОтправки И СМСещеНЕотправлено Тогда ОтправитьСМС() КонецЕсли; | |
5
- 11.03.2015 - 17:57
|
(4) да пробовал так, но как то тоже не подходит!!! СМСЕщёНЕотправлено, это да! фильтруется в запросе, то есть уже отправленым повторно отправляться не будет. Они будут отсутствовать в выборке. Но как то не пойму!!! В (4) тоже мне кажется не надежное и не универсальное решение. Нужно как то хитрее. | |
6
- 11.03.2015 - 18:19
| 5-LivingStar > в (4) необходимое и достаточное условие, что еще надо? | |
7
- 11.03.2015 - 18:32
|
(6) ну ладно завтра попробую, вот так тогда просто Если ТекущаяДата() > ДатаВремяОтправки так как в выборке и так те по которым не было отправки | |
8
- 11.03.2015 - 18:37
| () так а если там старые всякие смс по которым не было отправки, и текущая дата будет всегда больше ихней, а по ним не надо делать отправку, то есть будет контролироваться что не за час или за 8 часов а просто что текущая дата стала больше | |
9
- 11.03.2015 - 18:48
| (6) в базе много данных, так как я отбираю за год, то там есть и документы за несколько месяцев, что просто попадут под условия, а нужно за 8 часов и за час. | |
10
- 11.03.2015 - 19:17
| зачем тогда за год? | |
11
- 11.03.2015 - 21:53
|
(0) ЗАЧЕМ? Цель раскрой, время-то тебе зачем? Если ты спамишь, спамера интересует размер кучи говна, кою на бедных пользователей вываливаете, а время-то зачем? Извращенное удовольствие? Или что-то техническое? | |
12
- 11.03.2015 - 22:21
|
Как вариант, моя контора спамит наших клиентов порядка 10000 рассылок СМС в день. В каждой из них написано: "Мы тебе кучу бабла заслали". | |
13
- 11.03.2015 - 22:23
|
Так вот время - интересует провайдера СМС. Если мы чё-то 30 тысяч счастливчиков осчастливить готовы деньгами, то провайдер чё-то сопротивляется 30 000 СМС. | |
14
- 12.03.2015 - 00:01
| 13-DeiMos > Дык провайдеру время зачем? Его объем интересует: в количестве рассылок, и в мегабайтах в общем. | |
15
- 12.03.2015 - 06:27
| (10) подразумевая то что заказы в документах могут делаться на длительный период вперед, за год что бы не потерять такие | |
16
- 12.03.2015 - 06:29
|
(11) это смс информировании клиента о заказанной услуге, в данное время менеджеры делают это по кнопке из документа к каждому документу привязано дата время предаставляемой услуги услуги, нужно автоматизировать отправку смс за 8 часов и за 1 час | |
17
- 12.03.2015 - 06:52
|
как вам вот такое решение? Если ДатаВремяОтправки < ТекущаяДата() и ДатаВремяОтправки > ТекущаяДата()-60*(КолЧасов*60) Тогда ДатаВремяОтправки становится меньше ТекущаяДата() и ДатаВремяОтправки больше ТекущаяДата() минус час или 8 часов то есть как только ДатаВремяОтправки попадает в промежуток за 8 часов или за 1 час в который нужно отправить смс, так как регламентное задание выполняется примерно каждые 3 минуты, погрешность будет не большая | |
18
- 12.03.2015 - 10:34
| 8-LivingStar > по "старым" ты должен заранее позаботиться и не включать их в выборку | |
19
- 12.03.2015 - 14:02
| 17-LivingStar > это за 8 часов она у тебя 160 раз уйдёт. клиент порадуется. веди учёт фактов отправки смс. | |
20
- 12.03.2015 - 14:26
| 19-Зелёный тролль > см.(5) | |
| Интернет-форум Краснодарского края и Краснодара |