Example #1
0
 /**
  * Perform reading main data from database, no cache is used for it
  * @throws Main\SystemException
  * @return void
  */
 protected function obtainDataOrder()
 {
     global $USER;
     $select = array('ID', 'LID', 'PERSON_TYPE_ID', 'PAYED', 'DATE_PAYED', 'EMP_PAYED_ID', 'CANCELED', 'DATE_CANCELED', 'EMP_CANCELED_ID', 'REASON_CANCELED', 'MARKED', 'DATE_MARKED', 'EMP_MARKED_ID', 'REASON_MARKED', 'STATUS_ID', 'DATE_STATUS', 'EMP_STATUS_ID', 'PRICE_DELIVERY', 'PRICE', 'CURRENCY', 'DISCOUNT_VALUE', 'USER_ID', 'DATE_INSERT', 'DATE_INSERT_FORMAT', 'DATE_UPDATE', 'USER_DESCRIPTION', 'ADDITIONAL_INFO', 'COMMENTS', 'TAX_VALUE', 'STAT_GID', 'RECURRING_ID', 'RECOUNT_FLAG', 'ORDER_TOPIC', 'ACCOUNT_NUMBER', 'XML_ID');
     $sort = array("ID" => "ASC");
     $filter = array("USER_ID" => $USER->GetID(), "ACCOUNT_NUMBER" => $this->requestData["ID"]);
     $arOrder = false;
     if ($this->options['USE_ACCOUNT_NUMBER']) {
         $res = \Bitrix\Sale\OrderTable::getList(array('filter' => $filter, 'select' => $select));
         if ($arOrder = $res->fetch()) {
             $this->requestData["ID"] = $arOrder["ID"];
         }
     }
     if (!$arOrder) {
         $filter = array("USER_ID" => $USER->GetID(), "ID" => $this->requestData["ID"]);
         $res = \Bitrix\Sale\OrderTable::getList(array('filter' => $filter, 'select' => $select));
         $arOrder = $res->fetch();
     }
     if (empty($arOrder)) {
         throw new Main\SystemException(str_replace("#ID#", $this->requestData["ID"], Localization\Loc::getMessage("SPOD_NO_ORDER")), self::E_ORDER_NOT_FOUND);
     }
     $arOShipment = array();
     $dbShipment = \Bitrix\Sale\Internals\ShipmentTable::getList(array('select' => array('DELIVERY_NAME', 'DEDUCTED', 'DATE_DEDUCTED', 'EMP_DEDUCTED_ID', 'REASON_UNDO_DEDUCTED', 'SYSTEM', 'ID', 'DELIVERY_ID', 'TRACKING_NUMBER', 'TRACKING_STATUS', 'TRACKING_DESCRIPTION', 'ALLOW_DELIVERY', 'DATE_ALLOW_DELIVERY', 'EMP_ALLOW_DELIVERY_ID', 'RESERVED', 'DELIVERY_DOC_NUM', 'DELIVERY_DOC_DATE'), 'filter' => array('ORDER_ID' => $arOrder['ID'])));
     while ($arShipment = $dbShipment->fetch()) {
         if ($arShipment['SYSTEM'] == 'Y') {
             continue;
         }
         $dbShipmentItem = \Bitrix\Sale\Internals\ShipmentItemTable::getList(array('select' => array('BASKET_ID', 'QUANTITY'), 'filter' => array('ORDER_DELIVERY_ID' => $arShipment['ID'])));
         $shipmentItems = array();
         while ($shipmentItem = $dbShipmentItem->fetch()) {
             $shipmentItem['QUANTITY'] = \Bitrix\Sale\BasketItem::formatQuantity($shipmentItem['QUANTITY']);
             $shipmentItems[$shipmentItem['BASKET_ID']] = $shipmentItem;
         }
         $arShipment['ITEMS'] = $shipmentItems;
         $arShipment['TRACKING_STATUS'] = \Bitrix\Sale\Delivery\Tracking\Manager::getStatusName($arShipment['TRACKING_STATUS']);
         $arOShipment[] = $arShipment;
     }
     $arOrder['SHIPMENT'] = $arOShipment;
     // for compatibility
     if (!empty($this->compatibilityShipmentFields) && is_array($this->compatibilityShipmentFields)) {
         foreach ($this->compatibilityShipmentFields as $shipmentField) {
             if (isset($arOShipment[0][$shipmentField])) {
                 $setFieldValue = $arOShipment[0][$shipmentField];
                 if ($setFieldValue instanceof Main\Type\Date || $setFieldValue instanceof Main\Type\DateTime) {
                     $setFieldValue = $setFieldValue->toString();
                 }
                 $arOrder[$shipmentField] = $setFieldValue;
             }
         }
     }
     //		$arOrder['DELIVERY_ID'] = $arOShipment[0]['DELIVERY_ID'];
     //		$arOrder['TRACKING_NUMBER'] = $arOShipment[0]['TRACKING_NUMBER'];
     $dbPayment = \Bitrix\Sale\Internals\PaymentTable::getList(array('select' => array('PAY_SYSTEM_NAME', 'PAID', 'ID', 'DATE_PAID', 'PAY_SYSTEM_ID', 'SUM', 'PAY_VOUCHER_NUM', 'PAY_VOUCHER_DATE', 'PS_STATUS', 'PS_STATUS_CODE', 'PS_STATUS_DESCRIPTION', 'PS_STATUS_MESSAGE', 'PS_SUM', 'PS_CURRENCY', 'PS_RESPONSE_DATE', 'DATE_PAY_BEFORE', 'DATE_BILL'), 'filter' => array('ORDER_ID' => $arOrder['ID'])));
     $arOPayment = array();
     while ($arPayment = $dbPayment->fetch()) {
         $arPayment['PAY_SYSTEM_NAME'] = htmlspecialcharsbx($arPayment['PAY_SYSTEM_NAME']);
         $arOPayment[] = $arPayment;
     }
     $arOrder['PAYMENT'] = $arOPayment;
     // for compatibility
     //		$arOrder['PAY_SYSTEM_ID'] = $arOPayment[0]['PAY_SYSTEM_ID'];
     //		$arOrder['PAY_VOUCHER_NUM'] = $arOPayment[0]['PAY_VOUCHER_NUM'];
     if (!empty($this->compatibilityPaymentFields) && is_array($this->compatibilityPaymentFields)) {
         foreach ($this->compatibilityPaymentFields as $paymentName => $paymentField) {
             $findPaymentField = $paymentField;
             if (intval($paymentName) !== $paymentName) {
                 $findPaymentField = $paymentName;
             }
             if (isset($arOPayment[0][$findPaymentField])) {
                 $setFieldValue = $arOPayment[0][$findPaymentField];
                 if ($setFieldValue instanceof Main\Type\Date || $setFieldValue instanceof Main\Type\DateTime) {
                     $setFieldValue = $setFieldValue->toString();
                 }
                 $arOrder[$paymentField] = $setFieldValue;
             }
         }
     }
     $this->dbResult = $arOrder;
 }
