예제 #1
0
             if (is_array(CCurrencyLang::GetByID($currencyID, $k))) {
                 CCurrencyLang::Update($currencyID, $k, $locFields);
             } else {
                 $locFields['DECIMALS'] = 2;
                 //Default decimals
                 CCurrencyLang::Add($locFields);
             }
         }
     }
     if ($result) {
         if ($currency['IS_ACCOUNTING_CURRENCY'] && $currencyID !== CCrmCurrency::GetAccountCurrencyID()) {
             CCrmCurrency::SetAccountCurrencyID($currencyID);
         } elseif (!$currency['IS_ACCOUNTING_CURRENCY'] && $currencyID === CCrmCurrency::GetAccountCurrencyID()) {
             CCrmCurrency::SetAccountCurrencyID(CCrmCurrency::GetBaseCurrencyID());
         }
         if ($currency['IS_INVOICE_CURRENCY'] && $currencyID !== CCrmCurrency::getInvoiceDefault()) {
             CCrmCurrency::setInvoiceDefault($currencyID);
         }
         LocalRedirect(isset($_POST['apply']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_EDIT'], array('currency_id' => $currencyID)) : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array('currency_id' => $currencyID)));
     }
 } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) {
     $currencyID = isset($arParams['CURRENCY_ID']) ? strval($arParams['CURRENCY_ID']) : '';
     $currency = isset($currencyID[0]) ? CCrmCurrency::GetByID($currencyID) : null;
     if ($currency) {
         if (!CCrmCurrency::Delete($currencyID)) {
             $err = CCrmCurrency::GetLastError();
             ShowError(isset($err[0]) ? $err : GetMessage('CRM_CURRENCY_DELETE_UNKNOWN_ERROR'));
             return;
         }
     }
     LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array()));
