Exemplo n.º 1
0
     $statusParams['REASON_MARKED'] = isset($_REQUEST['REASON_MARKED_SUCCESS']) ? substr(trim($_REQUEST['REASON_MARKED_SUCCESS']), 0, 255) : '';
 } elseif ($statusParams['STATE_FAILED']) {
     $statusParams['DATE_MARKED'] = isset($_REQUEST['DATE_MARKED']) ? trim($_POST['DATE_MARKED']) : null;
     $statusParams['REASON_MARKED'] = isset($_REQUEST['REASON_MARKED']) ? substr(trim($_REQUEST['REASON_MARKED']), 0, 255) : '';
 }
 $targetTypeName = CCrmOwnerType::ResolveName(CCrmOwnerType::Invoice);
 if ($statusID === '' || $ID <= 0 || $typeName !== $targetTypeName) {
     return;
 }
 $entityAttrs = $userPerms->GetEntityAttr($targetTypeName, array($ID));
 if (!$userPerms->CheckEnityAccess($targetTypeName, 'WRITE', $entityAttrs[$ID])) {
     return;
 }
 if (empty($errMessage)) {
     $CCrmInvoice = new CCrmInvoice(false);
     if (!$CCrmInvoice->SetStatus($ID, $statusID, $statusParams, array('SYNCHRONIZE_LIVE_FEED' => true))) {
         $errMessage = 'Status error!';
     }
 }
 $APPLICATION->RestartBuffer();
 Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
 if (empty($errMessage)) {
     $data = array('TYPE' => $targetTypeName, 'ID' => $ID, 'VALUE' => $statusID, 'STATE_SUCCESS' => $statusParams['STATE_SUCCESS'] ? 'Y' : 'N', 'STATE_FAILED' => $statusParams['STATE_FAILED'] ? 'Y' : 'N');
     if ($statusParams['STATE_SUCCESS']) {
         $data['PAY_VOUCHER_NUM'] = $statusParams['PAY_VOUCHER_NUM'];
         $data['PAY_VOUCHER_DATE'] = $statusParams['PAY_VOUCHER_DATE'];
         $data['REASON_MARKED_SUCCESS'] = $statusParams['REASON_MARKED'];
     } elseif ($statusParams['STATE_FAILED']) {
         $data['DATE_MARKED'] = $statusParams['DATE_MARKED'];
         $data['REASON_MARKED'] = $statusParams['REASON_MARKED'];
     }
Exemplo n.º 2
0
    $isSuccess = CCrmStatusInvoice::isStatusSuccess($statusID);
    $isFail = CCrmStatusInvoice::isStatusFailed($statusID);
    $statusParams = array('STATE_SUCCESS' => $isSuccess, 'STATE_FAILED' => $isFail);
    if ($isSuccess) {
        $timestamp = isset($additionalData['PAYMENT_TIME_STAMP']) ? max(intval($additionalData['PAYMENT_TIME_STAMP']), 0) : 0;
        $statusParams['PAY_VOUCHER_DATE'] = $timestamp > 0 ? ConvertTimeStamp($timestamp, 'SHORT', SITE_ID) : null;
        $statusParams['PAY_VOUCHER_NUM'] = isset($additionalData['PAYMENT_DOC']) ? substr(trim($additionalData['PAYMENT_DOC']), 0, 20) : '';
        $statusParams['REASON_MARKED'] = isset($additionalData['PAYMENT_COMMENT']) ? substr(trim($additionalData['PAYMENT_COMMENT']), 0, 255) : '';
    } elseif ($isFail) {
        $timestamp = isset($additionalData['CANCEL_TIME_STAMP']) ? max(intval($additionalData['CANCEL_TIME_STAMP']), 0) : 0;
        $statusParams['DATE_MARKED'] = $timestamp > 0 ? ConvertTimeStamp($timestamp, 'SHORT', SITE_ID) : null;
        $statusParams['REASON_MARKED'] = isset($additionalData['CANCEL_REASON']) ? substr(trim($additionalData['CANCEL_REASON']), 0, 255) : '';
    }
    //$DB->StartTransaction();
    $CCrmInvoice = new CCrmInvoice(false);
    $successed = $CCrmInvoice->SetStatus($ID, $statusID, $statusParams);
    if ($successed) {
        //$DB->Commit();
        $dbRes = CCrmInvoice::GetList(array(), array('ID' => $ID));
        $currentItem = $dbRes->GetNext();
        $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array();
        CCrmMobileHelper::PrepareInvoiceItem($currentItem, $formatParams, array(), array('ENABLE_MULTI_FIELDS' => true, 'ENABLE_PAYER_INFO' => true));
        __CrmMobileInvoiceEditEndResonse(array('SAVED_ENTITY_ID' => $ID, 'SAVED_ENTITY_DATA' => CCrmMobileHelper::PrepareInvoiceData($currentItem)));
    } else {
        //$DB->Rollback();
        __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_INVOICE_COULD_NOT_SAVE_STATUS')));
    }
} elseif ($action === 'RECALCULATE') {
    // Refresh invoice data according to client settings
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $data = isset($_REQUEST['SOURCE_DATA']) && is_array($_REQUEST['SOURCE_DATA']) ? $_REQUEST['SOURCE_DATA'] : array();