Example #2
0
	<tr class="heading">
		<td colspan="2"><?php 
    echo GetMessage("SALE_TRACKING_MAP");
    ?>
</td>
	</tr>

	<?php 
    $shipmentStatuses = array();
    $context = Main\Application::getInstance()->getContext();
    $dbRes = Sale\Internals\StatusTable::getList(array('select' => array('ID', 'Bitrix\\Sale\\Internals\\StatusLangTable:STATUS.NAME'), 'filter' => array('=Bitrix\\Sale\\Internals\\StatusLangTable:STATUS.LID' => $context->getLanguage(), '=TYPE' => 'D'), 'order' => array('SORT' => 'ASC')));
    while ($shipmentStatus = $dbRes->fetch()) {
        $shipmentStatuses[$shipmentStatus["ID"]] = $shipmentStatus["SALE_INTERNALS_STATUS_SALE_INTERNALS_STATUS_LANG_STATUS_NAME"] . " [" . $shipmentStatus["ID"] . "]";
    }
    $trackingStatuses = \Bitrix\Sale\Delivery\Tracking\Manager::getStatusesList();
    ?>
<tr><td><b><?php 
    echo GetMessage("SALE_TRACKING_TSTATUSES");
    ?>
</b></td><td><b><?php 
    echo GetMessage("SALE_TRACKING_SSTATUSES");
    ?>
