CCrmMobileHelper::PrepareInvoiceClientRequisites

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmMobileHelper
  4. PrepareInvoiceClientRequisites
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/mobile_helper.php
  • Класс: \CCrmMobileHelper
  • Вызов: CCrmMobileHelper::PrepareInvoiceClientRequisites
static function PrepareInvoiceClientRequisites($personTypeID, &$properties)
{
	if(!is_int($personTypeID))
	{
		$personTypeID = intval($personTypeID);
	}

	if($personTypeID <= 0)
	{
		return array();
	}

	if(!self::$INVOICE_PROPERTY_INFOS)
	{
		self::$INVOICE_PROPERTY_INFOS = CCrmInvoice::GetPropertiesInfo(0, true);
	}

	$propertyInfos = isset(self::$INVOICE_PROPERTY_INFOS[$personTypeID]) ? self::$INVOICE_PROPERTY_INFOS[$personTypeID] : array();
	$result = array();
	foreach($properties as $alias => &$property)
	{
		$propertyFields = isset($property['FIELDS']) ? $property['FIELDS'] : null;
		if(!is_array($propertyFields) || empty($propertyFields))
		{
			continue;
		}

		$id = isset($propertyFields['ID']) ? $propertyFields['ID'] : 0;
		$code = isset($propertyFields['CODE']) ? $propertyFields['CODE'] : '';

		if(!isset($propertyInfos[$code]))
		{
			// Property is not allowed (or required) in CRM context
			continue;
		}

		$result[] = array(
			'ID' => $id,
			'CODE' => $code,
			'ALIAS' => $alias,
			'TYPE' => isset($propertyFields['TYPE']) ? $propertyFields['TYPE'] : 'TEXT',
			'SORT' => isset($propertyFields['SORT']) ? intval($propertyFields['SORT']) : 0,
			'REQUIRED' => isset($propertyFields['REQUIRED']) && $propertyFields['REQUIRED'] === 'Y',
			'TITLE' => isset($propertyInfos[$code]) && isset($propertyInfos[$code]['NAME']) ? $propertyInfos[$code]['NAME'] : $code,
			'VALUE' => isset($property['VALUE']) ? $property['VALUE'] : ''
		);
	}
	unset($property);
	return $result;
}

Добавить комментарий