Jump to content

Инструмент для отображения статистики по продажам. Оплачиваемый заказ.


Recommended Posts

Заказ с оплатой. Необходимо создать инструмент для отображения статистики по продажам.
Должен быть выполнен не в админке, а на сайте. Может быть выполнен как угодно - как php код, как код шаблона, как виджет или как блок. В случае кода, параметры должны идти в начале, иначе нужно делать окно настройки каждого виджета / блока.

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

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

Строка в списке покупок выглядит как: дата, номер счета, сумма+валюта, наименование товара. Все без ссылок, простой текст. Сортировка обратная по дате. Общая сумма показывает просто сумму всех покупок в списке (в случае с пагинацией именно всех покупок а не видимых).
Алгоритм получения списка покупок.
Берем все счета (invoice) за указанный период (включая крайние даты) в статусе STATUS_PAID. Транзакции нас не интересуют. Смотрим все items внутри счета и если itemID находится в списке интересующих нас товаров, то добавляем его в итоговый список, используя дату со счета, номер счета, цену с item'а и валюту со счета, название itemName с item'а. Цена формируется как cost * quantity, но есть тонкости со скидкой. Необходимо найти в items купоны скидки (\IPS\nexus\extensions\nexus\Item\CouponDiscount) и правильно их обработать, как это сделать можно посмотреть в методе \IPS\nexus\Invoice::summary(). Доставка (shipping) и налог (tax) не обрабатываются. Один счет может породить несколько итоговых записей в списке, если в него входило несколько интересующих нас товаров.

Если Исполнитель сделает грамотно, то работу буду постоянно подкидывать))

Не стесняйтесь в цене.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...