</b></td></tr><?php 
    foreach ($trackingStatuses as $tStatusId => $tStatusName) {
        ?>
		<tr>
			<td><?php 
        echo $tStatusName;
        ?>
:</td>
Example #3
0
 protected function refreshTrackingStatusAction()
 {
     $shipmentId = !empty($this->request["shipmentId"]) && intval($this->request["shipmentId"]) > 0 ? intval($this->request["shipmentId"]) : 0;
     $trackingNumber = !empty($this->request["trackingNumber"]) && strlen($this->request["trackingNumber"]) > 0 ? $this->request["trackingNumber"] : '';
     if ($shipmentId <= 0) {
         throw new ArgumentNullException('shipmentId');
     }
     $manager = Sale\Delivery\Tracking\Manager::getInstance();
     $result = $manager->getStatusByShipmentId($shipmentId, $trackingNumber);
     if ($result->isSuccess()) {
         $this->addResultData('TRACKING_STATUS', Sale\Delivery\Tracking\Manager::getStatusName($result->status));
         $this->addResultData('TRACKING_DESCRIPTION', $result->description);
         $this->addResultData('TRACKING_LAST_CHANGE', \Bitrix\Main\Type\DateTime::createFromTimestamp($result->lastChangeTimestamp)->toString());
         $res = $manager->updateShipment($shipmentId, $result);
         if (!$res->isSuccess()) {
             $this->addResultError(implode(", ", $res->getErrorMessages()));
         }
     } else {
         $this->addResultError(implode("\n", $result->getErrorMessages()));
     }
 }
    $tabControl->BeginNextTab();
    ?>
		<tr><td><?php 
    echo $extraServicesHtml;
    ?>
</td></tr>
	<?php 
}
?>

	<?php 
