예제 #1
0
 public static function GetAll()
 {
     if (!CModule::IncludeModule('catalog')) {
         return false;
     }
     $VATS = isset(self::$VATS) ? self::$VATS : null;
     if (!$VATS) {
         $VATS = array();
         $dbResultList = CCatalogVat::GetList(array('C_SORT' => 'ASC'));
         while ($arVat = $dbResultList->Fetch()) {
             $VATS[$arVat['ID']] = $arVat;
         }
         self::$VATS = $VATS;
     }
     return $VATS;
 }
예제 #2
0
 function CCrmProductResult($res, $arFields = array(), $arAdditionalFilter = array(), $arAdditionalSelect = array(), $arOptions = array())
 {
     parent::CDBResult($res);
     $fields = $arFields;
     foreach ($fields as $k => $v) {
         $str = strval($v);
         if (trim($str) === '') {
             unset($fields[$k]);
         }
     }
     $this->arFieldAssoc = array_flip($fields);
     $this->arAdditionalFilter = $arAdditionalFilter;
     $this->arAdditionalSelect = $arAdditionalSelect;
     $this->bRealPrice = false;
     if (is_array($arOptions) && count($arOptions) > 0) {
         if (isset($arOptions['REAL_PRICE']) && $arOptions['REAL_PRICE'] === true) {
             $this->bRealPrice = true;
         }
     }
     self::$bVatMode = CCrmTax::isVatMode();
     if (self::$bVatMode) {
         self::$arVatRates = CCrmVat::GetAll();
     }
 }
예제 #3
0
    ShowError(GetMessage('CRM_MODULE_NOT_INSTALLED'));
    return;
}
global $USER, $APPLICATION;
$CrmPerms = new CCrmPerms($USER->GetID());
if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ')) {
    ShowError(GetMessage('CRM_PERMISSION_DENIED'));
    return;
}
$arParams['PATH_TO_PRODUCT_LIST'] = CrmCheckPath('PATH_TO_PRODUCT_LIST', $arParams['PATH_TO_PRODUCT_LIST'], '');
$arParams['PATH_TO_PRODUCT_FILE'] = CrmCheckPath('PATH_TO_PRODUCT_FILE', $arParams['PATH_TO_PRODUCT_FILE'], $APPLICATION->GetCurPage() . '?product_id=#product_id#&field_id=#field_id#&file_id=#file_id#&file');
//CUtil::InitJSCore(array('ajax', 'tooltip'));
$bVatMode = CCrmTax::isVatMode();
$vatRateListItems = array();
if ($bVatMode) {
    $vatRateListItems = CCrmVat::GetVatRatesListItems();
}
// measure list items
$measureListItems = array('' => GetMessage('CRM_MEASURE_NOT_SELECTED'));
$measures = \Bitrix\Crm\Measure::getMeasures(100);
if (is_array($measures)) {
    foreach ($measures as $measure) {
        $measureListItems[$measure['ID']] = $measure['SYMBOL'];
    }
    unset($measure);
}
unset($measures);
$productID = isset($arParams['PRODUCT_ID']) ? intval($arParams['PRODUCT_ID']) : 0;
if ($productID <= 0) {
    $productIDParName = isset($arParams['PRODUCT_ID_PAR_NAME']) ? strval($arParams['PRODUCT_ID_PAR_NAME']) : '';
    if (strlen($productIDParName) == 0) {
예제 #4
0
                if ($ex = $GLOBALS['APPLICATION']->GetException()) {
                    $errorMsg = $ex->GetString();
                } else {
                    $errorMsg = GetMessage('CRM_VAT_ADD_UNKNOWN_ERROR');
                }
            }
        }
        if (strlen($errorMsg) <= 0) {
            LocalRedirect(isset($_POST['apply']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_EDIT'], array('vat_id' => $vatID)) : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_LIST'], array('vat_id' => $vatID)));
        } else {
            ShowError($errorMsg);
            $arVat = $fields;
        }
    } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) {
        $vatID = isset($arParams['VAT_ID']) ? intval($arParams['VAT_ID']) : 0;
        $arVat = $vatID > 0 ? CCrmVat::GetByID($vatID) : null;
        if ($arVat) {
            if (!CCatalogVat::Delete($vatID)) {
                ShowError(GetMessage('CRM_VAT_DELETE_UNKNOWN_ERROR'));
            }
        }
        LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_LIST'], array()));
    }
}
$arResult['FIELDS'] = array();
if (strlen($arParams['VAT_ID']) > 0) {
    $arResult['FIELDS']['tab_1'][] = array('id' => 'ID', 'name' => GetMessage('CRM_VAT_FIELD_ID'), 'value' => $vatID, 'type' => 'label');
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'NAME', 'name' => GetMessage('CRM_VAT_FIELD_NAME'), 'value' => htmlspecialcharsbx($arVat['NAME']), 'type' => 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'RATE', 'name' => GetMessage('CRM_VAT_FIELD_RATE'), 'value' => floatval($arVat['RATE']), 'type' => 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'ACTIVE', 'name' => GetMessage('CRM_VAT_FIELD_ACTIVE'), 'value' => $arVat['ACTIVE'] == 'Y', 'type' => 'checkbox');
예제 #5
0
 public static function RecalculatePriceVat($price, $bVatIncluded, $vatId)
 {
     $result = $price;
     if (self::$bVatMode === null) {
         self::$bVatMode = CCrmTax::isVatMode();
         if (self::$bVatMode) {
             self::$arVatRates = CCrmVat::GetAll();
         }
     }
     if (self::$bVatMode) {
         if ($bVatIncluded !== 'Y') {
             if (isset(self::$arVatRates[$vatId])) {
                 $vatRate = self::$arVatRates[$vatId]['RATE'];
                 $result = (doubleval($vatRate) / 100 + 1) * doubleval($price);
             }
         }
     }
     return $result;
 }
