1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
checktrait.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Sale\PaySystem\Cashbox
;
4
5
use
Bitrix\Main
;
6
use
Bitrix\Sale
;
7
8
Main\Localization\Loc::loadMessages
(__FILE__);
9
14
trait CheckTrait
15
{
20
private
function
buildCheckQuery(
Sale
\
Payment
$payment
):
Sale
\
PaySystem
\
ServiceResult
21
{
22
$result
=
new
Sale\PaySystem\ServiceResult
();
23
24
$documents = Sale\Cashbox\CheckManager::collateDocuments([
$payment
]);
25
$document = current($documents);
26
if
($document)
27
{
28
$check =
Sale\Cashbox\CheckManager::createByType
($document[
'TYPE'
]);
29
if
($check)
30
{
31
$check->setEntities($document[
'ENTITIES'
]);
32
$check->setRelatedEntities($document[
'RELATED_ENTITIES'
]);
33
34
$service
=
$payment
->getPaySystem();
35
if
(
$service
)
36
{
38
$cashboxClass =
$service
->getCashboxClass();
39
$kkm = $cashboxClass::getKkmValue(
$service
);
40
41
$filter
= [
42
'=ACTIVE'
=>
'Y'
,
43
'=HANDLER'
=> $cashboxClass,
44
];
45
46
if
(!empty($kkm))
47
{
48
$filter
[
'=KKM_ID'
] = $kkm;
49
}
50
51
$cashboxData =
Sale\Cashbox\Manager::getList
([
52
'select'
=> [
'ID'
],
53
'filter'
=>
$filter
,
54
])->fetch();
55
56
if
($cashboxData)
57
{
58
$cashbox =
Sale\Cashbox\Manager::getObjectById
($cashboxData[
'ID'
]);
59
if
($cashbox)
60
{
61
$result
->setData($cashbox->buildCheckQuery($check));
62
}
63
}
64
else
65
{
66
$result
->addError(
67
new
Main
\Error(
68
Main
\Localization\Loc::getMessage(
'SALE_PAYSYSTEM_CASHBOX_CHECKTRAIT_CASHBOX_NOT_FOUND_ERROR'
)
69
)
70
);
71
}
72
}
73
else
74
{
75
$result->addError(
76
new
Main
\
Error
(
77
Main
\
Localization
\Loc::getMessage(
'SALE_PAYSYSTEM_CASHBOX_CHECKTRAIT_SERVICE_IS_EMPTY_ERROR'
)
78
)
79
);
80
}
81
}
82
else
83
{
84
$result->addError(
85
new
Main
\
Error
(
86
Main
\
Localization
\Loc::getMessage(
'SALE_PAYSYSTEM_CASHBOX_CHECKTRAIT_CHECK_IS_EMPTY_ERROR'
)
87
)
88
);
89
}
90
}
91
else
92
{
93
$result->addError(
94
new
Main
\
Error
(
95
Main
\
Localization
\Loc::getMessage(
'SALE_PAYSYSTEM_CASHBOX_CHECKTRAIT_DOCUMENT_IS_EMPTY_ERROR'
)
96
)
97
);
98
}
99
100
return
$result;
101
}
102
}
Bitrix\Main\Error
Определения
error.php:15
Bitrix\Main\Localization\Loc\loadMessages
static loadMessages($file)
Определения
loc.php:65
Bitrix\Sale\Cashbox\CheckManager\createByType
static createByType($type)
Определения
checkmanager.php:950
Bitrix\Sale\Cashbox\Manager\getObjectById
static getObjectById($id)
Определения
manager.php:165
Bitrix\Sale\Cashbox\Manager\getList
static getList(array $parameters=[])
Определения
manager.php:135
Bitrix\Sale\PaySystem\ServiceResult
Определения
serviceresult.php:14
Bitrix\Sale\Payment
Определения
payment.php:19
$result
$result
Определения
get_property_values.php:14
$filter
$filter
Определения
iblock_catalog_list.php:54
Bitrix\Main\Localization
Определения
culture.php:8
Bitrix\Main
Bitrix\Sale\PaySystem\Cashbox
Определения
checktrait.php:3
Bitrix\Sale\PaySystem
Определения
applepay.php:3
Bitrix\Sale
$payment
$payment
Определения
payment.php:14
$service
$service
Определения
payment.php:18
bitrix
modules
sale
lib
paysystem
cashbox
checktrait.php
Создано системой
1.14.0