} elseif ($actionData['NAME'] == 'edit') { if (isset($actionData['FIELDS']) && is_array($actionData['FIELDS'])) { foreach ($actionData['FIELDS'] as $ID => $arSrcData) { $arEntityAttr = $CCrmPerms->GetEntityAttr('INVOICE', array($ID)); if (!$CCrmPerms->CheckEnityAccess('INVOICE', 'WRITE', $arEntityAttr[$ID])) { continue; } $arUpdateData = array(); reset($arResult['HEADERS']); foreach ($arResult['HEADERS'] as $arHead) { if (isset($arHead['editable']) && $arHead['editable'] == true && isset($arSrcData[$arHead['id']])) { $arUpdateData[$arHead['id']] = $arSrcData[$arHead['id']]; } } if (!empty($arUpdateData)) { if ($CCrmInvoice->CheckFieldsUpdate($arUpdateData)) { $DB->StartTransaction(); if ($CCrmInvoice->Update($ID, $arUpdateData, array('REGISTER_SONET_EVENT' => true, 'UPDATE_SEARCH' => true))) { $DB->Commit(); } else { $DB->Rollback(); } } } } } } if (!$actionData['AJAX_CALL']) { LocalRedirect($arParams['PATH_TO_INVOICE_LIST']); } } else {
$fieldNames[] = $_POST['FIELD_NAME']; } } if (count($fieldNames) == 0) { __CrmInvoiceShowEndJsonResonse(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']; } } $arFields = CCrmInvoice::GetByID($ID); if (is_array($arFields)) { CCrmInstantEditorHelper::PrepareUpdate(CCrmOwnerType::Invoice, $arFields, $fieldNames, $fieldValues); // check fields if (!$CCrmInvoice->CheckFieldsUpdate($arFields, $ID)) { $errMsg = ''; if (!empty($CCrmInvoice->LAST_ERROR)) { $errMsg .= $CCrmInvoice->LAST_ERROR; } else { $errMsg .= GetMessage('UNKNOWN_ERROR'); } __CrmInvoiceShowEndJsonResonse(array('ERROR' => $errMsg)); } $CCrmInvoice->Update($ID, $arFields, array('REGISTER_SONET_EVENT' => true, 'UPDATE_SEARCH' => true)); } } die;