Разные оповещения в зависимости от флага в БД пользователя?

Ответы на вопросы "А может ли он сделать такое..?" или "Как сделать вот это..?"
Ответить
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Разные оповещения в зависимости от флага в БД пользователя?

Сообщение iStan »

Добрый день!

Работает автообзвон с БД пользователя, оповещает его 2 раза о необходимых действиях.

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

Вопрос - как поменять алгоритм, чтобы он реагировал на этот флаг? И как изменить запрос к БД пользователя. :?:

Экспортированный алгоритм в аттаче. Запрос к БД ниже.
----------------------------------------------------------------------
;Общие настройки
[General]
SrcName="SQLex"
Version=1
DateTimeFormat="dd.mm.yyyy h:mm:ss"

;Необработанные номера
[Unprocessed]
Priority=0
Query="select ID, Phone from Obzvon where Processing='False' and Status=0 and CONVERT(Varchar(10),NextCallDate,104) = CONVERT(Varchar(10),GetDate(),104) And DialWasTimes<2 order by ID"
ID="ID"
Number="Phone"

;Номера со статусом "Занято"
[Busy]
Priority=1
Query="select ID, Phone, DialLastEnd from Obzvon where Status=2 and Processing='False' and Count<~RepeatBusy~ order by DialLastEnd"
ID="ID"
Number="Phone"
EndTime="DialLastEnd"

;Номера со статусом "Не отвечает"
[NotAnswered]
Priority=2
Query="select ID, Phone, DialLastEnd from Obzvon where Status=3 and Processing='False' and Count<~RepeatNoAnswer~ order by DialLastEnd, ID"
ID="ID"
Number="Phone"
EndTime="DialLastEnd"

;Номера со статусом "Другое или неверный код"
[Other]
Priority=3
Query="select ID, Phone, DialLastEnd from Obzvon where Status=4 and Processing='False' and Count<~RepeatOther~ order by DialLastEnd, ID"
ID="ID"
Number="Phone"
EndTime="DialLastEnd"


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Перед обзвоном очередного номера
[BeforeDialNumber]
Query="update Obzvon set Processing='True', Count=Count + 1 where ID=~NumID~"

;После обзвона очередного номера
;Статус: 0 - не обработан, 1 - успех, 2 - занято, 3 - не отвечает, 4 - другое или неверный код"
[AfterDialNumber]
Query="if ~Status~=1 update Obzvon set Processing='False', Status=0, DialWasTimes=DialWasTimes+1, DialLastEnd=GetDate(), NextCallDate=DATEADD(DAY,15,CONVERT(Varchar(10),GetDate(),104)) where ID=~NumID~ else update Obzvon set Processing='False', Status=~Status~, DialLastEnd=GetDate() where ID=~NumID~; "

;Если обзвон был прерван
[DialBreak]
Query="update Obzvon set Processing='False', DialLastEnd=GetDate(), Status=4 where ID=~NumID~"

;Сброс номеров в начальное состояние при запуске программы автообзвона
[ResetNumbers]
Query="update Obzvon set Processing='False', Count=0"
Вложения
alg1.PNG
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Ждите ПН, когда будет рабочее время.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Т.е. флаг нужен для того, чтобы указать на другой способ оповещения?
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

sannx писал(а):Т.е. флаг нужен для того, чтобы указать на другой способ оповещения?
Это была первая мысль, чтобы разделить типы набираемых номеров. Может есть и более простой способ...
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Вам виднее, как лучше отличать способ оповещения. Можно и с помощью флага. Добавьте столбец флага в таблицу Obzvon и добавьте секцию "[UserValues]". Далее в Конструкторе добавьте команду "Получить данные об абоненте" - эта команда закинет в переменную ваш флаг. Далее в алгоритме разрулите способ оповещения в зависимости от флага.
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

sannx писал(а): и добавьте секцию "[UserValues]".
А что требуется прописать в этой секции?
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Прочитайте Справку в разделе "Стандартный и альтернативный механизм автообзвона". Там все расписано.
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

Добрый день.

Почитал мануал, различные примеры. Вот что получилось:

1. добавил поле в таблицу СКЛ с типом int
2. добавил секцию в выборку из БД

Код: Выделить всё

;Данные об абоненте
;Типы данных: 1 - номер телефона, 2 - число, 3 - дата/время, 4 - сумма руб.
[UserValues]
Query="select 2, NumType from Obzvon where ID=~NumID~"
Form=AsRow
3. модифицировал алгоритм (скрины и эксп.файл в аттаче).

В итоге мне играют один и тот же WAV, первый по порядку, вне зависимости от значения переменной Var4.

Что делаю не так??
Вложения
01.PNG
02.PNG
03.PNG
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

еще 2 скрина
Вложения
04.PNG
05.PNG
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

А что такое NumType?
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

NumType - это и есть новое поле в таблице Obzvon, которое определяет тип номера 0 или 1
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Проверьте Журнал событий - логи у команды "Получить данные об абоненте". Есть там что криминальное?
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

не понятно, обрабатывается ли моя переменная..
Вложения
08.JPG
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Не вижу этой команды. А вы не перезаписали алгоритм Конструктора при сохранении?
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

я снимал соотв. галку

А как должна выглядеть эта команда в Логах?
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение sannx »

Сбросьте фильтр в Журнале событий, сохраните его в файл и пришлите мне. Моя почта внизу каждого сообщения.
iStan
Сообщения: 37
Зарегистрирован: 02 апр 2013, 18:24

Re: Разные оповещения в зависимости от флага в БД пользовате

Сообщение iStan »

Отправил на почту.
Ответить