示例#1
0
    CCrmQuote::RewriteClientFields($arResult['ELEMENT']);
}
// person type
$arResult['ELEMENT']['PERSON_TYPE_ID'] = 0;
$arResult['PERSON_TYPE'] = 'CONTACT';
if (isset($arPersonTypes['CONTACT']) && (!isset($arResult['ELEMENT']['COMPANY_ID']) || intval($arResult['ELEMENT']['COMPANY_ID']) <= 0)) {
    $arResult['ELEMENT']['PERSON_TYPE_ID'] = intval($arPersonTypes['CONTACT']);
} else {
    if (isset($arPersonTypes['COMPANY']) && isset($arResult['ELEMENT']['COMPANY_ID']) && intval($arResult['ELEMENT']['COMPANY_ID']) > 0) {
        $arResult['ELEMENT']['PERSON_TYPE_ID'] = intval($arPersonTypes['COMPANY']);
        $arResult['PERSON_TYPE'] = 'COMPANY';
    }
}
// Client fields
$clientField = array();
foreach (CCrmQuote::GetClientFields() as $fieldName) {
    if ($fieldName === 'CLIENT_TPA_ID' && LANGUAGE_ID !== 'ru') {
        continue;
    }
    $clientField = array('id' => $fieldName, 'name' => GetMessage('CRM_QUOTE_FIELD_' . $fieldName), 'params' => array('size' => 255), 'value' => isset($arResult['ELEMENT']['~' . $fieldName]) ? $arResult['ELEMENT']['~' . $fieldName] : '', 'type' => 'text');
    if ($fieldName === 'CLIENT_CONTACT') {
        $clientField['visible'] = isset($arPersonTypes['COMPANY']) && $arResult['ELEMENT']['PERSON_TYPE_ID'] == $arPersonTypes['COMPANY'];
    }
    $arResult['FIELDS']['tab_1'][] = $clientField;
    if ($fieldName === 'CLIENT_CONTACT') {
        $arResult['FORM_FIELDS_TO_ADD']['CLIENT_CONTACT'] = $clientField;
    }
}
unset($clientField, $fieldName);
// FILES
if ($arResult['ENABLE_WEBDAV'] || $arResult['ENABLE_DISK']) {
示例#2
0
            }
        }
    }
} else {
    if ($action === 'RECALCULATE') {
        try {
            $resultOptions = array();
            $options = isset($_POST['OPTIONS']) ? $_POST['OPTIONS'] : array();
            if (!is_array($options)) {
                throw new Exception('MISSING OPTIONS!');
            }
            if (isset($options['CLIENT_FIELDS']) && is_array($options['CLIENT_FIELDS'])) {
                $options = $options['CLIENT_FIELDS'];
                if (isset($options['CONTACT_ID']) && isset($options['COMPANY_ID'])) {
                    $fields = array('CONTACT_ID' => intval($options['CONTACT_ID']), 'COMPANY_ID' => intval($options['COMPANY_ID']));
                    foreach (CCrmQuote::GetClientFields() as $k) {
                        $fields[$k] = '';
                    }
                    unset($k);
                    CCrmQuote::RewriteClientFields($fields, false);
                    $resultOptions['CLIENT_FIELDS'] = $fields;
                } else {
                    throw new Exception('INVALID CLIENT_FIELDS OPTIONS!');
                }
            } else {
                throw new Exception('INVALID OPTIONS!');
            }
            echo CUtil::PhpToJSObject($resultOptions);
        } catch (Exception $e) {
            echo CUtil::PhpToJSObject(array('ERROR' => $e->getMessage()));
        }