Пример #1
0
if ($bTaxMode) {
    // CLIENT LOCATION
    $sLocationHtml = '';
    $locValue = isset($arResult['ELEMENT']['LOCATION_ID']) ? $arResult['ELEMENT']['LOCATION_ID'] : '';
    ob_start();
    CSaleLocation::proxySaleAjaxLocationsComponent(array('AJAX_CALL' => 'N', 'COUNTRY_INPUT_NAME' => 'LOC_COUNTRY', 'REGION_INPUT_NAME' => 'LOC_REGION', 'CITY_INPUT_NAME' => 'LOC_CITY', 'CITY_OUT_LOCATION' => 'Y', 'LOCATION_VALUE' => $locValue, 'ORDER_PROPS_ID' => 'QUOTE_' . $arResult['ELEMENT']['ID'], 'ONCITYCHANGE' => 'BX.onCustomEvent(\'CrmProductRowSetLocation\', [\'LOC_CITY\']);', 'SHOW_QUICK_CHOOSE' => 'N'), array("CODE" => $locValue, "ID" => "", "PROVIDE_LINK_BY" => "code", "JS_CALLBACK" => 'CrmProductRowSetLocation'), 'popup');
    $sLocationHtml = ob_get_contents();
    ob_end_clean();
    $locationField = array('id' => 'LOCATION_ID', 'name' => GetMessage('CRM_QUOTE_FIELD_LOCATION_ID'), 'type' => 'custom', 'value' => $sLocationHtml . '<div>' . '<span class="bx-crm-edit-content-location-description">' . GetMessage('CRM_QUOTE_FIELD_LOCATION_ID_DESCRIPTION') . '</span>' . '</div>', 'required' => true);
    $arResult['FIELDS']['tab_1'][] = $locationField;
    $arResult['FORM_FIELDS_TO_ADD']['LOCATION_ID'] = $locationField;
    unset($locationField);
}
// Rewrite client fields
if (!($bEdit || $bCopy || !empty($arResult['ERROR_MESSAGE']))) {
    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) {
Пример #2
0
 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()));
     }
 } elseif ($action == 'GET_WEBDAV_ELEMENT_INFO') {
     $elementID = isset($_POST['ELEMENT_ID']) ? intval($_POST['ELEMENT_ID']) : 0;
     if ($elementID <= 0) {
         echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid data'));