Skip to content

Класс B24HelperManager

Является универсальным классом, который управляет начальными данными приложения в Битрикс24. Он предоставляет методы для загрузки данных, управления профилем, приложением, оплатой, лицензией, валютами и опциями, а также для работы с клиентом Pull.

TIP

Работу с B24HelperManager можно протестировать в примере.

Инициализировать нужно черех хук useB24Helper.initB24Helper

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
async function init(): Promise<void>
{
	// ... ////
	$b24 = await initializeB24Frame()
	await initB24Helper(
		$b24,
		[
			LoadDataType.Profile,
			LoadDataType.App,
			LoadDataType.Currency,
			LoadDataType.AppOptions,
			LoadDataType.UserOptions,
		]
	)
	// ... ////
}
// ... ////

Методы

getLogger

ts
getLogger(): LoggerBrowser

Возвращает текущий логгер.

setLogger

ts
setLogger(
	logger: LoggerBrowser
): void

Устанавливает логгер.

destroy

ts
destroy(): void

Уничтожает клиент Pull

loadData

ts
async loadData(
	dataTypes: LoadDataType[] = [
		LoadDataType.App,
		LoadDataType.Profile
	]
): Promise<void>

Загружает данные по указанным типам.

См initB24Helper

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const {	initB24Helper, getB24Helper } = useB24Helper()
// ... ////
async function init(): Promise<void>
{
	// ... ////
	$b24 = await initializeB24Frame()
	await initB24Helper(
		$b24,
		[
			LoadDataType.Profile,
			LoadDataType.App,
			LoadDataType.AppOptions
		]
	)
	// ... ////
}
// ... ////

async function reloadData(): Promise<void>
{
	// ... ////
	return getB24Helper().loadData([
		LoadDataType.Profile,
		LoadDataType.App,
		LoadDataType.AppOptions
	])
	.then(() => {
		// ... ////
	})
}

usePullClient

ts
usePullClient(
	prefix: string = 'prefix',
	userId?: number
): B24HelperManager

Инициализирует использование клиента Pull

Подробнее

subscribePullClient

ts
subscribePullClient(
	callback: (message: TypePullMessage) => void,
	moduleId: string = 'application'
): B24HelperManager

Подписывается на события клиента Pull

Подробнее

startPullClient

ts
startPullClient(): void

Запускает клиент Pull

Подробнее

getModuleIdPullClient

ts
getModuleIdPullClient(): string

Возвращает moduleId из subscribePullClient

Стоит использовать при отправке сообщения в Pull

Геттеры

isInit

ts
get isInit(): boolean

Возвращает true, если данные инициализированы.

ts
import { useB24Helper } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24)
// ... ////
$logger.info(getB24Helper().isInit)
// ... ////

profileInfo

ts
get profileInfo(): ProfileManager

Возвращает данные профиля.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.Profile])
// ... ////
$logger.info(getB24Helper().profileInfo.data)
// ... ////

appInfo

ts
get appInfo(): AppManager

Возвращает данные статуса приложения.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().appInfo.data)
// ... ////

paymentInfo

ts
get paymentInfo(): PaymentManager

Возвращает данные оплаты приложения.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().paymentInfo.data)
// ... ////

licenseInfo

ts
get licenseInfo(): LicenseManager

Возвращает данные лицензии Битрикс24.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().licenseInfo.data)
// ... ////

currency

ts
get currency(): CurrencyManager

Возвращает данные валюты.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.Currency])
// ... ////
$logger.info({
	baseCurrency: getB24Helper().currency.baseCurrency,
	currencyList: getB24Helper().currency.currencyList
})
// ... ////

appOptions

ts
get appOptions(): OptionsManager

Возвращает опции приложения.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.AppOptions])
// ... ////
$logger.info(getB24Helper().appOptions.data)
// ... ////

userOptions

ts
get userOptions(): OptionsManager

Возвращает опции пользователя.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.UserOptions])
// ... ////
$logger.info(getB24Helper().userOptions.data)
// ... ////

forB24Form

ts
get forB24Form(): TypeB24Form

Возвращает данные для передачи в форму обратной связи (CRM-форму) Битрикс24

ПолеТипОписание
app_codestringКод приложения в Битрикс24
app_statusstringСтатус приложения
payment_expiredBoolStringСтроковое представление булевого значения, указывающее, истек ли срок оплаты ('Y' для истекшего, 'N' для активного)
daysnumberКоличество дней до истечения срока оплаты или после истечения
b24_planstringИдентификатор тарифного плана Битрикс24 (актуально для облачных версий)
c_namestringИмя пользователя.
c_last_namestringФамилия пользователя.
hostnamestringАдрес Битрикс24 (например, name.bitrix24.com).
ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App, LoadDataType.Profile])
// ... ////
$logger.info(getB24Helper().forB24Form)
// ... ////

TIP

Работу с формы обратной связи (CRM-форма) Битрикс24 можно протестировать в примере.

hostName

ts
get hostName(): string

Возвращает адрес Битрикс24

ts
import { useB24Helper } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24)
// ... ////
$logger.info(getB24Helper().hostName)
// ... ////

isSelfHosted

ts
get isSelfHosted(): boolean

Возвращает true, если приложение развернуто на собственном сервере.

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().isSelfHosted)
// ... ////

primaryKeyIncrementValue

ts
get primaryKeyIncrementValue(): number

Возвращает шаг инкремента для полей типа ID.

Для коробки 1, для облака - 2

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().primaryKeyIncrementValue)
// ... ////

b24SpecificUrl

ts
get b24SpecificUrl(): Record<keyof typeof TypeSpecificUrl, string>

export const TypeSpecificUrl = {
	MainSettings: 'MainSettings',
	UfList: 'UfList',
	UfPage: 'UfPage'
} as const

Возвращает специфические URL для Битрикс24

ts
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()

// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().b24SpecificUrl.MainSettings)
// ... ////

Опубликовано под лицензией MIT.