ProviderDecorator::prepareRequisiteValues

  1. Bitrix24 API (v. 23.675.0)
  2. crmmobile
  3. ProviderDecorator
  4. prepareRequisiteValues
  • Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/UI/EntityEditor/ProviderDecorator.php
  • Класс: Bitrix\CrmMobile\UI\EntityEditor\ProviderDecorator
  • Вызов: ProviderDecorator::prepareRequisiteValues
private function prepareRequisiteValues(array $values): array
{
	$values['REQUISITES_RAW'] = [];
	$values['REQUISITES_ADDRESSES_RAW'] = [];

	if (!empty($values['REQUISITES']) && is_array($values['REQUISITES']))
	{
		foreach ($values['REQUISITES'] as $requisite)
		{
			if (!empty($requisite['requisiteData']))
			{
				try
				{
					$requisiteData = Json::decode($requisite['requisiteData']);
					$requisiteAddresses = $requisiteData['fields']['RQ_ADDR'] ?? [];

					if (!empty($requisiteAddresses) && is_array($requisiteAddresses))
					{
						foreach ($requisiteAddresses as $id => $requisiteAddressJson)
						{
							$formatter = AddressFormatter::getSingleInstance();
							$requisiteAddress = $formatter->formatLocationAddressArrayAsString(
								Json::decode($requisiteAddressJson)
							);
							$values['REQUISITES_ADDRESSES_RAW'][$id] = $requisiteAddress;
						}
					}

					$requisite['requisiteData'] = $requisiteData;

					$values['REQUISITES_RAW'][] = $requisite;
				}
				catch (\Exception $e)
				{
				}
			}
		}
	}

	unset($values['REQUISITES']);

	return $values;
}

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