8namespace Bitrix\Sender\Connector;
10use Bitrix\Main\Localization\Loc;
11use Bitrix\Main\UI\Filter\Options as FilterOptions;
13Loc::loadMessages(__FILE__);
36 if ($currentPresetId && isset($presets[$currentPresetId]))
38 $preset[$currentPresetId][
'default'] =
true;
44 return $this->buildUi($filterId, $currentPresetId, $presets,
$filter);
58 if ($currentPresetId && isset($presets[$currentPresetId]))
60 $preset[$currentPresetId][
'default'] =
true;
67 return $this->buildUi($filterId, $currentPresetId, $presets,
$filter);
70 private function buildUi($filterId, $currentPresetId, $presets,
$filter)
73 $GLOBALS[
'APPLICATION']->includeComponent(
74 "bitrix:main.ui.filter",
77 "FILTER_ID" => $filterId,
78 "CURRENT_PRESET" => $currentPresetId,
79 "FILTER" => array_filter(
83 return empty($field[
'sender_internal']);
86 "FILTER_PRESETS" => $presets,
87 "DISABLE_SEARCH" =>
true,
88 "ENABLE_LABEL" =>
true,
94 if (!isset($field[
'sender_segment_callback']))
99 if (!is_callable($field[
'sender_segment_callback']))
104 echo $field[
'sender_segment_callback']($field);
107 return ob_get_clean();
119 $field = static::getUiFilterField(
$name);
126 return Filter\DateField::create($field)->getFrom();
138 $field = static::getUiFilterField(
$name);
145 return Filter\DateField::create($field)->getTo();
150 return $this->
getId() .
'_%CONNECTOR_NUM%';
165 $systemFields =
array(self::FIELD_PRESET_ID, self::FIELD_FOR_PRESET_ALL);
166 foreach ($systemFields as $fieldId)
178 if (!isset(
$fieldValues[$field[
'id']]) && !in_array($field[
'id'], $systemFields))
182 if ($field[
'type'] ===
'dest_selector')
186 $values[$field[
'id'].
'_label'] =
$fieldValues[$field[
'id'].
'_label'];
190 $values[$field[
'id'].
'_label'] =
$fieldValues[$field[
'id']][
'_label'];
195 $values[$field[
'id']] =
$fieldValues[$field[
'id']] ??
'';
223 foreach (static::getFilterFields() as $field)
225 if ($field[
'id'] === $id)
243 $filterOptions =
new FilterOptions($filterId, static::getUiFilterPresets());
246 $filterData =
array();
249 $fieldId = $field[
'id'];
250 if ($field[
'type'] ===
'dest_selector')
252 $destSelectorData = Filter\DestSelectorField::create($field)->fetchFieldValue($filterRequest);
253 if ($destSelectorData)
255 $filterData[$fieldId] = $destSelectorData;
258 elseif (isset($filterRequest[$fieldId]))
260 $filterData[$fieldId] = $filterRequest[$fieldId];
262 elseif ($field[
'type'] ===
'date')
264 $dateData = Filter\DateField::create($field)->fetchFieldValue($filterRequest);
265 if (is_array($dateData) &&
count($dateData))
267 $filterData[$fieldId] = $dateData;
270 elseif ($field[
'type'] ===
'number')
272 $numberData = FilterOptions::fetchNumberFieldValue(
273 $fieldId .
'_numsel',
276 if (is_array($numberData) &&
count($numberData))
278 if (
count($numberData) > 1 || $numberData[$fieldId .
'_numsel'] !==
null)
280 $filterData[$fieldId] = $numberData;
286 if (isset($filterRequest[
'PRESET_ID']) && array_key_exists($filterRequest[
'PRESET_ID'], static::getUiFilterPresets()))
288 $filterData[self::FIELD_PRESET_ID] = $filterRequest[
'PRESET_ID'];
317 "id" => self::FIELD_FOR_PRESET_ALL,
318 "name" => Loc::getMessage(
'SENDER_CONNECTOR_BASE_FILTER'),
319 'type' =>
'checkbox',
321 "sender_segment_filter" =>
false,
329 $filterOptions =
new FilterOptions($filterId, static::getUiFilterPresets());
334 $filterPresetIds = [
'tmp_filter',
$settings[
'filter']];
335 foreach ($filterPresetIds as $filterPresetId)
337 $presetSettings =
$filterOptions->getFilterSettings($filterPresetId);
338 if ($presetSettings && ($presetSettings[
'fields'] ??
false))
340 $filterOptions->setFilterSettings($filterPresetId, [
'clear_filter' =>
'Y']);
if($_SERVER $defaultValue['REQUEST_METHOD']==="GET" &&!empty($RestoreDefaults) && $bizprocPerms==="W" &&check_bitrix_sessid())
setFieldValues(array $fieldValues=null)
getFieldDateTo($name, $defaultValue=null)
static getUiFilterData($filterId)
static getUiFilterFields()
getCustomForm(array $params)
clearFilterState($filterId)
static getUiFilterPresets()
static getUiFilterField($id)
const FIELD_FOR_PRESET_ALL
getFieldDateFrom($name, $defaultValue=null)
getFieldValue($name, $defaultValue=null)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$GLOBALS['____1690880296']
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']