Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/mr.demo.yacl.site/dq/
Upload File :
Current File : /home/bitrix/ext_www/mr.demo.yacl.site/dq/detail.php

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

$rights = getDQRights();
if (!$USER->IsAdmin() && empty($rights['add']['sc']) && empty($rights['queue']['sc'])) {
    ShowError('Недостаточно прав для работы в этом разделе!');
} else {

    $APPLICATION->SetTitle("Просмотр документа");
    $id = intval($_GET['id']);
    if ($id > 0) {
        $helper = new HighloadBlockHelper('DQDocs');
        $element = $helper->getList([
            'filter' => ['=ID' => $id],
            'select' => ['*']
        ])->fetch();
    }

    if (!$USER->IsAdmin() && $element['UF_AUTHOR'] != $USER->GetID()) {
        ShowError('Недостаточный уровень доступа к этому документу!');
    } else {
        if ($id > 0 && !empty($element)) {
            $filesData = [];

            $entities = [
                'DQSubsidiaryCompanies' => 'UF_SC',
                'DQStatus' => 'UF_STATUS',
                'DQTypes' => 'UF_TYPE',
                'DQKinds' => 'UF_KIND',
                'DQResponsibles' => 'UF_RESPONSIBLE'
            ];

            foreach ($entities as $entityName => $fieldName) {
                $helper = new HighloadBlockHelper($entityName);
                $list = $helper->getList(['select' => ['*']])->fetchAll();
                foreach ($list as $item) {
                    $arResult['entities'][$fieldName][$item['ID']] = $item;
                }
            }
            $entities = $arResult['entities'];

            if (!empty($element['UF_FILES'])) {
                $fileListInfo = \Bitrix\Main\FileTable::getList([
                    'filter' => ['@ID' => $element['UF_FILES']],
                    'select' => ['ID', 'ORIGINAL_NAME', 'TIMESTAMP_X', 'EXTERNAL_ID', 'FILE_SIZE'],
                    'order' => ['TIMESTAMP_X' => 'DESC', 'ID' => 'DESC'],
                ])->fetchAll();

                foreach ($fileListInfo as $fileInfo) {
                    $filesData[$fileInfo['ID']] = $fileInfo;
                }
            }
            ?>
            <? /*if ($element['UF_1C_EXISTS']) {?>
    <div class="docs-detail-heading">
        <div class="docs-detail-1C-check">Доступен в 1С</div>
    </div>
    <?}*/ ?>
            <div class="docs-detail-content">
                <ul class="list list--docs">
                    <? foreach ($element['UF_FILES'] as $fileId) {
                        $ext = GetFileExtension($filesData[$fileId]['ORIGINAL_NAME']);
                        $class = '';
                        switch (mb_strtoupper($ext)) {
                            case 'DOC':
                            case 'DOCX':
                                $class = ' document-block--word';
                                break;
                            case 'XLS':
                            case 'XLSX':
                                $class = ' document-block--excel';
                                break;
                            default:
                                $class = '';
                                break;
                        } ?>
                        <li class="list-item">
                            <div class="document-block<?= $class ?>">
                                <span><?= $filesData[$fileId]['ORIGINAL_NAME']; ?></span>
                                <a download="<?= $filesData[$fileId]['ORIGINAL_NAME'] ?>"
                                   href="<?= getFilePath($fileId) ?>"><?= CFile::FormatSize($filesData[$fileId]['FILE_SIZE'], 2) ?></a>
                            </div>
                        </li>
                    <? } ?>
                    <li class="list-item">
                        <a href="#"
                           onclick="$('ul.list--docs').find('.document-block a').each(function() {this.click()});return false;">СКАЧАТЬ
                            ВСЕ</a>
                    </li>
                </ul>
                <div class="docs-detail-description">
                    <ul class="list list--docs-description">
                        <li class="list-item">
                            <div class="list-item-label">ID:</div>
                            <div class="list-item-value"><?= $element['ID'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Описание:</div>
                            <div class="list-item-value list-item-value--small"><?= $element['UF_DESCRIPTION'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">ФИО отправителя:</div>
                            <div class="list-item-value"><?= getUserLinkById($element['UF_AUTHOR']); ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Дочернее общество</div>
                            <div class="list-item-value"><?= $entities['UF_SC'][$element['UF_SC']]['UF_NAME'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Дата документа</div>
                            <div class="list-item-value"><?= $element['UF_DATE'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Дата создания</div>
                            <div class="list-item-value"><?= $element['UF_CREATED'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Дата отправки документа на&nbsp;согласование</div>
                            <div class="list-item-value"><?= $element['UF_SENT'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Участок учета</div>
                            <div class="list-item-value"><?= $entities['UF_TYPE'][$element['UF_TYPE']]['UF_NAME'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Ответственный</div>
                            <div class="list-item-value"><?= $entities['UF_RESPONSIBLE'][$element['UF_RESPONSIBLE']]['UF_RESPONSIBLE'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Контрагент</div>
                            <div class="list-item-value"><?= $element['UF_CONTRAGENT'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Номер документа</div>
                            <div class="list-item-value"><?= $element['UF_NUMBER'] ?></div>
                        </li>
                        <li class="list-item">
                            <div class="list-item-label">Сумма</div>
                            <div class="list-item-value"><?= $element['UF_SUM'] ?></div>
                        </li>

                        <? /*
                <li class="list-item">
                    <div class="list-item-label">Вид документа</div>
                    <div class="list-item-value"><?=$entities['UF_KIND'][$element['UF_KIND']]['UF_NAME']?></div>
                </li>
                */ ?>
                        <li class="list-item">
                            <div class="list-item-label">Статус</div>
                            <div class="list-item-value"><?= $entities['UF_STATUS'][$element['UF_STATUS']]['UF_NAME'] ?></div>
                        </li>
                        <? if ($element['UF_STATUS_1C']) { ?>
                            <li class="list-item">
                                <div class="list-item-label">Статус в 1С</div>
                                <div class="list-item-value"><?= getStatusCodes1CMap()[$element['UF_STATUS_1C']]; ?></div>
                            </li>
                        <? } ?>
                        <li class="list-item">
                            <div class="list-item-label">Причина отклонения</div>
                            <div class="list-item-value list-item-value--small"><?= $element['UF_DECLINE_REASON']; ?></div>
                        </li>
                    </ul>
                </div>
            </div>
            <?

            if ($element['UF_STATUS'] == 1 && $element['UF_AUTHOR'] == $USER->GetID()) { ?>
                <div class="docs-detail-controls">
                    <div class="docs-detail-controls-other">
                        <a class="custom-button custom-button--inverse js-dq-return"
                           data-id="<?= $element['ID'] ?>" href="#">Отозвать</a>
                    </div>
                </div>
                <div class="modal" id="doc-return">
                    <div class="modal-container">
                        <button class="modal-close" data-modal-close>&times;</button>
                        <h3>Ошибка!</h3>
                        <p>Документ уже взят в работу, операция отклонена.</p>
                    </div>
                </div>

            <? } ?>
        <? } else {
            ShowError('Элемент не найден!');
        }
    }
}?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>