Битрикс API – внутренний счет самые нужные методы

В данной статье ознакомимся с самыми популярными методами для решения задач связанных с внутренним счетом.

Зачем вообще нужен внутренний счет в Битриксе? Для того чтобы накапливать и списывать “бонусы”, оплачивать с их помощью покупки. Данные методы помогут вам реализовать “начисление бонусов за приглашение”, “начисление бонусов за покупку”, “списание бонусов при оформлении заказа” и многое другое.

CSaleUserAccount::GetByID

При помощи данного метода вы можете получить массив с необходимыми параметрами по счету:

<?if ($ar = CSaleUserAccount::GetByID(5)) {
   echo "На счете ".SaleFormatCurrency($ar["CURRENT_BUDGET"], $ar["CURRENCY"]); 
}?>

Как параметр мы передаем ID счета. А в массиве можем увидеть:

  • ID – код счета;
  • USER_ID – код пользователя-владельца;
  • CURRENT_BUDGET – текущая сумма на счете;
  • CURRENCY – валюта;
  • NOTES – текстовое описание;
  • LOCKED – флаг заблокированности счета;
  • TIMESTAMP_X – дата последнего изменения;
  • DATE_LOCKED – дата блокировки счета.

CSaleUserTransact::Add и его брат CSaleUserTransact::Delete

Начнем со второго – чтобы удалить транзакцию вам достаточно передать её ID:

$del = CSaleUserTransact::Delete(123);

Для добавления есть возможность передать целую кучу параметров в базу:

  • USER_ID – код пользователя;
  • AMOUNT – сумма;
  • CURRENCY – валюта суммы;
  • DEBIT – “Y”, если занесение денег на счет, и “N”, если списание денег со счета;
  • DESCRIPTION – описание;
  • ORDER_ID – код заказа, если транзакция относится к заказу;
  • EMPLOYEE_ID – код пользователя, осуществившего транзакцию;
  • TRANSACT_DATE – дата транзакции.

Однако помните:
Добавление транзакции не влияет на состояние счёта пользователя. Для изменения счёта используйте CSaleUserAccount::UpdateAccount

SaleFormatCurrency

Данная функция выведет отформатированную строку в той валюте, которую вы указали в параметрах:

<?
echo SaleFormatCurrency(11800.95, "USD");
?>

Класс CSaleUserAccount

Данный класс пожалуй самый полезный. С его помощью можно:
– добавить новый счет пользователя (::Add)
– обновить уже созданный счет (::Update)
– удалить счет (::Delete)

Кроме того, рассмотрим самые полезные методы для управления внутренним счетом:
UpdateAccount – с его помощью можно изменить сумму на аккаунте (именно он и используется как основной метод)
– GetByUserID – параметры счета по ID пользователя
– GetByID – возвращает ассоциативный массив параметров счета

Несколько методов которые не вошли в этот список вы найдете ниже.

Полезные ссылки:

1. https://dev.1c-bitrix.ru/api_help/sale/classes/csaleusertransact/

2. https://dev.1c-bitrix.ru/api_help/sale/functions/saleformatcurrency.php

3. https://dev.1c-bitrix.ru/api_help/sale/classes/csaleuseraccount/

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *