1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
einvoice.php
См. документацию.
1<?php
2
3namespace Bitrix\Rest\Controller;
4
5use Bitrix\Main\ArgumentException;
6use Bitrix\Main\Engine\Controller;
7use Bitrix\Main\Engine\Response\AjaxJson;
8use Bitrix\Main\Error;
9use Bitrix\Main\Web\HttpClient;
10use Bitrix\Main\Web\Json;
11use Bitrix\Main\Web\Uri;
12use Bitrix\Main\Engine\ActionFilter;
13use Bitrix\Rest\AppTable;
14use Bitrix\Rest\Event\Sender;
15use Bitrix\Main\Engine\CurrentUser;
16
17class EInvoice extends Controller
18{
19 public function saveAction(string $clientId, array $settings, string $handler): AjaxJson
20 {
21 $formData = $settings;
22
23 $uri = new Uri($handler);
24 $httpClient = new HttpClient();
25 $params = Sender::getDefaultEventParams();
26 $params['sendRefreshToken'] = true;
27 $event = [
28 'data' => $formData,
29 'auth' => Sender::getAuth(
31 CurrentUser::get()->getId() ?? 0,
32 [],
34 )
35 ];
36 $result = $httpClient->post($uri, $event);
37 try
38 {
39 $responseData = Json::decode($result);
40 if ($httpClient->getStatus() !== 200)
41 {
42 $errors = $responseData['errors'] ?? [];
43 foreach ($errors as $error)
44 {
45 $this->errorCollection->setError(
46 new Error($error['message'] ?? '', customData: ['fieldName' => $error['field'] ?? 'unknown'])
47 );
48 }
49 }
50 }
51 catch (ArgumentException $e)
52 {
53 $this->errorCollection->setError(new Error($e->getMessage()));
54 }
55
56 if ($this->errorCollection->count() > 0)
57 {
58 return AjaxJson::createError($this->errorCollection);
59 }
60
61 return AjaxJson::createSuccess();
62 }
63
64 public function configureActions(): array
65 {
66 $configureActions = [];
67 $configureActions['save'] = [
68 '+prefilters' => [
71 ],
72 ];
73
74 return $configureActions;
75 }
76}
Определения error.php:15
Определения uri.php:17
saveAction(string $clientId, array $settings, string $handler)
Определения einvoice.php:19
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
$errors
Определения iblock_catalog_edit.php:74
if(file_exists($_SERVER['DOCUMENT_ROOT'] . "/urlrewrite.php")) $uri
Определения urlrewrite.php:61
$settings
Определения product_settings.php:43
$event
Определения prolog_after.php:141
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799
$clientId
Определения seo_client.php:18
$error
Определения subscription_card_product.php:20