if ($service && $ID > 0 && strlen($service->getTrackingClass()) > 0) {
    ?>
		<?php 
    $tabControl->BeginNextTab();
    $tManager = Delivery\Tracking\Manager::getInstance();
    $tracking = $tManager->getTrackingObjectByDeliveryId($ID);
    ?>
<tr>
			<td width="40%"><?php 
    echo Loc::getMessage("SALE_DSE_FORM_DESCRIPTION");
    ?>
:</td>
			<td width="60%" class="adm-detail-valign-top">
				<?php 
    echo $tracking->getClassDescription();
    ?>
			</td></tr>
			<tr class="heading"><td colspan="2"><?php 
    echo Loc::getMessage("SALE_DSE_TAB_TRACKING_PARAMS");
    ?>
Example #5
0
    /**
     * @param $data
     * @param $index
     * @param $formType
     * @return string
     * @throws Main\ArgumentNullException
     */
    public static function getViewTemplate($data, $index, $formType)
    {
        $index++;
        $allowDeliveryString = $data['ALLOW_DELIVERY'] == 'Y' ? 'YES' : 'NO';
        $deductedString = $data['DEDUCTED'] == 'Y' ? 'YES' : 'NO';
        $isActive = $formType != 'edit';
        $triangle = $isActive ? '<span class="triangle"> &#9662;</span>' : '';
        if ($data['ALLOW_DELIVERY'] == 'Y') {
            $class = !$isActive ? 'class="not_active"' : '';
        } else {
            $class = !$isActive ? 'class="notdelivery not_active"' : 'class="notdelivery"';
        }
        $allowDelivery = '<span><span id="BUTTON_ALLOW_DELIVERY_' . $index . '" ' . $class . '>' . Loc::getMessage('SALE_ORDER_SHIPMENT_ALLOW_DELIVERY_' . $allowDeliveryString) . '</span>' . $triangle . '</span>';
        if ($data['DEDUCTED'] == 'Y') {
            $class = !$isActive ? 'class="not_active"' : '';
        } else {
            $class = !$isActive ? 'class="notdeducted not_active"' : 'class="notdeducted"';
        }
        $deducted = '<span><span id="BUTTON_DEDUCTED_' . $index . '" ' . $class . '>' . Loc::getMessage('SALE_ORDER_SHIPMENT_DEDUCTED_' . $deductedString) . '</span>' . $triangle . '</span>';
        $map = $data['DELIVERY_ID'] > 0 ? self::getMap($data['DELIVERY_ID'], $index, $data['DELIVERY_STORE_ID']) : '';
        $lang = Main\Application::getInstance()->getContext()->getLanguage();
        $service = null;
        $extraServiceHTML = '';
        $mainLogoPath = '/bitrix/images/sale/logo-default-d.gif';
        $shortLogoPath = '/bitrix/images/sale/logo-default-d.gif';
        if ($data['DELIVERY_ID'] > 0) {
            $service = Services\Manager::getService($data['DELIVERY_ID']);
            $extraServiceManager = new \Bitrix\Sale\Delivery\ExtraServices\Manager($data['DELIVERY_ID']);
            $extraServiceManager->setOperationCurrency($data['CURRENCY']);
            if ($data['EXTRA_SERVICES']) {
                $extraServiceManager->setValues($data['EXTRA_SERVICES']);
            }
            if ($service && $service->getLogotip() > 0) {
                $mainLogo = self::getMainImgPath($service->getLogotip());
                $shortLogo = self::getShortImgPath($service->getLogotip());
                $mainLogoPath = $mainLogo['src'];
                $shortLogoPath = $shortLogo['src'];
            }
            $extraService = $extraServiceManager->getItems();
            if ($extraService) {
                $extraServiceHTML = self::getExtraServiceEditControl($extraService, $index, true);
            }
        }
        $companyList = OrderEdit::getCompanyList();
        $shipmentStatusList = OrderShipmentStatus::getShipmentStatusList();
        $jsShipmentStatus = array();
        foreach ($shipmentStatusList as $id => $name) {
            $jsShipmentStatus[] = array('ID' => $id, 'NAME' => htmlspecialcharsbx($name));
        }
        $profileBlock = '';
        if ($service) {
            $deliveryName = $service->getName();
            if ($service->getParentService()) {
                $profileBlock = '<tr>
									<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_SERVICE_PROFILE') . ':</td>
									<td class="adm-detail-content-cell-r">
										' . htmlspecialcharsbx($service->getName()) . '
									</td>
								</tr>';
                $deliveryName = $service->getParentService()->getName();
            }
        } else {
            list($deliveryName, $profileBlock) = explode(':', $data['DELIVERY_NAME']);
            if ($profileBlock) {
                $profileBlock = '<tr>
									<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_SERVICE_PROFILE') . ':</td>
									<td class="adm-detail-content-cell-r">
										' . htmlspecialcharsbx($profileBlock) . '
									</td>
								</tr>';
            }
        }
        $class = !$isActive ? 'class="not_active"' : '';
        $shipmentStatus = '<span><span id="BUTTON_SHIPMENT_' . $index . '" ' . $class . '>' . htmlspecialcharsbx($shipmentStatusList[$data['STATUS_ID']]) . '</span>' . $triangle . '</span>';
        $shippingBlockId = '';
        if ($isActive || strlen($data['TRACKING_NUMBER']) > 0) {
            $shippingBlockId = '<tr>
									<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_NUMBER') . ':</td>
									<td class="adm-detail-content-cell-r tal">
										<input type="text" id="TRACKING_NUMBER_' . $index . '_EDIT" name="SHIPMENT[' . $index . '][TRACKING_NUMBER]" style="display: none;" value="' . htmlspecialcharsbx($data['TRACKING_NUMBER']) . '">
										<span id="TRACKING_NUMBER_' . $index . '_VIEW">' . htmlspecialcharsbx($data['TRACKING_NUMBER']) . '</span>';
            if ($isActive) {
                $shippingBlockId .= '<div class="bx-adm-edit-pencil" id="TRACKING_NUMBER_PENCIL_' . $index . '"></div>';
            }
            if ($data['HAS_TRACKING']) {
                $shippingBlockId .= '</td></tr>
				<tr>
												<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_STATUS') . ':</td>
												<td class="adm-detail-content-cell-r tal">' . '<span id="sale-order-shipment-tracking-status-' . $index . '">' . (intval($data['TRACKING_STATUS']) >= 0 ? \Bitrix\Sale\Delivery\Tracking\Manager::getStatusName($data['TRACKING_STATUS']) : '-') . '</span>' . '&nbsp;&nbsp;&nbsp;[<span onclick="BX.Sale.Admin.GeneralShipment.refreshTrackingStatus(\'' . $index . '\', \'' . $data['ID'] . '\');" style="border-bottom: 1px dashed #2675d7; cursor: pointer; color: #2675d7;">' . Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_STATUS_REFRESH') . '</span>]<br></td>
											</tr>
											<tr>
												<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_DESCRIPTION') . ':</td>
												<td class="adm-detail-content-cell-r tal" id="sale-order-shipment-tracking-description-' . $index . '">' . (strlen($data['TRACKING_DESCRIPTION']) > 0 ? $data['TRACKING_DESCRIPTION'] : '-') . '<br></td>
											<tr>
											<tr>
												<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_LAST_CHANGE') . ':</td>
												<td class="adm-detail-content-cell-r tal" id="sale-order-shipment-tracking-last-change-' . $index . '">' . (strlen($data['TRACKING_LAST_CHANGE']) > 0 ? $data['TRACKING_LAST_CHANGE'] : '-') . '<br></td>
											<tr>';
            }
        }
        $shippingBlockDocNum = '';
        if (strlen($data['DELIVERY_DOC_NUM']) > 0) {
            $shippingBlockDocNum = '<tr>
								<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_DOC_NUM') . ':</td>
								<td class="adm-detail-content-cell-r tal">
									' . htmlspecialcharsbx($data['DELIVERY_DOC_NUM']) . '
								</td>
							</tr>';
        }
        $shippingBlockDocDate = '';
        if (strlen($data['DELIVERY_DOC_DATE']) > 0) {
            $shippingBlockDocDate = '<tr>
								<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_DOC_DATE') . ':</td>
								<td class="adm-detail-content-cell-r tal">
									' . htmlspecialcharsbx($data['DELIVERY_DOC_DATE']) . '
								</td>
							</tr>';
        }
        $result = '
			<input type="hidden" name="SHIPMENT[' . $index . '][DEDUCTED]" id="STATUS_DEDUCTED_' . $index . '" value="' . ($data['DEDUCTED'] == "" ? "N" : $data['DEDUCTED']) . '">
			<input type="hidden" name="SHIPMENT[' . $index . '][ALLOW_DELIVERY]" id="STATUS_ALLOW_DELIVERY_' . $index . '" value="' . ($data['ALLOW_DELIVERY'] == "" ? "N" : $data['ALLOW_DELIVERY']) . '">
			<input type="hidden" name="SHIPMENT[' . $index . '][STATUS_ID]" id="STATUS_SHIPMENT_' . $index . '" value="' . $data['STATUS_ID'] . '">
		<div class="adm-bus-pay" id="shipment_container_' . $index . '">
			<input type="hidden" name="SHIPMENT[' . $index . '][SHIPMENT_ID]" id="SHIPMENT_ID_' . $index . '" value="' . $data['ID'] . '">
			<div class="adm-bus-component-content-container">
				<div class="adm-bus-pay-section">
					<div class="adm-bus-pay-section-title-container">
						<div class="adm-bus-pay-section-title">' . Loc::getMessage('SALE_ORDER_SHIPMENT_TITLE') . ' <span id="shipment_' . $data['ID'] . '">#' . $data['ID'] . '</span></div>
						<div class="adm-bus-pay-section-action-block">
							<div class="adm-bus-pay-section-action" id="SHIPMENT_SECTION_' . $index . '_DELETE">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT_DELETE') . '</div>
							<div class="adm-bus-pay-section-action" id="SHIPMENT_SECTION_' . $index . '_EDIT"><a href="/bitrix/admin/sale_order_shipment_edit.php?order_id=' . $data['ORDER_ID'] . '&shipment_id=' . $data['ID'] . '&backurl=' . urlencode($_SERVER['REQUEST_URI']) . '">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT_EDIT') . '</a></div>
							<div class="adm-bus-pay-section-action" id="SHIPMENT_SECTION_' . $index . '_TOGGLE">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT_TOGGLE') . '</div>
						</div>
					</div>
					<div class="adm-bus-pay-section-content" id="SHIPMENT_SECTION_' . $index . '">
						<div class="adm-bus-pay-section-sidebar">
							<div style="background: url(\'' . $mainLogoPath . '\')" id="delivery_service_logo_' . $index . '" class="adm-shipment-block-logo"></div>
							' . $map . '
						</div>
						<div class="adm-bus-pay-section-right">
							<div class="adm-bus-table-container caption border">
								<div class="adm-bus-table-caption-title" style="background: #eef5f5;">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SERVICE') . '</div>
								<table border="0" cellspacing="0" cellpadding="0" width="100%" class="adm-detail-content-table edit-table ">
									<tbody>
										<tr>
											<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_SERVICE') . ':</td>
											<td class="adm-detail-content-cell-r">
												' . htmlspecialcharsbx($deliveryName) . '
											</td>
										</tr>
										' . $profileBlock . '
									</tbody>
								</table>
							</div>
							<div class="adm-bus-table-container caption border">
								<div class="adm-bus-table-caption-title" style="background: #eef5f5;">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_BLOCK_PRICE') . '</div>
								<table border="0" cellspacing="0" cellpadding="0" width="100%" class="adm-detail-content-table edit-table">
									<tbody>
										<tr>
											<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_SUM_PRICE') . ':</td>
											<td class="adm-detail-content-cell-r tal">
												' . SaleFormatCurrency(floatval($data['BASE_PRICE_DELIVERY']), $data['CURRENCY']) . '
											</td>
										</tr>
										<tr id="sale-order-shipment-discounts-row-' . $index . '" style="display: none;">
											<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DISCOUNT') . ':</td>
											<td class="adm-detail-content-cell-r tal" id="sale-order-shipment-discounts-container-' . $index . '"></td>
										</tr>
										<tr style="display: none;">
											<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_SUM_DISCOUNT_PRICE') . ':</td>
											<td class="adm-detail-content-cell-r tal" id="PRICE_DELIVERY_' . $index . '">' . SaleFormatCurrency(floatval($data['PRICE_DELIVERY']), $data['CURRENCY']) . '<br></td>
										</tr>
									</tbody>
								</table>
							</div>
							<div class="adm-bus-table-container caption border">
								<div class="adm-bus-table-caption-title" style="background: #eef5f5;">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT') . '</div>
								<table border="0" cellspacing="0" cellpadding="0" width="100%" class="adm-detail-content-table edit-table ">
									<tbody>
										<tr>
											<td class="adm-detail-content-cell-l" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_OFFICE') . ':</td>
											<td class="adm-detail-content-cell-r">
												' . (isset($companyList[$data['COMPANY_ID']]) ? htmlspecialcharsbx($companyList[$data['COMPANY_ID']]) : Loc::getMessage('SALE_ORDER_SHIPMENT_NO_COMPANY')) . '
											</td>
										</tr>
									</tbody>
								</table>
							</div>
							<div class="adm-bus-table-container caption border">
								<div class="adm-bus-moreInfo_part1">
									<div class="adm-bus-table-caption-title" style="background: #eef5f5;">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_STATUS') . '</div>
									<table class="adm-detail-content-table edit-table" border="0" width="100%" cellpadding="0" cellspacing="0">
										<tbody>
											<tr>
												<td class="adm-detail-content-cell-l vat" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_ALLOW_DELIVERY') . ':</td>
												<td class="adm-detail-content-cell-r delivery-status">' . $allowDelivery . '</td>
											</tr>
											' . (!empty($data['EMP_ALLOW_DELIVERY_ID']) ? '
											<tr>
												<td class="adm-detail-content-cell-l vat" width="40%"></td>
												<td class="adm-detail-content-cell-r">
													<div>' . Loc::getMessage('SALE_ORDER_SHIPMENT_MODIFY_BY') . ': <span style="color: #66878F" id="order_additional_info_date_responsible">' . htmlspecialcharsbx($data['DATE_ALLOW_DELIVERY']) . '</span>  <a href="/bitrix/admin/user_edit.php?lang=' . $lang . '&ID=' . $data['EMP_ALLOW_DELIVERY_ID'] . '" id="order_additional_info_emp_responsible">' . htmlspecialcharsbx($data['EMP_ALLOW_DELIVERY_ID_LAST_NAME']) . ' ' . htmlspecialcharsbx($data['EMP_ALLOW_DELIVERY_ID_NAME']) . '</a></div>
												</td>
											</tr>
											' : '') . '
											<tr>
												<td class="adm-detail-content-cell-l vat" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DEDUCTED') . ':</td>
												<td class="adm-detail-content-cell-r"><div class="delivery-status">' . $deducted . '</div></td>
											</tr>
											' . (!empty($data['EMP_DEDUCTED_ID']) ? '
											<tr>
												<td class="adm-detail-content-cell-l vat" width="40%"></td>
												<td class="adm-detail-content-cell-r">
													<div>' . Loc::getMessage('SALE_ORDER_SHIPMENT_MODIFY_BY') . ': <span style="color: #66878F" id="order_additional_info_date_responsible">' . htmlspecialcharsbx($data['DATE_DEDUCTED']) . '</span>  <a href="/bitrix/admin/user_edit.php?lang=' . $lang . '&ID=' . $data['EMP_DEDUCTED_ID'] . '" id="order_additional_info_emp_responsible">' . htmlspecialcharsbx($data['EMP_DEDUCTED_ID_LAST_NAME']) . ' ' . htmlspecialcharsbx($data['EMP_DEDUCTED_ID_NAME']) . '</a></div>
												</td>
											</tr>
											' : '') . '
											<tr>
												<td class="adm-detail-content-cell-l vat" width="40%">' . Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_DOC_STATUS') . ':</td>
												<td class="adm-detail-content-cell-r">
													<div class="shipment-status">
														' . $shipmentStatus . '
													</div>
												</td>
											</tr>
										</tbody>
									</table>
								</div>
							</div>';
        if (!empty($shippingBlockId) || !empty($shippingBlockDocNum) || !empty($shippingBlockDocDate) || !empty($extraServiceHTML)) {
            $result .= '<div class="adm-bus-table-container caption border">
				<div class="adm-bus-table-caption-title" style="background: #eef5f5;">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_DELIVERY_INFO') . '</div>
				<table border="0" cellspacing="0" cellpadding="0" width="100%" class="adm-detail-content-table edit-table ">
					<tbody>
						' . $shippingBlockId . $shippingBlockDocNum . $shippingBlockDocDate . '
					</tbody>
				</table>
				<div id="DELIVERY_INFO_' . $index . '">
				' . $extraServiceHTML . '
				</div>
			</div>';
        }
        $result .= '</div>
		<div class="clb"></div>
		<div class="adm-s-order-shipment-basket-structure">' . Loc::getMessage('SALE_ORDER_SHIPMENT_BASKET') . '</div>';
        $shipmentBasket = new OrderBasketShipment(self::$shipment, "BX.Sale.Admin.ShipmentBasketObj_" . $index, "shipment_basket_" . $index);
        $result .= $shipmentBasket->getView($index);
        $result .= '</div>';
        $result .= self::getShortViewTemplate($data, $index, $shortLogoPath, $formType);
        $result .= '</div>
			</div>
		</div>';
        $params = array('index' => $index, 'extra_service' => array(), 'shipment_statuses' => $jsShipmentStatus, 'isAjax' => true, 'active' => $isActive, 'discounts' => $data["DISCOUNTS"], 'discountsMode' => $formType == "edit" ? "edit" : "view", 'templateType' => 'view');
        $result .= self::initJsShipment($params);
        return $result;
    }