Beispiel #1
0
 }
 if (count($fieldNames) == 0) {
     __CrmCompanyShowEndJsonResonse(array('ERROR' => 'FIELD_NAME IS NOT DEFINED!'));
 }
 $fieldValues = array();
 if (isset($_POST['FIELD_VALUE'])) {
     if (is_array($_POST['FIELD_VALUE'])) {
         $fieldValues = $_POST['FIELD_VALUE'];
     } else {
         $fieldValues[] = $_POST['FIELD_VALUE'];
     }
 }
 $dbResult = CCrmCompany::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('*', 'UF_*'));
 $arFields = is_object($dbResult) ? $dbResult->Fetch() : null;
 if (is_array($arFields)) {
     CCrmInstantEditorHelper::PrepareUpdate(CCrmOwnerType::Company, $arFields, $fieldNames, $fieldValues);
     $CCrmCompany = new CCrmCompany();
     $disableUserFieldCheck = !$hasUserFields && isset($_POST['DISABLE_USER_FIELD_CHECK']) && strtoupper($_POST['DISABLE_USER_FIELD_CHECK']) === 'Y';
     if ($CCrmCompany->Update($ID, $arFields, true, true, array('REGISTER_SONET_EVENT' => true, 'DISABLE_USER_FIELD_CHECK' => $disableUserFieldCheck))) {
         $arErrors = array();
         CCrmBizProcHelper::AutoStartWorkflows(CCrmOwnerType::Company, $ID, CCrmBizProcEventType::Edit, $arErrors);
         $result = array();
         $count = count($fieldNames);
         for ($i = 0; $i < $count; $i++) {
             $fieldName = $fieldNames[$i];
             if (strpos($fieldName, 'FM.') === 0) {
                 //Filed name like 'FM.PHONE.WORK.1279'
                 $fieldParams = explode('.', $fieldName);
                 if (count($fieldParams) >= 3) {
                     $result[$fieldName] = array('VIEW_HTML' => CCrmViewHelper::PrepareMultiFieldHtml($fieldParams[1], array('VALUE_TYPE_ID' => $fieldParams[2], 'VALUE' => isset($fieldValues[$i]) ? $fieldValues[$i] : '')));
                 }