<<
>>

Глава 9.Оформление заказа

Напомним о задаче: Посетители сайта, как анонимные так и зарегистрированные, имеют возможность просматривать каталог товаров и оформлять заказы, которые фиксируются в специальном журнале.
Зарегистрированные посетители могут просматривать журнал своих заказов. Кроме того, для них автоматически заполняются контактные реквизиты заказа на основании данных в регистрационной карточке посетителя.

Менеджеры сайта обладают дополнительными правами. Такими как: редактирование каталога товаров, просмотр общего журнала заказов и списка зарегистрированных в магазине покупателей.

Обработка заказов

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

Приведем отдельные фрагменты исходного текста объекта Order:

/** Заголовок заказа */ this.displayTop = function(order) { II... заголовок заказа ...

>

/** Записи заказа */ this.displayRecords = function(order) { var aRec = this. orderRecordsDB. findList("OrderId=" + order, id);

var i;

%>

n/n

Ha3BaHMe CT0MM0CTb

%>

/** Показать запись заказа */ this.displayRow = function(rec, i, order) { var ware = this.waresDB.findRecord(rec.wareld); var url = 'order. asp9mode=delete' + '&orderId=' + rec.orderld + '&wareld=' + rec. id; %> = 3) {%>

[удалить]

/** Показать реквизиты заказа */ this.displayBottom = function(order) { if (order. orderStatus == 0)

this. displayOrderForm(order); else

this. displayOrderHead(order);

/** Форма для отправки заказа */

this.displayOrderForm = function(order) { %>

... аналогично Адрес, Телефон, Email ...

Покупатель:

/** Реквизиты заказа */

this.displayOrderHead = function(order) { %>

...

аналогично Адрес, Телефон, Email ...

Покупатель:

/** Отправить заказ на обработку */ this.sendOrder = function(orderld) { var rec = this. ordersDB. findRecord(orderId); if (rec == null) {

%>3aKa3 не найден

// сохранить реквизиты гес.clientName = readFilteredPar("clientName", "аноним"); ... аналогично Адрес, Телефон, Email ... гес.orderStatus = 3; // заказ отправлен this. ordersDB. updateRecord( гес); арр.order = 0; // сброс текущего заказа

>

/** Удалить запись из заказа */ this.deleteWare = function(wareld) { // найти удаляемую запись

var ware = this. orderRecordsDB. findRecord(wareld); if (ware == null) { return;

>

// найти соответствующий заказ var ord = this. ordersDB. findRecord(ware. orderld); if (ord == null) { return;

>

// проверить права на удаление

if (usr. userLevel >= 3 | | ord.clientld == usr.id) { // удалить товар

this. orderRecordsDB.deleteRecord(ware.id); var n = this. orderRecordsDB. countRecords("OrderId=" + ware.orderld); if (n == 0) { // заказ пустой, удалить заказ, this. ordersDB. deleteRecord(ware. orderld); app.order = 0; // сброс текущего заказа redi rect("search.asp");

>

>

>

>

%>

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

Чтобы продемонстрировать удобство использования объекта Order, приведем исходный текст ASP-страницы, для работы с заданным заказом Order.asp:

"delete") { var wareld = readIntPar("wareld", 0); order. deleteWa re (wareld);

>

pg.display(); // сформировать страницу

/** Показать содержимое заказа */ function dispOrdeг() { var orderld = readIntPar("orderId", 0);

// если номер не указан явно, то использовать текущий заказ if (orderld == 0)

orderld = app. order; var rec = order. ordersDB. findRecord(orderld); if (rec == null) { %>3аказ не найден

order.display(rec); // показать заказ

>

/** Показать сообщение об отправке заказа */ function send0rder() { %>Спасибо за заказ!

Ваш заказ будет обработан менеджером в ближайшее время.

%>

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

Посетители магазина, как анонимные, так и зарегистрированные, могут просматривать каталог товаров и оформлять заказы.

Этот демонстрационный магазин вполне работоспособен и функционален. Его можно размещать для работы в Интернете на любом сервере, на котором поддерживаются MS ASP, JavaScript, ADO.

Вопросы WEB-дизайна мы не затрагивали. Но вы можете самостоятельно выполнить оформление магазина или поручить эту работу дизайнеру.

А теперь мы хотели бы обратить ваше внимание на вопросы, оставшиеся неосвещенными ранее:

интеграция электронного магазина с учетной системой;

оперативность обработки поступивших заказов;

информационная безопасность.

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

Интеграцию с учетной системой можно выполнять с помощью операций экспорта/импорта справочника товаров. Экспорт справочника может происходить в файлы различного формата. Хорошо, когда учетная система может поддерживать MDB или DBF формат для экспорта. В этом случае процесс импорта значительно упрощается. Можно выполнять экспорт и в текстовый файл, но в этом случае процедура импорта становится сложнее и могут возникнуть проблемы, связанные с передачей бинарных значений (например, изображений товаров).

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

Для повышения оперативности обработки поступивших заказов в электронном магазине должны быть реализованы механизмы оповещения менеджера магазина о новых заказах.

Обычно такое оповещение реализуется с помощью электронной почты. Если заказов не очень много, но время их обработки играет важную роль для вашего бизнеса, то можно реализовать оповещение с помощью 8М8-сообщений на мобильный телефон или пейджер.

Получив оповещение о новом заказе менеджер магазина может оперативно связаться с покупателем (по телефону или электронной почте) и уточнить с ним условия выполнения заказа.

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

К мерам по обеспечению информационной безопасности для ин- тернет-приложения можно отнести следующие действия:

Реализация механизмов авторизации доступа к информации. Такие механизмы обеспечивают комфортную работу менеджеров при изменении данных. В то же время, они исключают несанкционированный доступ ординарных посетителей к функциям и данным приложения.

Детальное протоколирование событий, происходящих на сайте. Такое протоколирование помогает не только в случае разбора нештатных ситуаций. Детальный протокол позволяет выявить предпочтения посе-тителей. Полезным свойством интернет-приложения является автомати-ческая реакция на подозрительные действия посетителей. Например, в случае нескольких последовательных попыток ввести неправильный па-роль система может автоматически заблокировать все запросы, поступа-ющие с соответствующего 1Р-адреса.

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

При разработке программного кода необходимо корректно идентифицировать и обрабатывать все исключительные ситуации. Осо-бое внимание необходимо уделить тем модулям, которые принимают НТТР-запросы от пользователей. Фильтрация, парсинг и анализ параме-тров запроса является обязательным условием.

Необходимо выбрать «правильного» сервис-провайдера, который обеспечит качественный уровень хостинга. Конечно, можно установить сервер для интернет-магазина в своей локальной сети и подключиться к Интернету с помощью модема. Но в этом случае посетителей в магазине не будет. Они просто не смогут «достучаться» до вашего сервера.

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

<< | >>
Источник: Орлов Л. В.. Как создать электронный магазин в Интернет. 2006

Еще по теме Глава 9.Оформление заказа:

  1. 30. УПРАВЛЕНИЕ ЗАКАЗАМИ, ПОДГОТОВКА ЗАКАЗОВ
  2. Заказы.
  3. Сообщения о заказах
  4. Глава XIV ОФОРМЛЕНИЕ АБСОЛЮТИЗМА
  5. Глава 1. ОФОРМЛЕНИЕ ТРУДОВЫХ ОТНОШЕНИЙ
  6. 28. ПОСТУПЛЕНИЕ И ОБРАБОТКА ЗАКАЗА ПОТРЕБИТЕЛЯ
  7. Глава 6.Web-оформление электронного магазина
  8. Глава 11. Оформление результатов аудиторской проверки
  9. Глава 7. ОФОРМЛЕНИЕ ВЫПЛАТЫ ЗАРАБОТНОЙ ПЛАТЫ
  10. Глава 6. Обобщение и оформление результатов аудиторской проверки
  11. Глава 16. ОФОРМЛЕНИЕ РЕЗУЛЬТАТОВ ИНВЕНТАРИЗАЦИИ ПО ПЕРЕХОДНОМУ ПЕРИОДУ
  12. Стоимость заказа производственных запасов
  13. Система калькуляции издержек производства по заказам