| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| external:pro_bonus:98_dop:30_potrat [2023/10/30 09:17] – Алексей Коробов | external:pro_bonus:98_dop:30_potrat [2026/10/22 06:59] (текущий) – Исправлены орфография, пунктуация и оформление; содержание не изменено Алексей Коробов |
|---|
| ====== Загрузка потрат по счетам в БД ====== | ====== Загрузка потрат по счетам в БД ====== |
| |
| Может быть полезно при переходе с другой системы лояльности в том случае, когда от потрат гостя зависит текущий уровень его скидки или бонуса. | **Описанное ниже устарело.** В актуальной версии нужно использовать функциональность [[external:pro_bonus:03_probonus_work:01_webadmin:11_import:03_import_spending|Импорт потрат]]. |
| В данном контексте "потраты" - это сумма оплаченных им денег в заказах, где была применена лояльность. Это не сумма списанных с его счёта бонусов. | |
| | Может быть полезно при переходе с другой системы лояльности в том случае, когда от потрат гостя зависит текущий уровень его скидки или бонуса. В данном контексте «потраты» — это сумма оплаченных им денег в заказах, где была применена лояльность. Это не сумма списанных с его счёта бонусов. |
| | |
| | Для ProBonus существует возможность загрузить в БД такую информацию напрямую SQL-запросом. Обычно это нужно сделать один раз, сразу после переноса списка счетов (карт через импорт из файла). |
| |
| Для ProBonus существует возможность загрузить в БД такую информацию напрямую, SQL-запросом. Обычно это нужно сделать один раз, сразу после переноса списка счетов (карт через импорт из файла). | |
| Особенности: | Особенности: |
| | |
| * все потраты будут внесены в базу сегодняшним числом; | * все потраты будут внесены в базу сегодняшним числом; |
| * если при импорте будут строки с идентификаторами, которых в базе нет - потраты по данной строке не будут импортированы; | * если при импорте будут строки с идентификаторами, которых в базе нет, потраты по данной строке не будут импортированы. |
| |
| ===== Пример скрипта ===== | ===== Пример скрипта ===== |
| |
| В данном примере: | В данном примере: |
| * на счёт, у которого привязана карта с номером 100002, привязывается потрата в 6543 руб (в запросе указано 654300 - в копейках); | |
| * на счёт, у которого привязана карта с номером 100003, привязывается потрата в 3697 руб (в запросе указано 369700 - в копейках); | * на счёт, к которому привязана карта с номером 100002, привязывается потрата в 6543 руб. (в запросе указано 654300 — в копейках); |
| | * на счёт, к которому привязана карта с номером 100003, привязывается потрата в 3697 руб. (в запросе указано 369700 — в копейках). |
| |
| ===== Как сделать скрипт ===== | ===== Как сделать скрипт ===== |
| Чтобы не писать скрипт на тысячи строк вручную, можно воспользоваться excel-шаблоном, который сгенерирует скрипт. | |
| | Чтобы не писать скрипт на тысячи строк вручную, можно воспользоваться Excel-шаблоном, который сгенерирует скрипт. |
| Ссылка на шаблон: https://disk.yandex.ru/i/DISjT17acnzx_w | Ссылка на шаблон: https://disk.yandex.ru/i/DISjT17acnzx_w |
| | |
| Как это сделать: | Как это сделать: |
| 0) Перед манипуляциями сделать резервную копию SQL-базы ProBonus. | |
| 1) Выгрузить из другой системы лояльности информацию в 2 столбика. Первый столбик - номер карты (или другого идентификатора). Второй столбик-потраты в рублях (не в копейках). | **0.** Перед манипуляциями сделайте резервную копию SQL-базы ProBonus. |
| 2) Взять приложенный к статье excel-файл и скопировать в него эти данные. | |
| В какую именно область копировать - выделено зелёным фоном. | **1.** Выгрузите из другой системы лояльности информацию в 2 столбца. Первый столбец — номер карты (или другого идентификатора). Второй столбец — потраты в рублях (не в копейках). |
| | |
| | **2.** Возьмите приложенный к статье Excel-файл и скопируйте в него эти данные. Область, в которую нужно копировать, выделена зелёным фоном. |
| {{:external:pro_bonus:98_dop:pasted:20231030-120538.png}} | {{:external:pro_bonus:98_dop:pasted:20231030-120538.png}} |
| 3) Скопировать скрипт из ячейки C5 нужное кол-во раз по строкам. Сколько строк с данными - столько раз скрипт. В примере всего 3 строки и скрипт скопирован 3 раза. Скрипт содержит формулу, ссылающуюся на столбцы А и B. | |
| | **3.** Скопируйте скрипт из ячейки C5 нужное количество раз по строкам: сколько строк с данными, столько раз и скрипт. В примере всего 3 строки, и скрипт скопирован 3 раза. Скрипт содержит формулу, ссылающуюся на столбцы A и B. |
| {{:external:pro_bonus:98_dop:pasted:20231030-120711.png}} | {{:external:pro_bonus:98_dop:pasted:20231030-120711.png}} |
| 4) Скопировать готовый скрипт, включая три строки в которых объявляются переменные (см. красную рамку на скриншоте) | |
| | **4.** Скопируйте готовый скрипт, включая три строки, в которых объявляются переменные (см. красную рамку на скриншоте). |
| {{:external:pro_bonus:98_dop:pasted:20231030-120829.png}} | {{:external:pro_bonus:98_dop:pasted:20231030-120829.png}} |
| 5) В SQL Server Management Studio этот скрипт вставить в готовом виде и выполнить. | |
| | **5.** В SQL Server Management Studio вставьте этот скрипт в готовом виде и выполните. |
| {{:external:pro_bonus:98_dop:pasted:20231030-121154.png}} | {{:external:pro_bonus:98_dop:pasted:20231030-121154.png}} |
| 6) Проверить в web-админке probonus, посмотрев "Транзакции по счёту". На скриншоте ниже пример - для карты 21959073 добавлена "потрата" в 123 руб. | |
| | **6.** Проверьте результат в веб-админке ProBonus, посмотрев «Транзакции по счёту». На скриншоте ниже пример: для карты 21959073 добавлена «потрата» в 123 руб. |
| {{:external:pro_bonus:98_dop:pasted:20231030-121620.png}} | {{:external:pro_bonus:98_dop:pasted:20231030-121620.png}} |
| | |