external:pro_bonus:98_dop:30_potrat

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

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