3namespace Bitrix\Sale\Cashbox;
6use Bitrix\Main\Localization\Loc;
35 return $handlerList[$handlerCode];
49 $result = $handlerParams[
"SETTINGS"][
"CONFIG"];
55 "LABEL" => Loc::getMessage(
"SALE_CASHBOX_REST_HANDLER_CODE"),
57 "VALUE" => $handlerCode,
95 private function getPrintUrl()
99 return $handlerParams[
"SETTINGS"][
"PRINT_URL"];
105 private function getRequestOptions():
array
111 if (isset($handlerParams[
'SETTINGS'][
'HTTP_VERSION']))
114 'version' => $handlerParams[
'SETTINGS'][
'HTTP_VERSION'],
127 private function getCheckUrl()
131 return $handlerParams[
"SETTINGS"][
"CHECK_URL"];
136 $data = $check->getDataForCheck();
138 $data[
'uuid'] = static::buildUuid(static::UUID_TYPE_CHECK,
$data[
'unique_id']);
141 $dateTime =
$data[
'date_create'];
142 $dateTimestamp = $dateTime->getTimestamp();
143 $data[
'date_create'] = $dateTimestamp;
145 $data[
'operation'] = $check::getCalculatedSign();
148 if (is_array(
$data[
'items']))
150 foreach (
$data[
'items'] as $index => $item)
152 $data[
'items'][$index][
'payment_method'] = $checkTypeMap[$check::getType()];
153 unset(
$data[
'items'][$index][
'entity']);
157 if (is_array(
$data[
'payments']))
159 foreach (
$data[
'payments'] as $index => $item)
161 unset(
$data[
'payments'][$index][
'entity']);
165 unset(
$data[
'order']);
169 $cashboxParams = $this->
getField(
"SETTINGS");
172 unset($cashboxParams[
'REST']);
173 $data[
'cashbox_params'] = $cashboxParams;
206 if (empty($checkInfo))
211 if (
$data[
'STATUS'] ===
'ERROR')
215 'MESSAGE' =>
$data[
'ERROR'],
219 $result[
'ID'] = $checkInfo[
'ID'];
220 $result[
'CHECK_TYPE'] = $checkInfo[
'TYPE'];
249 $url = $this->getCheckUrl();
250 $checkUUID = $check->
getField(
'EXTERNAL_UUID');
253 [
"uuid" => $checkUUID],
254 $this->getRequestOptions()
260 return $result->addError(
new Errors\
Error(Loc::getMessage(
"SALE_CASHBOX_REST_DATA_ERROR_CHECK_CHECK")));
272 return static::applyCheckResult(
$response);
290 $url = $this->getPrintUrl();
294 $this->getRequestOptions()
297 if (!$printResult->isSuccess())
302 $printData = $printResult->getData();
303 if (isset($printData[
'ERRORS']) && is_array($printData[
'ERRORS']))
327 if (!isset($handlerList[$handlerCode]))
332 "SALE_CASHBOX_REST_HANDLER_NOT_FOUND",
333 [
"#HANDLER_CODE#" => $handlerCode]
static createFromTimestamp($timestamp)
const PARAM_CALCULATION_ATTR
const PARAM_FISCAL_DOC_ATTR
const PARAM_FISCAL_DOC_NUMBER
const PARAM_FISCAL_RECEIPT_NUMBER
const PARAM_REG_NUMBER_KKT
buildCheckQuery(Check $check)
static getConfigStructure($handlerCode)
static extractCheckData(array $data)
printImmediately(Check $check)
static getHandlerParams($handlerCode)
static getCheckInfoByExternalUuid($uuid)
static getObjectById($id)
static getRestHandlersList()
static sendRequest(string $url, array $params, array $options=[])
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
while($arParentIBlockProperty=$dbParentIBlockProperty->Fetch()) $errorMessage