1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
checktrait.php
См. документацию.
1<?php
2
4
7
9
14trait CheckTrait
15{
20 private function buildCheckQuery(Sale\Payment $payment): Sale\PaySystem\ServiceResult
21 {
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}
Определения error.php:15
static loadMessages($file)
Определения loc.php:65
static createByType($type)
Определения checkmanager.php:950
static getObjectById($id)
Определения manager.php:165
static getList(array $parameters=[])
Определения manager.php:135
Определения payment.php:19
$result
Определения get_property_values.php:14
$filter
Определения iblock_catalog_list.php:54
$payment
Определения payment.php:14
$service
Определения payment.php:18