external:pro_bonus:98_dop:21_raznie_proxenti_oplat

Различия

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

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

Следующая версия
Предыдущая версия
external:pro_bonus:98_dop:21_raznie_proxenti_oplat [2025/03/20 08:43] – создано Алексей Коробовexternal:pro_bonus:98_dop:21_raznie_proxenti_oplat [2026/10/22 07:07] (текущий) – В скрипте исправлено условие отладочного вывода (if not result) Алексей Коробов
Строка 1: Строка 1:
-Разный процент оплаты для разных счетов+====== Разный процент оплаты для разных счетов ======
  
-Бывает ситуация, когда часть счетов должна иметь ограничения на оплату бонусами, а часть - не должна. +Бывает ситуация, когда часть счетов должна иметь ограничения на оплату бонусами, а часть — не должна. При этом стандартная настройка подразумевает, что в r_keeper всего одна валюта для оплаты бонусами и у неё задаётся процент.
-При этом стандартная настройка подразумевает, что в r_keeper всего одна валюта для оплаты бонусами и у неё задаётся процент.+
  
-Сделать две отдельные валюты и две отдельные скидки - для гостей и для персонала. +Пример: гости могут оплачивать бонусами 30% заказа, персонал — 100%.
- +
  
-В интерфейсе ProBonus для групп счетов гостей и персонала в поле "Шаблон для API" указать созданные скидки+Решение для этой ситуации:
  
 +  - Сделать две отдельные валюты и две отдельные скидки — для гостей и для персонала.
 +  - В админке ProBonus для групп счетов гостей и персонала в поле «Шаблон для API» указать созданные скидки. Это нужно, чтобы при регистрации в Telegram-боте гости сразу получали нужные привязанные скидки.
  
 В скрипт вписать коды скидок и валют соответственно. В скрипт вписать коды скидок и валют соответственно.
  
 +Скрипт на форму редактирования заказа.
  
-Скрипт на форму редактирования заказа: +В данном примере предполагается, что есть скидка «для персонала» с кодом 26 и ей соответствует валюта с кодом 101, а также скидка «для гостей» с кодом 25 и ей соответствует валюта с кодом 102.
  
 <code> <code>
-//ищет скидку бонусной карты+//проверяется заказ, проверяются скидки в нём
 function FindBonusDiscount(DiscCode :integer) :boolean;     function FindBonusDiscount(DiscCode :integer) :boolean;    
 var var
Строка 29: Строка 29:
     if SYS.ObjectInheritsFrom(TObject(it), 'TDiscountItem') then      if SYS.ObjectInheritsFrom(TObject(it), 'TDiscountItem') then 
     begin     begin
-      //Если дана картой ПДС и неудаленная+      //Если неудаленная
       if (TDiscountItem(it).State <> disDeleted) then //если активна        if (TDiscountItem(it).State <> disDeleted) then //если активна 
-      //if (TDiscountItem(it).ChargeSource = chsInterface) then //если Добавлена интерфейсом+      //if (TDiscountItem(it).ChargeSource = chsInterface) then //если добавлена интерфейсом (т. е. не вручную)
       begin                           begin                    
         dbg.dbgprint('найдена бонусная скидка ' + TDiscountItem(it).Name + ' код скидки ' + IntToStr(TDiscountItem(it).Code) + ' элемент № ' + IntToStr(TDiscountItem(it).Number));         dbg.dbgprint('найдена бонусная скидка ' + TDiscountItem(it).Name + ' код скидки ' + IntToStr(TDiscountItem(it).Code) + ' элемент № ' + IntToStr(TDiscountItem(it).Number));
Строка 40: Строка 40:
   end;    end; 
   if result then dbg.dbgprint('FindBonusDiscount true ' + IntToStr(DiscCode));    if result then dbg.dbgprint('FindBonusDiscount true ' + IntToStr(DiscCode)); 
-  if result then dbg.dbgprint('FindBonusDiscount false ' + IntToStr(DiscCode)); +  if not result then dbg.dbgprint('FindBonusDiscount false ' + IntToStr(DiscCode)); 
 end;      end;     
  
-//фильтр пдс-оплат: для каждого интерфейса только последняя примененная в заказе карта и только одной валютой+//фильтр оплат картой/счётом ProBonus: для каждого интерфейса только последняя примененная в заказе карта и только одной валютой
 procedure MainSelectorOnSuitableObjectScript(Sender: TBasePanel; Obj: TObject; var Suitable: boolean); procedure MainSelectorOnSuitableObjectScript(Sender: TBasePanel; Obj: TObject; var Suitable: boolean);
 begin begin
Строка 64: Строка 64:
 end; end;
 </code> </code>
 +
  • external/pro_bonus/98_dop/21_raznie_proxenti_oplat.1742460206.txt.gz
  • Последнее изменение: 2025/03/20 08:43
  • — Алексей Коробов