Модуль «Магазин»

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

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

Логика работы

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

В корзине, расположенной по адресу «/shop/basket/», посетитель может отредактировать количество и состав заказа, используя тот же API. Идентификатор корзины хранится в виде файла «Cookie» в течение месяца, поэтому оформление заказа можно отложить. При редактировании или добавлении новых позиций срок жизни корзины продлевается. При блокировке или удалении товаров они исчезают из корзин пользователей. Изменение цен, скидок и других параметров также влияет на неоформленные заказы.

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

Оформленные заказы вы увидите в редакторе, сможете изменить их состав, добавить позиции как из каталога, так и вручную. Доступно назначение видов оплаты, их разрешение и ручное фиксирование, а также изменение способов доставки и статусов заказов. Любую позицию можно скрыть от вывода как в счёте, так и в счёте-фактуре, товарной накладной, универсальном передаточном или другом документе, генерируемом системой.

Пользователь сможет видеть оформленные заказы, их состав и статус в разделе «История заказов», расположенном по адресу «/shop/history/». Для просмотра этих данных необходима авторизация на сайте. С этой же страницы можно перейти на сайт платёжной системы для совершения оплаты, предварительно разрешённой администратором.

Удобным инструментом является «Список желаний», позволяющий отложить товар на будущее, отслеживать его появление в наличии или изменение цены. Авторизованный пользователь с помощью API модуля самостоятельно формирует данный список, доступный только ему.

Магазин системы «Управсайт» максимально гибок и предлагает самостоятельно определить типы данных и формат их вывода с помощью шаблонов и блоков. Функциональный и быстрый API не ограничивает вас в выборе средств и способов взаимодействия.

Редактор и навигация по дереву

Заказы интернет-магазина выводятся в виде структурированного дерева и группируются по датам. Даты отображаются с учётом часового пояса администратора. Разворачивайте папки для отображения заказов, совершённых за требуемый период времени.

Редактор заказов

Чтобы развернуть или свернуть ветку дерева, кликните мышью по треугольнику, расположенному слева от значка папки. Также вы можете осуществить двойной щелчок по её имени. Выделение осуществляется одиночным кликом левой кнопки мыши, контекстное меню открывается правой кнопкой.

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

По умолчанию у заказов отображаются логины пользователей. Вы можете выбрать имена, организации, ИНН, адреса, статусы или номера документов с помощью выпадающего списка «Отображать». Если выбранный параметр у того или иного объекта не заполнен, вы увидите надпись «[текст отсутствует]». Для показа идентификаторов (уникальных номеров в базе данных) отметьте одноимённый пункт. Выбранные параметры сохранятся на сервере, упрощая дальнейшую работу.

Для поиска заказов введите ключевое слово в поле, находящееся рядом с кнопкой «Найти». Область поиска зависит от выбранного режима отображения. Чтобы найти заказ по номеру накладной или названию организации, предварительно выберите соответствующий пункт выпадающего списка. Результаты поиска будут подсвечены, а папки, содержащие их, развернутся автоматически. Если по вашему запросу ничего не найдётся, вы получите сообщение об ошибке.

Заказ считается новым, если на него не выставлен счёт. Иконки таких заказов помечаются восклицательным знаком красного цвета.

Создание, редактирование и удаление заказов

С помощью панели управления вы можете редактировать существующие или создавать новые заказы. Для создания выделите корневую папку «Все заказы» и нажмите кнопку «Добавить» (или горячую клавишу «N»/«Ins»). Для редактирования выберите интересующий заказ и нажмите «Править» (или «E» на клавиатуре). Все доступные действия дублируются в контекстном меню.

Откроется пустая или уже заполненная данными форма:

Форма добавления

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

«Пользователь» — обязательное поле. Нажмите «Выбрать» при добавлении или на логин для смены пользователя при редактировании. Откроется диалог с деревом пользователей сайта. В нём учитываются настройки отображения и группировки модуля «Авторизация». Для поиска вы сможете воспользоваться соответствующим полем. После выделения аккаунта появится кнопка «Выбрать», при нажатии на неё диалог закроется автоматически.

Также для успешного сохранения формы необходимо сформировать «Содержимое». Вы можете добавлять позиции как из каталога, так и вручную. Для этого нажимайте соответствующие ссылки. В первом варианте откроется диалог с деревом каталога. Как и в случае с пользователем, доступен поиск и применяются настройки отображения модуля «Каталог». При ручном добавлении появится поле для ввода произвольного текста, оснащённое функцией автодополнения, предлагающей значения, вводившиеся ранее. По умолчанию вставляются онлайн-цены с учётом скидок или нули при ручном добавлении. Как цены, так и количества вы можете изменить в любой момент, пересчёт суммы происходит автоматически в реальном времени. Снимая галочки в полях «С», «Ф», «Н», «У», «А», «Ч», «К» и «Г», вы отменяете вывод товара в счёте, счёте-фактуре, накладной, универсальном передаточном документе, акте, товарном чеке, коммерческом предложении и гарантийном талоне соответственно. Каждую позицию можно удалить по отдельности, нажимая ссылку «Удалить», расположенную слева от неё. Ссылка «Удалить все» появляется снизу при наличии двух и более пунктов заказа. Перетаскивайте позиции в вертикальной плоскости для изменения их последовательности.

Для заказа вы можете назначить вид оплаты. По умолчанию он не установлен. Виды оплаты создаются вами самостоятельно в отдельном диалоговом окне, открываемом при нажатии ссылки «Редактировать виды».