예제 #2
0
        } else {
            LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array()), array('error' => $errorID)));
        }
    }
}
$gridOptions = new CCrmGridOptions($arResult['GRID_ID']);
$gridSorting = $gridOptions->GetSorting(array('sort' => array('SORT' => 'asc'), 'vars' => array('by' => 'by', 'order' => 'order')));
$sort = $arResult['SORT'] = $gridSorting['sort'];
$arResult['SORT_VARS'] = $gridSorting['vars'];
//if (!isset($arParams['CURRENCY_COUNT']))
//{
//	$arParams['CURRENCY_COUNT'] = 20;
//}
$accountCurrencyID = CCrmCurrency::GetAccountCurrencyID();
$baseCurrencyID = CCrmCurrency::GetBaseCurrencyID();
$defaultForInvoices = CCrmCurrency::getInvoiceDefault();
$currencies = array();
$allCurrencies = CCrmCurrency::GetAll();
foreach ($allCurrencies as $k => $v) {
    $currency = array();
    $currency['ID'] = $k;
    // Key is Currency ID
    $currency['NAME'] = $v['FULL_NAME'];
    $currency['SORT'] = $v['SORT'];
    $currency['EXCH_RATE'] = $v['AMOUNT'];
    //Default Exchange Rate
    $currency['AMOUNT_CNT'] = $v['AMOUNT_CNT'];
    $currency['ACCOUNTING'] = $k === $accountCurrencyID ? 'Y' : 'N';
    $isBase = $k === $baseCurrencyID;
    $currency['BASE'] = $isBase ? 'Y' : 'N';
    $currency['INVOICE_DEF'] = $currency['~INVOICE_DEF'] = $defaultForInvoices == $k ? 'Y' : 'N';
예제 #3
0
$arSelect[] = 'REASON_MARKED';
$arOptions = array();
if (isset($arSort['date_pay_before'])) {
    $arOptions['NULLS_LAST'] = true;
}
$arSelect = array_unique($arSelect, SORT_STRING);
$obRes = CCrmInvoice::GetList($arSort, $arFilter, false, $sExportType == '' ? $arNavParams : false, $arSelect, $arOptions);
if ($arResult['GADGET'] != 'Y' && $sExportType == '') {
    $obRes->NavStart($arNavParams['nPageSize'], false);
}
$arResult['INVOICE'] = array();
$arResult['INVOICE_ID'] = array();
$arResult['INVOICE_UF'] = array();
$now = time() + CTimeZone::GetOffset();
$currencyID = $CCrmInvoice::GetCurrencyID();
$totalPaidCurrencyId = $arParams['SUM_PAID_CURRENCY'] != '' ? $arParams['SUM_PAID_CURRENCY'] : CCrmCurrency::getInvoiceDefault();
$totalPaidNumber = 0;
$totalPaidSum = 0;
$arContactList = array();
$arCompanyList = array();
$arDealList = array();
$arQuoteList = array();
while ($arInvoice = $obRes->GetNext()) {
    $entityID = $arInvoice['ID'];
    // urls for row actions
    $arInvoice['PATH_TO_INVOICE_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_SHOW'], array('invoice_id' => $entityID));
    $arInvoice['PATH_TO_INVOICE_PAYMENT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_PAYMENT'], array('invoice_id' => $entityID));
    $arInvoice['PATH_TO_INVOICE_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_EDIT'], array('invoice_id' => $entityID));
    $arInvoice['PATH_TO_USER_PROFILE'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_PROFILE'], array('user_id' => $arInvoice['RESPONSIBLE_ID']));
    $arInvoice['PATH_TO_INVOICE_COPY'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_EDIT'], array('invoice_id' => $entityID)), array('copy' => 1));
    $arInvoice['PATH_TO_INVOICE_DELETE'] = CHTTP::urlAddParams($bInternal ? $APPLICATION->GetCurPage() : $arParams['PATH_TO_INVOICE_LIST'], array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $entityID, 'sessid' => bitrix_sessid()));
예제 #4
0
$arResult['BACK_URL'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array());
$langs = array();
$rsLang = CLangAdmin::GetList($by = 'sort', $order = 'asc');
while ($arLang = $rsLang->Fetch()) {
    $lid = $arLang['LID'];
    $langs[$lid] = array('NAME' => $arLang['NAME']);
}
$arResult['LANGS'] = $langs;
$arResult['FIELDS'] = array();
$arResult['FIELDS']['tab_1'][] = array('id' => 'currency_info', 'name' => GetMessage('CRM_CURRENCY_SECTION_MAIN'), 'type' => 'section');
$arResult['FIELDS']['tab_1'][] = array('id' => 'ID', 'name' => GetMessage('CRM_CURRENCY_FIELD_ID'), 'value' => $currencyID, 'type' => 'label');
$arResult['FIELDS']['tab_1'][] = array('id' => 'AMOUNT_CNT', 'name' => GetMessage('CRM_CURRENCY_FIELD_AMOUNT_CNT'), 'value' => isset($currency['AMOUNT_CNT']) ? $currency['AMOUNT_CNT'] : '', 'type' => 'label');
$arResult['FIELDS']['tab_1'][] = array('id' => 'DEFAULT_EXCH_RATE', 'name' => GetMessage('CRM_CURRENCY_FIELD_DEFAULT_EXCH_RATE'), 'value' => isset($currency['AMOUNT']) ? $currency['AMOUNT'] : '', 'type' => 'label');
$arResult['FIELDS']['tab_1'][] = array('id' => 'SORT', 'name' => GetMessage('CRM_CURRENCY_FIELD_SORT'), 'value' => isset($currency['SORT']) ? $currency['SORT'] : '', 'type' => 'label');
$arResult['FIELDS']['tab_1'][] = array('id' => 'BASE', 'name' => GetMessage('CRM_CURRENCY_SHOW_BASE'), 'value' => $isBaseCurrency ? GetMessage('MAIN_YES') : GetMessage('MAIN_NO'), 'type' => 'label');
$defaultForInvoices = CCrmCurrency::getInvoiceDefault() == $currencyID ? GetMessage("MAIN_YES") : GetMessage("MAIN_NO");
$arResult['FIELDS']['tab_1'][] = array('id' => 'INVOICES_DEFAULT', 'name' => GetMessage('CRM_CURRENCY_INVOICES_DEFAULT'), 'value' => $defaultForInvoices, 'type' => 'label');
$currencyLocs = array();
if (isset($currencyID[0])) {
    $rs = CCurrencyLang::GetList($by = '', $order = '', $currencyID);
    while ($ary = $rs->GetNext()) {
        $loc = array();
        $loc['FULL_NAME'] = $ary['FULL_NAME'];
        $loc['FORMAT_STRING'] = $ary['FORMAT_STRING'];
        $loc['DEC_POINT'] = $ary['DEC_POINT'];
        $loc['THOUSANDS_SEP'] = $ary['THOUSANDS_SEP'];
        $loc['THOUSANDS_VARIANT'] = $ary['THOUSANDS_VARIANT'];
        $currencyLocs[$ary['LID']] = $loc;
    }
}
$arResult['CURRENCY_LOCALIZATIONS'] = $currencyLocs;