예제 #6
0
                ShowError($error);
            }
        }
        unset($_GET['ID'], $_REQUEST['ID']);
        // otherwise the filter will work
    }
    if (!isset($_GET['AJAX_CALL'])) {
        LocalRedirect($bInternal ? '?' . $arParams['FORM_ID'] . '_active_tab=tab_product' : '');
    }
}
$gridOptions = new CCrmGridOptions($arResult['GRID_ID']);
$gridSorting = $gridOptions->GetSorting(array('sort' => array('c_sort' => 'desc'), 'vars' => array('by' => 'by', 'order' => 'order')));
$sort = $arResult['SORT'] = $gridSorting['sort'];
$arResult['SORT_VARS'] = $gridSorting['vars'];
$vats = array();
$allVats = CCrmVat::GetAll();
foreach ($allVats as $k => $v) {
    $arVat = array();
    $arVat['ID'] = $arVat['~ID'] = intval($k);
    // Key is Currency ID
    $arVat['NAME'] = $v['NAME'];
    $arVat['C_SORT'] = $arVat['~C_SORT'] = intval($v['C_SORT']);
    $arVat['ACTIVE'] = $arVat['~ACTIVE'] = $v['ACTIVE'] == 'Y' ? 'Y' : 'N';
    $arVat['RATE'] = $arVat['~RATE'] = $v['RATE'];
    $arVat['PATH_TO_VAT_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_SHOW'], array('vat_id' => $k));
    $arVat['PATH_TO_VAT_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_EDIT'], array('vat_id' => $k));
    $arVat['PATH_TO_VAT_DELETE'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_LIST'], array('vat_id' => $k)), array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $k, 'sessid' => bitrix_sessid()));
    $arVat['~NAME'] = htmlspecialcharsBack($arVat['NAME']);
    $vats[] = $arVat;
}
if (is_array($sort) && count($sort) > 0) {
예제 #7
0
}
unset($arFields, $fieldID, $obFile, $obFileControl, $html, $fieldValue);
$visibleFields = array();
$productFormOptions = CUserOptions::GetOption('main.interface.form', 'CRM_PRODUCT_EDIT', array());
if (is_array($productFormOptions) && is_array($productFormOptions['tabs']) && count($productFormOptions['tabs']) && (!isset($productFormOptions['settings_disabled']) || $productFormOptions['settings_disabled'] !== 'Y')) {
    $tabFound = false;
    $tab = null;
    foreach ($productFormOptions['tabs'] as $tab) {
        if (isset($tab['id']) && $tab['id'] === 'tab_1') {
            $tabFound = true;
            break;
        }
    }
    if ($tabFound) {
        if (is_array($tab) && is_array($tab['fields'])) {
            foreach ($tab['fields'] as $field) {
                if (isset($field['type']) && isset($field['id']) && $field['type'] !== 'section') {
                    $visibleFields[] = $field['id'];
                }
            }
        }
    }
}
$arResult['PRODUCT_CREATE_DLG_VISIBLE_FIELDS'] = $visibleFields;
unset($productFormOptions);
$arResult['PRODUCT_CREATE_DLG_SETTINGS'] = array('formId' => 'crm_product_create_dialog_form', 'url' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_PRODUCT_EDIT'], array('product_id' => 0)), 'sessid' => bitrix_sessid(), 'messages' => array('dialogTitle' => GetMessage('CRM_PRODUCT_CREATE'), 'waitMessage' => GetMessage('CRM_PRODUCT_CREATE_WAIT'), 'ajaxError' => GetMessage('CRM_PRODUCT_CREATE_AJAX_ERR'), 'buttonCreateTitle' => GetMessage('CRM_BUTTON_CREATE_TITLE'), 'buttonCancelTitle' => GetMessage('CRM_BUTTON_CANCEL_TITLE'), 'NAME' => GetMessage('CRM_FIELD_PRODUCT_NAME'), 'DESCRIPTION' => GetMessage('CRM_FIELD_DESCRIPTION'), 'ACTIVE' => GetMessage('CRM_FIELD_ACTIVE'), 'CURRENCY' => GetMessage('CRM_FIELD_CURRENCY'), 'PRICE' => GetMessage('CRM_FIELD_PRICE'), 'MEASURE' => GetMessage('CRM_FIELD_MEASURE'), 'VAT_ID' => GetMessage('CRM_FIELD_VAT_ID'), 'VAT_INCLUDED' => GetMessage('CRM_FIELD_VAT_INCLUDED'), 'SECTION' => GetMessage('CRM_FIELD_SECTION'), 'SORT' => GetMessage('CRM_FIELD_SORT'), 'PREVIEW_PICTURE' => GetMessage('CRM_PRODUCT_FIELD_PREVIEW_PICTURE'), 'DETAIL_PICTURE' => GetMessage('CRM_PRODUCT_FIELD_DETAIL_PICTURE')), 'fields' => array(array('textCode' => 'NAME', 'type' => 'text', 'maxLength' => 255, 'value' => '', 'skip' => 'N', 'required' => 'Y'), array('textCode' => 'DESCRIPTION', 'type' => 'textarea', 'maxLength' => 7500, 'value' => '', 'skip' => !CCrmProductHelper::IsFieldVisible('DESCRIPTION', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'ACTIVE', 'type' => 'checkbox', 'value' => 'Y', 'skip' => 'Y'), array('textCode' => 'CURRENCY', 'type' => 'select', 'value' => CCrmCurrency::GetBaseCurrencyID(), 'items' => CCrmViewHelper::prepareSelectItemsForJS(CCrmCurrencyHelper::PrepareListItems()), 'skip' => !CCrmProductHelper::IsFieldVisible('CURRENCY', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'PRICE', 'type' => 'text', 'maxLength' => 21, 'value' => '0.00', 'skip' => !CCrmProductHelper::IsFieldVisible('PRICE', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'MEASURE', 'type' => 'select', 'value' => '', 'items' => CCrmViewHelper::prepareSelectItemsForJS($measureListItems), 'skip' => !CCrmProductHelper::IsFieldVisible('MEASURE', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'VAT_ID', 'type' => 'select', 'value' => '', 'items' => $arResult['ALLOW_TAX'] ? CCrmViewHelper::prepareSelectItemsForJS(CCrmVat::GetVatRatesListItems()) : null, 'skip' => $arResult['ALLOW_TAX'] ? !CCrmProductHelper::IsFieldVisible('VAT_ID', $visibleFields) ? 'Y' : 'N' : 'Y'), array('textCode' => 'VAT_INCLUDED', 'type' => 'checkbox', 'value' => 'N', 'skip' => $arResult['ALLOW_TAX'] ? !CCrmProductHelper::IsFieldVisible('VAT_INCLUDED', $visibleFields) ? 'Y' : 'N' : 'Y'), array('textCode' => 'SECTION', 'type' => 'select', 'value' => '0', 'items' => CCrmViewHelper::prepareSelectItemsForJS(CCrmProductHelper::PrepareSectionListItems(CCrmCatalog::EnsureDefaultExists())), 'skip' => !CCrmProductHelper::IsFieldVisible('SECTION', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'SORT', 'type' => 'text', 'maxLength' => 11, 'value' => 100, 'skip' => 'Y'), array('textCode' => 'PREVIEW_PICTURE', 'type' => 'custom', 'value' => $htmlPreviewPictureValue, 'skip' => !CCrmProductHelper::IsFieldVisible('PREVIEW_PICTURE', $visibleFields) ? 'Y' : 'N'), array('textCode' => 'DETAIL_PICTURE', 'type' => 'custom', 'value' => $htmlDetailPictureValue, 'skip' => !CCrmProductHelper::IsFieldVisible('DETAIL_PICTURE', $visibleFields) ? 'Y' : 'N')), "ownerCurrencyId" => $currencyID);
unset($visibleFields);
$arResult['PRODUCT_PROPS_USER_TYPES'] = $arPropUserTypeList;
$arResult['PRODUCT_PROPS'] = $arProps;
/** @var CBitrixComponent $this */
$this->IncludeComponentTemplate();
예제 #8
0
// Prepare tax list
if (!$arResult['VAT_MODE']) {
    $arResult['TAX_LIST'] = CCrmInvoice::getTaxList($ownerID);
    $arResult['TAX_LIST_PERCENT_PRECISION'] = SALE_VALUE_PRECISION;
}
// Prepare sum total
$sumTotal = 0.0;
foreach ($arResult['PRODUCT_ROWS'] as $row) {
    if (!isset($row['PRICE']) || !isset($row['QUANTITY'])) {
        continue;
    }
    $sumTotal += doubleval($row['PRICE']) * intval($row['QUANTITY']);
}
$arResult['TAX_VALUE'] = isset($arParams['TAX_VALUE']) ? $arParams['TAX_VALUE'] : 0.0;
$arResult['SUM_TOTAL'] = isset($arParams['SUM_TOTAL']) ? $arParams['SUM_TOTAL'] : round($sumTotal, 2);
$arResult['TAX_VALUE_WT'] = round(doubleval($arParams['SUM_TOTAL'] - doubleval($arParams['TAX_VALUE'])), 2);
//SAVING MODE. ONSUBMIT: SAVE ALL PRODUCT ROWS ON SUBMIT, ONCHANGE: SAVE PRODUCT ROWS AFTER EVERY CHANGE (AJAX)
$arResult['SAVING_MODE'] = isset($arParams['SAVING_MODE']) ? strtoupper($arParams['SAVING_MODE']) : 'ONSUBMIT';
if ($arResult['SAVING_MODE'] != 'ONSUBMIT' && $arResult['SAVING_MODE'] != 'ONCHANGE') {
    $arResult['SAVING_MODE'] = 'ONSUBMIT';
}
$arResult['FORM_ID'] = isset($arParams['FORM_ID']) ? $arParams['FORM_ID'] : '';
$arResult['PREFIX'] = htmlspecialcharsbx($ownerID > 0 ? strtolower($ownerName) . '_' . strval($ownerID) : 'new_' . strtolower($ownerName));
$arResult['CONTAINER_CLASS'] = htmlspecialcharsbx(strtolower($ownerName) . '-product-rows');
$arResult['ROW_CLASS'] = '';
$arResult['PRODUCT_DATA_FIELD_NAME'] = isset($arParams['PRODUCT_DATA_FIELD_NAME']) ? $arParams['PRODUCT_DATA_FIELD_NAME'] : 'PRODUCT_ROW_DATA';
// crmProductCreateDialog dialog settings
$bVatMode = CCrmTax::isVatMode();
$arResult['INVOICE_PRODUCT_CREATE_DLG_SETTINGS'] = array('url' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_PRODUCT_EDIT'], array('product_id' => 0)), 'sessid' => bitrix_sessid(), 'messages' => array('dialogTitle' => GetMessage('CRM_PRODUCT_CREATE'), 'waitMessage' => GetMessage('CRM_PRODUCT_CREATE_WAIT'), 'ajaxError' => GetMessage('CRM_PRODUCT_CREATE_AJAX_ERR'), 'buttonCreateTitle' => GetMessage('CRM_BUTTON_CREATE_TITLE'), 'buttonCancelTitle' => GetMessage('CRM_BUTTON_CANCEL_TITLE'), 'NAME' => GetMessage('CRM_FIELD_NAME'), 'DESCRIPTION' => GetMessage('CRM_FIELD_DESCRIPTION'), 'ACTIVE' => GetMessage('CRM_FIELD_ACTIVE'), 'CURRENCY' => GetMessage('CRM_FIELD_CURRENCY'), 'PRICE' => GetMessage('CRM_FIELD_PRICE'), 'VAT_ID' => GetMessage('CRM_FIELD_VAT_ID'), 'VAT_INCLUDED' => GetMessage('CRM_FIELD_VAT_INCLUDED'), 'SECTION_ID' => GetMessage('CRM_FIELD_SECTION'), 'SORT' => GetMessage('CRM_FIELD_SORT')), 'fields' => array(array('textCode' => 'NAME', 'type' => 'text', 'maxLength' => 255, 'value' => '', 'skip' => 'N'), array('textCode' => 'DESCRIPTION', 'type' => 'textarea', 'maxLength' => 7500, 'value' => '', 'skip' => 'N'), array('textCode' => 'ACTIVE', 'type' => 'checkbox', 'value' => 'Y', 'skip' => 'N'), array('textCode' => 'CURRENCY', 'type' => 'select', 'value' => CCrmCurrency::GetBaseCurrencyID(), 'items' => CCrmViewHelper::prepareSelectItemsForJS(CCrmCurrencyHelper::PrepareListItems()), 'skip' => 'N'), array('textCode' => 'PRICE', 'type' => 'text', 'maxLength' => 21, 'value' => '0.00', 'skip' => 'N'), array('textCode' => 'VAT_ID', 'type' => 'select', 'value' => '', 'items' => $bVatMode ? CCrmViewHelper::prepareSelectItemsForJS(CCrmVat::GetVatRatesListItems()) : null, 'skip' => $bVatMode ? 'N' : 'Y'), array('textCode' => 'VAT_INCLUDED', 'type' => 'checkbox', 'value' => 'N', 'skip' => $bVatMode ? 'N' : 'Y'), array('textCode' => 'SECTION_ID', 'type' => 'select', 'value' => '0', 'items' => CCrmViewHelper::prepareSelectItemsForJS(CCrmProductHelper::PrepareSectionListItems(CCrmCatalog::EnsureDefaultExists())), 'skip' => 'N'), array('textCode' => 'SORT', 'type' => 'text', 'maxLength' => 11, 'value' => 100, 'skip' => 'N')), "ownerCurrencyId" => $currencyID);
unset($bVatMode);
$this->IncludeComponentTemplate();
예제 #9
0
global $USER, $APPLICATION;
$CrmPerms = new CCrmPerms($USER->GetID());
if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ')) {
    ShowError(GetMessage('CRM_PERMISSION_DENIED'));
    return;
}
$arVatID = isset($arParams['VAT_ID']) ? strval($arParams['VAT_ID']) : '';
if ($arVatID <= 0) {
    $arVatIDParName = isset($arParams['VAT_ID_PAR_NAME']) ? intval($arParams['VAT_ID_PAR_NAME']) : 0;
    if ($arVatIDParName <= 0) {
        $arVatIDParName = 'vat_id';
    }
    $arVatID = isset($_REQUEST[$arVatIDParName]) ? intval($_REQUEST[$arVatIDParName]) : 0;
}
$arVat = array();
if ($arVatID <= 0 || !($arVat = CCrmVat::GetByID($arVatID))) {
    ShowError(GetMessage('CRM_VAT_NOT_FOUND'));
    @define('ERROR_404', 'Y');
    if ($arParams['SET_STATUS_404'] === 'Y') {
        CHTTP::SetStatus("404 Not Found");
    }
    return;
}
$arResult['VAT_ID'] = $arVatID;
$arResult['VAT'] = $arVat;
$isEditMode = $arVatID >= 0 ? true : false;
$arResult['FORM_ID'] = 'CRM_VAT_EDIT';
$arResult['GRID_ID'] = 'CRM_VAT_EDIT';
$arResult['BACK_URL'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_LIST'], array());
$arResult['FIELDS'] = array();
$arResult['FIELDS']['tab_1'][] = array('id' => 'vat_info', 'name' => GetMessage('CRM_VAT_SECTION_MAIN'), 'type' => 'section');
예제 #10
0
    return;
}
global $USER, $APPLICATION;
$arParams['PATH_TO_VAT_LIST'] = CrmCheckPath('PATH_TO_VAT_LIST', $arParams['PATH_TO_VAT_LIST'], '');
$arParams['PATH_TO_VAT_SHOW'] = CrmCheckPath('PATH_TO_VAT_SHOW', $arParams['PATH_TO_VAT_SHOW'], '?vat_id=#vat_id#&show');
$arParams['PATH_TO_VAT_ADD'] = CrmCheckPath('PATH_TO_VAT_ADD', $arParams['PATH_TO_VAT_ADD'], '?add');
$arParams['PATH_TO_VAT_EDIT'] = CrmCheckPath('PATH_TO_VAT_EDIT', $arParams['PATH_TO_VAT_EDIT'], '?vat_id=#vat_id#&edit');
if (!isset($arParams['TYPE'])) {
    $arParams['TYPE'] = 'list';
}
$arResult['BUTTONS'] = array();
$vatID = isset($arParams['VAT_ID']) ? intval($arParams['VAT_ID']) : 0;
$CrmPerms = new CCrmPerms($USER->GetID());
$vatAdd = $vatEdit = $vatDelete = $CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE');
$vatShow = $CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ');
$exists = isset($vatID) && is_array(CCrmVat::GetByID($vatID));
if ($arParams['TYPE'] !== 'list') {
    $arResult['BUTTONS'][] = array('TEXT' => GetMessage('CRM_VAT_LIST'), 'TITLE' => GetMessage('CRM_VAT_LIST_TITLE'), 'LINK' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_LIST'], array()), 'ICON' => 'btn-list');
}
if ($vatAdd) {
    $arResult['BUTTONS'][] = array('TEXT' => GetMessage('CRM_VAT_ADD'), 'TITLE' => GetMessage('CRM_VAT_ADD_TITLE'), 'LINK' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_ADD'], array()), 'ICON' => 'btn-new');
}
if ($arParams['TYPE'] == 'list') {
    $arResult['BUTTONS'][] = array('TEXT' => GetMessage('CRM_VAT_SETTINGS'), 'TITLE' => GetMessage('CRM_VAT_SETTINGS_TITLE'), 'LINK' => "javascript:(new BX.CDialog({\n\t\t\t\t\t\t\t'content_url':'/bitrix/components/bitrix/crm.config.tax.settings/box.php',\n\t\t\t\t\t\t\t'width':'498',\n\t\t\t\t\t\t\t'height':'275',\n\t\t\t\t\t\t\t'resizable':false })).Show();", 'ICON' => 'btn-settings');
}
if ($vatEdit && $arParams['TYPE'] == 'show' && $exists) {
    $arResult['BUTTONS'][] = array('TEXT' => GetMessage('CRM_VAT_EDIT'), 'TITLE' => GetMessage('CRM_VAT_EDIT_TITLE'), 'LINK' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_EDIT'], array('vat_id' => $vatID)), 'ICON' => 'btn-edit');
}
/*
if ($vatShow && $arParams['TYPE'] == 'edit' && $exists)
{
예제 #11
0
            if ($arField['id'] === 'SECTION_ID') {
                for ($j = 1; $j <= $catalogImportLevels; $j++) {
                    echo isset($arDemo[$i][$arField['id'] . '_' . $j]) ? '"' . str_replace('"', '""', $arDemo[$i][$arField['id'] . '_' . $j]) . '";' : '"";';
                }
            } else {
                echo isset($arDemo[$i][$arField['id']]) ? '"' . str_replace('"', '""', $arDemo[$i][$arField['id']]) . '";' : '"";';
            }
        }
        echo "\n";
    }
    die;
} else {
    if (isset($_REQUEST['import']) && isset($_SESSION['CRM_IMPORT_FILE'])) {
        $APPLICATION->RestartBuffer();
        require_once $_SERVER['DOCUMENT_ROOT'] . BX_ROOT . '/modules/main/classes/general/csv_data.php';
        $arVatRates = CCrmVat::GetVatRatesListItems();
        // measure list items
        $arMeasures = array('' => GetMessage('CRM_MEASURE_NOT_SELECTED'));
        $measures = \Bitrix\Crm\Measure::getMeasures(100);
        if (is_array($measures)) {
            foreach ($measures as $measure) {
                $arMeasures[$measure['ID']] = $measure['SYMBOL'];
            }
            unset($measure);
        }
        unset($measures);
        $csvFile = new CCSVData();
        $csvFile->LoadFile($_SESSION['CRM_IMPORT_FILE']);
        $csvFile->SetFieldsType('R');
        $csvFile->SetPos($_SESSION['CRM_IMPORT_FILE_POS']);
        $csvFile->SetFirstHeader($_SESSION['CRM_IMPORT_FILE_FIRST_HEADER']);
예제 #12
0
$arParams['PATH_TO_PRODUCT_FILE'] = CrmCheckPath('PATH_TO_PRODUCT_FILE', $arParams['PATH_TO_PRODUCT_FILE'], $APPLICATION->GetCurPage() . '?product_id=#product_id#&field_id=#field_id#&file_id=#file_id#&file');
// prepare URI template
$curParam = $APPLICATION->GetCurParam();
$curParam = preg_replace('/(^|[^\\w])bxajaxid=[\\d\\w]*([^\\d\\w]|$)/', '', $curParam);
$curParam = preg_replace('/(?<!\\w)list_section_id=\\d*(?=([^\\d]|$))/', 'list_section_id=#section_id#', $curParam);
$curParam = preg_replace('/(^|&)tree=\\w*(?=(&|$))/', '', $curParam);
$arResult['PAGE_URI_TEMPLATE'] = $arParams['PATH_TO_PRODUCT_LIST'] . (strlen($curParam) > 0 ? '?' . $curParam . '&tree=Y' : '?tree=Y');
unset($curParam);
$arFilter = $arSort = array();
$bInternal = false;
$arResult['FORM_ID'] = isset($arParams['FORM_ID']) ? $arParams['FORM_ID'] : '';
$arResult['TAB_ID'] = isset($arParams['TAB_ID']) ? $arParams['TAB_ID'] : '';
$bVatMode = $arResult['VAT_MODE'] = CCrmTax::isVatMode();
$arResult['VAT_RATE_LIST_ITEMS'] = array();
if ($bVatMode) {
    $arResult['VAT_RATE_LIST_ITEMS'] = CCrmVat::GetVatRatesListItems();
}
// measure list items
$arResult['MEASURE_LIST_ITEMS'] = array('' => GetMessage('CRM_MEASURE_NOT_SELECTED'));
$measures = \Bitrix\Crm\Measure::getMeasures(100);
if (is_array($measures)) {
    foreach ($measures as $measure) {
        $arResult['MEASURE_LIST_ITEMS'][$measure['ID']] = $measure['SYMBOL'];
    }
    unset($measure);
}
unset($measures);
if (isset($arResult['PRODUCT_ID'])) {
    unset($arResult['PRODUCT_ID']);
}
if (!empty($arParams['INTERNAL_FILTER']) || $arResult['GADGET'] == 'Y') {
예제 #13
0
 public static function get($params)
 {
     if (!CModule::IncludeModule('catalog')) {
         throw new RestException('The Commercial Catalog module is not installed.');
     }
     global $USER;
     $CrmPerms = new CCrmPerms($USER->GetID());
     if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ')) {
         throw new RestException('Access denied.');
     }
     $ID = CCrmInvoiceRestUtil::getParamScalar($params, 'id', 0);
     $arResult = CCrmVat::GetByID($ID);
     if ($arResult === false) {
         throw new RestException('VAT rate not found.');
     }
     $arResult = self::filterFields($arResult, 'get');
     return $arResult;
 }