Входящая операторская задача
Содержание
Задача:
- Создать входящую задачу по обработке клиентов. Иметь возможность ввести данные клиента.
- При повторном звонке отобразить данные оператору. Также оператор должен видеть историю заказов клиента.
Создание таблицы абонентов
Для хранения информации по абоненту создана таблица "clients" со следующими полями:
- Id - номер абонента в списке. Тип Int, создается автоматически.
- phone - телефон клиента. Тип Nvarchar (auto). Назначение Телефон.
- name - имя клиента. Тип Nvarchar (auto)
- company - название компании. Тип Nvarchar (auto)
- city - город. Тип Nvarchar (auto)
- comment - комментарий к клиенту. Тип Nvarchar (auto)
Для хранения информации по созданным заявкам создана таблица "clients_history". Таблица нужна для вывода истории заказов по клиенту. В таблице имеются следующие поля:
- Id - номер записи в списке. Тип Int, создается автоматически.
- phone - телефон клиента. Тип Nvarchar (auto)
- order - наименование товара. Тип Nvarchar (auto)
- count - количество товара. Тип Nvarchar (auto)
- summa - сумма. Тип Nvarchar (auto)
- datetime - Дата заказа. Тип Datetime
Диалоговый сценарий входящей задачи
Диалоговый сценарий "Вход_Диалоговый" запускается всякий раз, когда клиент соединяется с оператором по задаче. Задача этого сценария предоставить оператору форму для заполнения, а далее занести все данные в соответствующие таблицы.
Диалоговый сценарий имеет следующий вид:
- Компонент "Диалоговая форма" - основная форма по входящей задаче. В этой форме оператор заполняет все необходимые данные по клиенту. Форма выглядит следующим образом:
Пример настройки текстового поля "Имя":
- Значение - переменная name (Поле таблицы)
- Сохранение - в существующую переменную name
Таким образом происходит сохранение:
- Имя - в переменную name (поле таблицы)
- Компания - в переменную company (поле таблицы)
- Город - в переменную city (поле таблицы)
- Компания - в переменную comment (поле таблицы)
- Заказ - в переменную order (строковая)
- Кол-во - в переменную count (строковая)
- Сумма - в переменную summa (строковая)
Пример настройки таблицы "История заказов".
- Значения - используется SQL-запрос, который делает выборку всех заказов по этому клиенту.
select * from clients_history where phone=[phone]
- Столбцы - используются три столбца Дата/время (Поле datetime), Заказ (поле order) и Сумма (поле summa).
- Компонент "Добавлять заказ?" - проверяет, заполнено ли поле с заказом. В компоненте сравнивается выражение [order]+[summa] с пустой строкой. Если правда (обе переменные пустые, сценарий заканчивается).
- Компонент "Добавление заказа в историю" - выполняется, если хотя бы в одной переменной "order" или "summa" содержится информация. Используется следующий SQL-запрос:
insert into clients_history (phone,[order],[count],summa,[datetime]) values (@phone,@order,@count,@summa,getdate())
где
@count - переменная count (строковая) @order - переменная order (строковая) @phone - переменная phone (поле таблицы) @summa - переменная summa (строковая)