コード例 #1
0
 public function getBusinessValue($mapping)
 {
     $value = null;
     if (is_array($mapping) && isset($mapping['PROVIDER_NAME'], $mapping['PROVIDER_FIELD'])) {
         switch ($mapping['PROVIDER_NAME']) {
             case 'SHIPMENT':
                 $value = $this->getField($mapping['PROVIDER_FIELD']);
                 break;
             case 'COMPANY':
                 if ($companyId = $this->getField('COMPANY_ID')) {
                     if (substr($mapping['PROVIDER_FIELD'], 0, 3) == 'UF_') {
                         global $USER_FIELD_MANAGER;
                         $value = $USER_FIELD_MANAGER->GetUserFieldValue(Internals\CompanyTable::getUfId(), $mapping['PROVIDER_FIELD'], $companyId) ?: null;
                     } elseif ($company = Internals\CompanyTable::getById($companyId)->fetch()) {
                         $value = $company[$mapping['PROVIDER_FIELD']];
                     }
                 }
                 break;
             default:
                 /** @var ShipmentCollection $collection */
                 $value = ($collection = $this->getCollection()) && ($order = $collection->getOrder()) ? $order->getBusinessValue($mapping) : BusinessValue::getValueFromMapping($mapping);
         }
     }
     return $value;
 }