DOCS_BONUS

Документ бонусных движений клиентов

Назначение

Репликационная таблица DOCS_BONUS из БД Химчистка хранит список операций с бонусами.

Поля таблицы

Поле Описание
1IDВнНомер
2DOC_IDСсылка на документ, заполняется из DOCS
3DEBETСумма разового начисления боуса или всех привязанных начислений
4KREDITСумма расхода оплаты бонусом
5KASSA_IDКасса на которой была произведена оплата, заполняется из KASSES
6SCLAD_IDСклад на котором была произведена оплата, заполняется из SCLADS
7ACTIVE_BEFOREДата активности бонуса, если не заполнено - безсрочно
8COMMENTЧитебельное описание записи, заполняется автоматически
9BONUS_STATUS_ID
10ALREADY_PAYEDСумма расхода родительской записи, суммируется из всех привязанных оплат
11BONUS_IDСсылка на родительскую запись, если текущая - документ оплаты. Заполняется из DOCS_BONUS
12PARENT_BONUS_IDСсылка на родительскую запись, если текущая - документ начисления. Заполняется из DOCS_BONUS
13ONE_TIME
14BONUS_DISCOUNT_EXT_IDСсылка на «Внешнюю дисконтную схему» по которой производилось начисление, заполняется из DISCOUNT_EXTERNL
15BONUS_DISCOUNT_IDСсылка на «Дисконтную схему» по которой производилось начисление, заполняется из DISCONT_SCHEMES
16BONUS_PACK_IDСсылка на «Бонусный пакет» по которой производилось начисление, заполняется изBONUS_PACK
17DOCS_CHANGE_NUM
18MAX_PERCENT_IN_ZAKAZМаксимальный процент оплаты заказа
19DOCS_DEPOSIT_ID
20DOC_ORDER_IDСсылка на заказ по которому производилось начисление, заполняется из DOCS_ORDER
21SEL_EXT_ID
22BAR_ACTIVE
23PROMO_CODE_ID
24IS_AEROFLOT
25IS_OEM

В таблице хранится 3 вида записей связанные между собой:

Дочерняя запись начисления
Хранит в себе сумму начисления (в поле DEBET) и ссылку к родительской записи (в поле PARENT_BONUS_ID). Дополнительно содержит информацию об источнике начисления (ссылку на ВДС, заказ).

Дочерняя запись траты/списания
Хранит в себе сумму трат (в поле KREDIT) и ссылку к родительской записи (в поле BONUS_ID).

Родительская запись
Хранит в себе аккумулированную информацию по начислениям и тратам бонуса определенного источника (разового начисления скриптом или по ВДС). Сумма всех начислений хранится в поле DEBET, а расхода в ALREADY_PAYED. Если к родительской не привязано ни одной записи дочернего начисления, поле DEBET не корректируется.

Зпросы

select
  db.id                     , -- ВнНомер - внутренний номер документа оплаты в системе Агбис.
  db.doc_id                 , -- Документ-основание (приход / расход бонуса)
  db.debet                  , -- Расход (Оплата бонусами) (Сумма - сумма оплаты.)
  db.kredit                 , -- Приход (Зачисление бонуса)
  db.kassa_id               , -- Касса - касса, на которой оформлен платеж бонусом.
  db.sclad_id               , -- Склад - склад (приемный пункт), на котором оформлен платеж бонусом.
  db.ACTIVE_BEFORE          , -- Действует до
  db.COMMENT                , --
  db.BONUS_STATUS_ID        , --
  db.ALREADY_PAYED          , --
  db.BONUS_ID               , -- родительская запись о тратах
  db.PARENT_BONUS_ID        , -- родительская запись о начислениях  
  db.ONE_TIME               , -- Только разовое использование
  db.BONUS_DISCOUNT_EXT_ID  , -- ВДС
  db.BONUS_DISCOUNT_ID      , -- ДС
  db.DEP_ID                 , --
  db.LAST_DEP_ID            , --
  db.DEP_SRC_ID             , --
  db.DOCS_CHANGE_NUM        , --
  db.MAX_PERCENT_IN_ZAKAZ   , -- Максимальный процент оплаты заказа
  db.DOCS_DEPOSIT_ID        , --
  db.DOC_ORDER_ID           , -- Заказ из которого начислен бонус
  db.SEL_EXT_ID             , -- Оплачивать при выбранной ВДС
  db.BAR_ACTIVE             , -- ШК карты
  dc.promo_code_id          , -- 
  dc.is_aeroflot            
from docs_bonus dc -- Бонусы

Использование таблицы