Редактирование оплат

Редактор интуитивно понятен, особенно если вы уже не новичок в системе. Нажимайте «Добавить», «Удалить» и «Удалить все» для выполнения нужного действия. Добавленные виды оплаты тут же появятся в выпадающем списке, а удалённые исчезнут без дополнительных телодвижений. Заказы, связанные с удаляемыми параметрами, обновятся автоматически.

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

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

Трек-номер указывается после отправки заказа и нужен для отслеживания покупателем движения посылки на сайте компании-перевозчика. Как правило, значение этого параметра выводится в разделе «История заказов».

Статус может содержать произвольный текст длиной до 255 символов. При создании заказа ему присваивается статус, заданный настройками. Впоследствии вы можете редактировать это значение. Для удобства поле оснащено выпадающими подсказками, появляющимися по мере ввода.

За заказом может быть закреплено неограниченное количество платёжно-расчётных документов и документов-оснований передачи/получения. Используя ссылки «Добавить», «Удалить» и «Удалить все», выбирая даты с помощью открывающихся календариков, перетаскивая результаты мышью для придания нужной последовательности, вы получите массив данных, удобных для отображения, например, в универсальном передаточном документе.

Той же цели служит поле «Идентификатор гос. контракта». Его длина ограничена 255 произвольными символами.

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

Форма редактирования может содержать информацию об IP-адресе, с которого совершён заказ. Если заказ создан администратором — этот параметр не фиксируется.

По окончании нажмите кнопку «Сохранить» и в случае отсутствия ошибок заполнения заказ будет создан или отредактирован. Только что созданный заказ автоматически появится в редакторе и будет выделен. При закрытии формы без сохранения все введённые данные будут утеряны.

Для удаления выделенного заказа нажмите кнопку «Удалить» или латинскую «D» («Delete») на клавиатуре. Выберите папку с днём, месяцем или годом для удаления всех заказов за выделенный период. После согласия с диалогом подтверждения данные будут необратимо уничтожены.

Бухгалтерские документы

Для каждого заказа можно сформировать счёт на оплату, счёт-фактуру, товарную накладную, универсальный передаточный документ, акт, товарный чек, коммерческое предложение и гарантийный талон. Выделите нужный заказ и нажмите кнопку «Документы» или латинскую «P» на клавиатуре. Откроется форма печати документов.

Форма печати документов

Сначала укажите номер и дату необходимого документа. Эти параметры предлагаются автоматически: новый номер больше максимального на единицу, а в поле «Дата» вписано сегодняшнее число. Значения, не сохранённые в базе, выделены серым цветом. Номера документов должны быть уникальны, проверка допустимости осуществляется в фоновом режиме. Для упрощения выбора даты при фокусировке поля открывается удобный календарик. По умолчанию в полученном документе выводятся позиции, отмеченные соответствующими галочками: для счёта — «С», УПД — «У» и т. д. Отобразить противоположный результат позволит параметр «инвертировать вывод».

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

Настройки модуля

На вкладке «Настройки» вы увидите следующую форму:

Настройки интернет-магазина

В группе «Используемые параметры» можно отключить ненужные поля форм добавления и редактирования заказов. Выберите те параметры, правка которых будет отражаться на дате обновления заказа в разделе «Фиксирование изменений». Измененяйте статусы по умолчанию, настройки автоматических почтовых сообщений и количество заказов, выводимых на одной странице в разделах «История» и «Список желаний». Во избежание флуда доступно ограничение на количество создаваемых заказов с одного IP-адреса в сутки. После внесения изменений не забывайте нажимать на кнопку «Сохранить».

API, шаблоны и блоки

С помощью API производится формирование, редактирование и листинг списка желаний и корзины; оформление заказа; получение информации о данных и составе заказов, совершённых ранее. Взаимодействие может осуществляться в фоновом режиме. Ответ формируется как в формате «XML» (по умолчанию), так и «JSON» (по запросу). Получение данных о товарах может быть ограничено настройками модуля «Каталог».

Модуль «Магазин» использует 18 шаблонов. Шаблон «Главная страница» предназначен для формирования корневого раздела по адресу «/shop/». В нём может находиться любая информация, например, справочного характера. Шаблоны «Корзина» и «Пустая корзина» выводят содержимое корзины или сообщение о его отсутствии. Контент шаблона «Авторизация» отображается в разделах «Список желаний» («/shop/wishlist/») и «История заказов» («/shop/history/»), приглашая пользователя для начала войти на сайт. При успешной авторизации будут применены шаблоны «Список желаний» или «История заказов», описывающие типы данных и формат их вывода. Для генерирования подробной информации о заказе предназначен шаблон «Детализация заказа». Если желания/оформленные заказы отсутствуют — используются шаблоны «Отсутствие желаний»/«Пустая история» соответственно. Для отправки автоматических электронных писем с содержимым заказа необходим шаблон «Сообщение о заказе». Шаблоны «Счёт», «Счёт-фактура», «Накладная», «УПД», «Акт», «Товарный чек», «Коммерческое предложение» и «Гарантийный талон» задают внешний вид соответствующих документов.

В шаблоны сайта вы можете вставлять блоки «Содержимое корзины», отображающие информацию о товарах при их наличии; «Заказы», информирующие о ранее совершённых авторизованным пользователем покупках; и «Список желаний» — название этого блока говорит само за себя.

Построение запросов и формат ответов API, а также переменные, используемые в шаблонах и блоках, описаны в справочном файле, размещённом в вашей панели администрирования.