public static function DataSync($id)
 {
     global $USER;
     if (!(isset($USER) && (get_class($USER) === 'CUser' || $USER instanceof CUser))) {
         $USER = new CUser();
     }
     $id = intval($id);
     $i = new CCrmExternalSaleImport($id);
     if ($i->IsInitialized()) {
         if ($i->arExternalSale == null) {
             $i->arExternalSale = CCrmExternalSale::GetDefaultSettings($id);
         }
         if ($i->arExternalSale["LABEL"] != "") {
             $i->SyncOrderData(false, false);
         }
         if ($i->arExternalSale["ERRORS"] > 10) {
             $i->NotifyError();
             return;
         }
         return "CCrmExternalSaleImport::DataSync(" . $id . ");";
     }
 }
Example #2
0
$arFields['~MODIFY_BY_FORMATTED_NAME'] = CUser::FormatName($fullNameFormat, array('LOGIN' => $arFields['~MODIFY_BY_LOGIN'], 'NAME' => $arFields['~MODIFY_BY_NAME'], 'LAST_NAME' => $arFields['~MODIFY_BY_LAST_NAME'], 'SECOND_NAME' => $arFields['~MODIFY_BY_SECOND_NAME']), true, false);
$arFields['MODIFY_BY_FORMATTED_NAME'] = htmlspecialcharsbx($arFields['~MODIFY_BY_FORMATTED_NAME']);
$arFields['PATH_TO_USER_MODIFIER'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_PROFILE'], array('user_id' => $arFields['MODIFY_BY']));
$arFields['ORIGIN_ID'] = isset($arFields['ORIGIN_ID']) ? intval($arFields['ORIGIN_ID']) : 0;
$arFields['ORIGINATOR_ID'] = isset($arFields['ORIGINATOR_ID']) ? intval($arFields['ORIGINATOR_ID']) : 0;
$arResult['ELEMENT'] = $arFields;
unset($arFields);
if (empty($arResult['ELEMENT']['ID'])) {
    LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DEAL_LIST'], array()));
}
$contactID = isset($arResult['ELEMENT']['CONTACT_ID']) ? intval($arResult['ELEMENT']['CONTACT_ID']) : 0;
$companyID = isset($arResult['ELEMENT']['COMPANY_ID']) ? intval($arResult['ELEMENT']['COMPANY_ID']) : 0;
$currentUserPermissions = CCrmPerms::GetCurrentUserPermissions();
$arResult['ERROR_MESSAGE'] = '';
if (intval($_REQUEST["SYNC_ORDER_ID"]) > 0) {
    $imp = new CCrmExternalSaleImport($arResult['ELEMENT']["ORIGINATOR_ID"]);
    if ($imp->IsInitialized()) {
        $r = $imp->GetOrderData($arResult['ELEMENT']["ORIGIN_ID"], false);
        if ($r != CCrmExternalSaleImport::SyncStatusError) {
            LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DEAL_SHOW'], array('deal_id' => $arResult['ELEMENT']['ID'])));
        } else {
            $arErrors = $imp->GetErrors();
            foreach ($arErrors as $err) {
                $arResult['ERROR_MESSAGE'] .= $err[1] . "<br />";
            }
        }
    }
}
$isExternal = $arResult['IS_EXTERNAL'] = $arResult['ELEMENT']['ORIGINATOR_ID'] > 0 && $arResult['ELEMENT']['ORIGIN_ID'] > 0;
$arResult['FORM_ID'] = 'CRM_DEAL_SHOW_V12' . ($isExternal ? "_E" : "");
$arResult['GRID_ID'] = 'CRM_DEAL_LIST_V12' . ($isExternal ? "_E" : "");
Example #3
0
             $arContactFields = array('COMPANY_ID' => $arFields['COMPANY_ID']);
             $bSuccess = $CrmContact->Update($arFields['CONTACT_ID'], $arContactFields, false, true, array('DISABLE_USER_FIELD_CHECK' => true));
             if (!$bSuccess) {
                 $arResult['ERROR_MESSAGE'] = !empty($arFields['RESULT_MESSAGE']) ? $arFields['RESULT_MESSAGE'] : GetMessage('UNKNOWN_ERROR');
             }
         }
     }
     if ($bSuccess) {
         $DB->Commit();
     } else {
         $DB->Rollback();
         $arResult['ERROR_MESSAGE'] = !empty($arFields['RESULT_MESSAGE']) ? $arFields['RESULT_MESSAGE'] : GetMessage('UNKNOWN_ERROR');
     }
 }
 if (intval($_POST['SYNC_ORDER_ID']) > 0) {
     $imp = new CCrmExternalSaleImport($originatorId);
     if ($imp->IsInitialized()) {
         $r = $imp->GetOrderData($originId, true);
         if ($r == CCrmExternalSaleImport::SyncStatusError) {
             $arErrors = $imp->GetErrors();
             foreach ($arErrors as $err) {
                 $arResult['ERROR_MESSAGE'] .= $err[1] . '<br />';
             }
         }
     }
 }
 if (empty($arResult['ERROR_MESSAGE'])) {
     if (!$CCrmBizProc->StartWorkflow($arResult['ELEMENT']['ID'], $arBizProcParametersValues)) {
         $arResult['ERROR_MESSAGE'] = $CCrmBizProc->LAST_ERROR;
     }
 }
Example #4
0
<?php

define('NO_KEEP_STATISTIC', 'Y');
define('NO_AGENT_STATISTIC', 'Y');
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
if (!CModule::IncludeModule('crm')) {
    die;
}
$CrmPerms = new CCrmPerms($USER->GetID());
if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE') && $CrmPerms->HavePerm('DEAL', BX_CRM_PERM_NONE, 'READ')) {
    die("Permission denied");
}
$i = new CCrmExternalSaleImport($_REQUEST["id"]);
$r = $i->SyncOrderData($_REQUEST["skip_bp"] == "Y");
if ($r != CCrmExternalSaleImport::SyncStatusError) {
    echo CUtil::PhpToJSObject(array("result" => $r, "details" => $i->GetImportResult()->ToArray()));
} else {
    $str = '';
    foreach ($i->GetErrors() as $arError) {
        $str .= sprintf("[%s] %s", $arError[0], htmlspecialchars($arError[1])) . "<br>";
    }
    echo CUtil::PhpToJSObject(array("result" => CCrmExternalSaleImport::SyncStatusError, "errors" => $str));
}
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php';