- Модуль: 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;
}