(defn subtract-lists [lst1 lst2] (map - lst1 lst2)) (subtract-lists '(1 2 3) '(4 5 6)) ; => (-3 -3 -3)
(defn subtract-lists [lst1 lst2] (list (map - lst1 lst2))) (subtract-lists '(1 2 3) '(4 5 6)) ; => ((-3 -3 -3))
$options[$k][0]=$row['value']
if (!isset($options[$k])) {
$options[$k][] = $row['value'];
}
CModule::IncludeModule('crm');
use Bitrix\Crm\DealTable;
$arFilter = [
'STAGE_ID' => 'WON',
'<=CLOSEDATE' => \Bitrix\Main\Type\DateTime::createFromTimestamp(strtotime("-1 month"))
];
$arSelect = ['ID','ASSIGNED_BY_ID', 'CLOSEDATE'];
$arDeals=DealTable::getList([
'order'=>['ID' => 'DESC'],
'filter'=>$arFilter,
'select'=>$arSelect,
'cache' => ['ttl' => 3600],
'limit'=>100
])->fetchAll();
$deals=[];
foreach($arDeals as $deal){
$deals[$deal['ID']]=$deal;
}
print_r($deals);
include_once __DIR__.'/events.php';
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
'main',
'OnSaleCheckPrepareData ',
'addCheckPrintType'
);
function addCheckPrintType(array $fields, string $type) : array{
if(!empty($fields['PRODUCTS'])){
foreach($fields['PRODUCTS'] as $key => $product){
$fields['PRODUCTS'][$key]['PAYMENT_OBJECT'] = \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE;
}
}
return $fields;
}
//регистрируем библиотеку
CJSCore::RegisterExt(
'custom_js',
array(
'js' => '/local/js/custom.js',
'css' => '/local/css/custom.css',
'lang' => '/local/js/lang/'.LANGUAGE_ID.'/custom.js.php',
'rel' => array(
'ajax',
'popup',
),
)
);
//добавляем js d header не в административной части
if (!ВАШ_NAMESPACE\Main::inBitrixDir()) {
CJSCore::Init('custom_js');
}
var CustomJS = BX.namespace('CustomJS');
CustomJS.initGlobalEvents = function () {
var self = this;
BX.addCustomEvent("SidePanel.Slider:onOpen", function (event) {
CustomJS.addDealButtons();
});
}
CustomJS.addDealButtons = function () {
var page_title_btn_box = document.querySelector('.crm-pagetitle-btn-box');
if (page_title_btn_box) {
if (!document.getElementById('custom-btn-get-order')) {
page_title_btn_box.prepend(
BX.create('div', {
attrs: {
id: 'custom-btn-get-order',
className: 'ui-btn ui-btn-split ui-btn-themes ui-btn-light-border ui-btn-success'
},
text: BX.message('CUSTOM_BTN_GET_ORDER'),
events: {
click: BX.proxy(CustomJS.updateDealFromOrder, this)
},
})
);
}
}
}
CustomJS.updateDealFromOrder = function (event) {
console.log("Событие нажатие на кнопку")
}