CModule::IncludeModule("sale"); $personTypes = CCrmPaySystem::getPersonTypeIDs(); $arFields = array("ORDER_TOPIC" => GetMessage("CRM_DEMO_INVOCIE_1_SUBJ"), "STATUS_ID" => "P", "DATE_INSERT" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_BILL" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'SHORT'), "PAY_VOUCHER_DATE" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_PAY_BEFORE" => ConvertTimeStamp(time() + 8000009 + CTimeZone::GetOffset(), 'SHORT'), "RESPONSIBLE_ID" => 1, "UF_CONTACT_ID" => $arContacts["45"]['ID'], "PAY_VOUCHER_NUM" => 456, "DATE_MARKED" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "PRODUCT_ROWS" => array(array("ID" => 0, "PRODUCT_ID" => $arProduct["ID"], "PRODUCT_NAME" => $arProduct["NAME"], "QUANTITY" => 1, "PRICE" => $arProduct["PRICE"])), "PERSON_TYPE_ID" => $personTypes["CONTACT"], "INVOICE_PROPERTIES" => array()); $paySystems = CCrmPaySystem::GetPaySystems($personTypes["CONTACT"]); foreach ($paySystems as $id => $paySystem) { $arFields["PAY_SYSTEM_ID"] = $id; } $arAllProps = CCrmInvoice::GetPropertiesInfo($personTypes["CONTACT"]); foreach ($arAllProps as $arProps) { foreach ($arProps as $key => $prop) { if ($key == "FIO") { $arFields["INVOICE_PROPERTIES"][$prop["ID"]] = $arContacts["45"]["LAST_NAME"]; } } } $arInvoices[] = $arFields; $arFields = array("ORDER_TOPIC" => GetMessage("CRM_DEMO_INVOCIE_2_SUBJ"), "STATUS_ID" => "N", "DATE_INSERT" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_BILL" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'SHORT'), "PAY_VOUCHER_DATE" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_PAY_BEFORE" => ConvertTimeStamp(time() + 8000009 + CTimeZone::GetOffset(), 'SHORT'), "RESPONSIBLE_ID" => 1, "UF_COMPANY_ID" => $arCompany["38"]['ID'], "PRODUCT_ROWS" => array(array("ID" => 0, "PRODUCT_ID" => $arProduct["ID"], "PRODUCT_NAME" => $arProduct["NAME"], "QUANTITY" => 1, "PRICE" => $arProduct["PRICE"])), "PERSON_TYPE_ID" => $personTypes["COMPANY"], "INVOICE_PROPERTIES" => array()); $paySystems = CCrmPaySystem::GetPaySystems($personTypes["COMPANY"]); foreach ($paySystems as $id => $paySystem) { $arFields["PAY_SYSTEM_ID"] = $id; } $arAllProps = CCrmInvoice::GetPropertiesInfo($personTypes["COMPANY"]); foreach ($arAllProps as $arProps) { foreach ($arProps as $key => $prop) { if ($key == "COMPANY") { $arFields["INVOICE_PROPERTIES"][$prop["ID"]] = $arCompany["38"]["TITLE"]; } } } $arInvoices[] = $arFields; }
// <-- PRODUCT ROW SECTION $formTabKey = $arResult['FORM_ID'] . '_active_tab'; $currentFormTabID = $_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET[$formTabKey]) ? $_GET[$formTabKey] : ''; if (!$CCrmQuote->cPerms->HavePerm('INVOICE', BX_CRM_PERM_NONE, 'READ')) { $arResult['FIELDS']['tab_invoice'][] = array('id' => 'QUOTE_INVOICE', 'name' => GetMessage('CRM_QUOTE_FIELD_QUOTE_INVOICE'), 'colspan' => true, 'type' => 'crm_invoice_list', 'componentData' => array('template' => '', 'enableLazyLoad' => true, 'params' => array('INVOICE_COUNT' => '20', 'PATH_TO_COMPANY_SHOW' => $arParams['PATH_TO_COMPANY_SHOW'], 'PATH_TO_COMPANY_EDIT' => $arParams['PATH_TO_COMPANY_EDIT'], 'PATH_TO_CONTACT_EDIT' => $arParams['PATH_TO_CONTACT_EDIT'], 'PATH_TO_QUOTE_EDIT' => $arParams['PATH_TO_QUOTE_EDIT'], 'PATH_TO_INVOICE_EDIT' => $arParams['PATH_TO_INVOICE_EDIT'], 'PATH_TO_INVOICE_PAYMENT' => $arParams['PATH_TO_INVOICE_PAYMENT'], 'INTERNAL_FILTER' => array('UF_QUOTE_ID' => $arResult['ELEMENT']['ID']), 'SUM_PAID_CURRENCY' => $currencyID, 'GRID_ID_SUFFIX' => 'QUOTE_SHOW', 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_invoice', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'ENABLE_TOOLBAR' => 'Y', 'INTERNAL_ADD_BTN_TITLE' => GetMessage('CRM_QUOTE_ADD_INVOICE_TITLE')))); } $arResult['FIELDS']['tab_event'][] = array('id' => 'section_event_grid', 'name' => GetMessage('CRM_SECTION_EVENT_MAIN'), 'type' => 'section'); ob_start(); $arResult['EVENT_COUNT'] = $APPLICATION->IncludeComponent('bitrix:crm.event.view', '', array('ENTITY_TYPE' => 'QUOTE', 'ENTITY_ID' => $arResult['ELEMENT']['ID'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'FORM_ID' => $arResult['FORM_ID'], 'TAB_ID' => 'tab_event', 'INTERNAL' => 'Y', 'SHOW_INTERNAL_FILTER' => 'Y', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE']), false); $sVal = ob_get_contents(); ob_end_clean(); $arResult['FIELDS']['tab_event'][] = array('id' => 'QUOTE_EVENT', 'name' => GetMessage('CRM_QUOTE_FIELD_QUOTE_EVENT'), 'colspan' => true, 'type' => 'custom', 'value' => $sVal); $arResult['PRINT_URL'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_QUOTE_PAYMENT'], array('quote_id' => $arParams['ELEMENT_ID'])), array('PRINT' => 'Y', 'ncc' => '1')); $arResult['DOWNLOAD_PDF_URL'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_QUOTE_PAYMENT'], array('quote_id' => $arParams['ELEMENT_ID'])), array('pdf' => '1', 'DOWNLOAD' => 'Y', 'ncc' => '1')); $arResult['CREATE_PDF_FILE_URL'] = "{$componentPath}/ajax.php"; $paySystems = CCrmPaySystem::GetPaySystems($arResult['ELEMENT']['PERSON_TYPE_ID']); if (is_array($paySystems)) { $quotePaySystemInfos = array(); foreach ($paySystems as &$paySystem) { $file = isset($paySystem['~PSA_ACTION_FILE']) ? $paySystem['~PSA_ACTION_FILE'] : ''; if (strpos($file, '/quote') !== false) { $quotePaySystemInfos[] = array('ID' => intval($paySystem['~PSA_ID']), 'NAME' => $paySystem['~PSA_NAME']); } } unset($paySystem); } $arResult['PRINT_TEMPLATES'] = $quotePaySystemInfos; // HACK: for to prevent title overwrite after AJAX call. if (isset($_REQUEST['bxajaxid'])) { $APPLICATION->SetTitle(''); }