• Модуль: catalogmobile
  • Путь к файлу: ~/bitrix/modules/catalogmobile/lib/EntityEditor/RealizationDocumentProvider.php
  • Класс: BitrixCatalogMobileEntityEditorRealizationDocumentProvider
  • Вызов: RealizationDocumentProvider::getEntityData
public function getEntityData(): array
{
	$entityData = $this->shipment->getFieldValues();

	if (isset($entityData['DATE_INSERT']))
	{
		$entityData['DATE_INSERT'] = CCrmComponentHelper::TrimZeroTime($entityData['DATE_INSERT']);
	}

	if (!isset($this->entityData['CURRENCY']) || $this->entityData['CURRENCY'] === '')
	{
		if ($this->order->getCurrency())
		{
			$entityData['CURRENCY'] = $this->order->getCurrency();
		}
		else
		{
			$entityData['CURRENCY'] = CCrmCurrency::GetBaseCurrencyID();
		}
	}

	if (!$this->shipment->getId())
	{
		$entityData['RESPONSIBLE_ID'] = BitrixMainEngineCurrentUser::get()->getId();

		$bindingEntity = $this->getOwnerEntity();
		if ($bindingEntity)
		{
			$entityData['RESPONSIBLE_ID'] = $bindingEntity->getAssignedById();
		}
	}

	$entityData['DOC_TYPE'] = 'W';
	$entityData['RESPONSIBLE_ID_ENTITY_LIST'] = $this->getResponsibleIdEntityList($entityData);
	$entityData['CLIENT_INFO'] = $this->getClientInfo();
	$entityData['DOCUMENT_PRODUCTS'] = $this->getDocumentProductsPreview($entityData);
	$entityData['DOC_STATUS'] = $this->getDocStatus($entityData);
	if ($this->needDeliveryBlock())
	{
		$entityData['DELIVERY_NAME'] = $this->getDeliveryName((int)$entityData['DELIVERY_ID']);

		$calcPrice = $this->shipment->calculateDelivery();
		if (!$calcPrice->isSuccess())
		{
			$entityData['ERRORS'] = $calcPrice->getErrorMessages();
		}

		if ($entityData['CUSTOM_PRICE_DELIVERY'] !== 'Y' && $this->shipment->getId() <= 0)
		{
			$entityData['PRICE_DELIVERY'] = $calcPrice->getPrice();
		}

		$entityData['FORMATTED_PRICE_DELIVERY_WITH_CURRENCY'] = CCrmCurrency::MoneyToString(
			$entityData['PRICE_DELIVERY'],
			$entityData['CURRENCY'],
			''
		);
		$entityData['FORMATTED_PRICE_DELIVERY'] = CCrmCurrency::MoneyToString(
			$entityData['PRICE_DELIVERY'],
			$entityData['CURRENCY'],
			'#'
		);

		$entityData['PRICE_DELIVERY_CALCULATED'] = $calcPrice->getPrice();

		$entityData['FORMATTED_PRICE_DELIVERY_CALCULATED_WITH_CURRENCY'] = CCrmCurrency::MoneyToString(
			$entityData['PRICE_DELIVERY_CALCULATED'],
			$entityData['CURRENCY'],
			''
		);
		$entityData['FORMATTED_PRICE_DELIVERY_CALCULATED'] = CCrmCurrency::MoneyToString(
			$entityData['PRICE_DELIVERY_CALCULATED'],
			$entityData['CURRENCY'],
			'#'
		);

		if ($entityData['DELIVERY_ID'] > 0)
		{
			$extraServiceManager = new BitrixSaleDeliveryExtraServicesManager($entityData['DELIVERY_ID']);
			$extraServiceManager->setOperationCurrency($entityData['CURRENCY']);
			$extraServiceManager->setValues($this->shipment->getExtraServices());
			$extraService = $extraServiceManager->getItems();

			$entityData['EXTRA_SERVICES_DATA'] = $this->getExtraServices(
				$extraService,
				$this->shipment
			);
		}

		$entityData = array_merge($entityData, $this->getShipmentPropertiesData());
	}

	return $entityData;
}