external:pro_bonus:98_dop:30_potrat

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
external:pro_bonus:98_dop:30_potrat [2023/10/30 09:01] – Алексей Коробов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-скрипта для импорта потрат:
Строка 31: Строка 36:
  
 В данном примере: В данном примере:
-  * на счёт, у которого привязана карта с номером 100002, привязывается потрата в 6543 руб (в запросе указано 654300 - в копейках); + 
-  * на счёт, у которого привязана карта с номером 100003, привязывается потрата в 3697 руб (в запросе указано 369700 - в копейках);+  * на счёт, к которому привязана карта с номером 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.1698656507.txt.gz
  • Последнее изменение: 2023/10/30 09:01
  • — Алексей Коробов