- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/check.php
- Класс: BitrixSaleCashboxCheck
- Вызов: Check::getDataForCheck
public function getDataForCheck()
{
$result = [
'type' => static::getType(),
'calculated_sign' => static::getCalculatedSign(),
'unique_id' => $this->getField('ID'),
'items' => [],
'date_create' => new MainTypeDateTime()
];
$data = $this->extractData();
if ($data)
{
if (isset($data['ORDER']))
{
$result['order'] = $data['ORDER'];
}
foreach ($data['PAYMENTS'] as $payment)
{
$item = [
'entity' => $payment['ENTITY'],
'type' => $payment['TYPE'],
'is_cash' => $payment['IS_CASH'],
'sum' => $payment['SUM'],
'currency' => $payment['CURRENCY'],
];
if (isset($payment['ADDITIONAL_PARAMS']))
{
$item['additional_params'] = $payment['ADDITIONAL_PARAMS'];
}
$result['payments'][] = $item;
}
if (isset($data['PRODUCTS']))
{
foreach ($data['PRODUCTS'] as $product)
{
$item = [
'entity' => $product['ENTITY'] ?? null,
'name' => $product['NAME'],
'base_price' => $product['BASE_PRICE'],
'price' => $product['PRICE'],
'sum' => $product['SUM'],
'currency' => $product['CURRENCY'],
'quantity' => $product['QUANTITY'],
'measure_code' => $product['MEASURE_CODE'] ?? '',
'vat' => $product['VAT'] ?? 0,
'vat_sum' => $product['VAT_SUM'] ?? 0,
'payment_object' => $product['PAYMENT_OBJECT'],
'properties' => $product['PROPERTIES'] ?? [],
];
if (isset($product['NOMENCLATURE_CODE']))
{
$item['nomenclature_code'] = $product['NOMENCLATURE_CODE'];
}
if (isset($product['MARKING_CODE']))
{
$item['marking_code'] = $product['MARKING_CODE'];
}
if (isset($product['BARCODE']))
{
$item['barcode'] = $product['BARCODE'];
}
if (!empty($product['DISCOUNT']))
{
$item['discount'] = [
'discount' => $product['DISCOUNT']['PRICE'],
'discount_type' => $product['DISCOUNT']['TYPE'],
];
}
if (isset($product['SUPPLIER_INFO']))
{
$item['supplier_info'] = [
'phones' => $product['SUPPLIER_INFO']['PHONES'] ?? [],
'name' => $product['SUPPLIER_INFO']['NAME'] ?? '',
'inn' => $product['SUPPLIER_INFO']['INN'] ?? '',
];
}
if (isset($product['ADDITIONAL_PARAMS']))
{
$item['additional_params'] = $product['ADDITIONAL_PARAMS'];
}
$result['items'][] = $item;
}
}
if (isset($data['DELIVERY']))
{
foreach ($data['DELIVERY'] as $delivery)
{
$item = [
'entity' => $delivery['ENTITY'],
'name' => $delivery['NAME'],
'base_price' => $delivery['BASE_PRICE'],
'price' => $delivery['PRICE'],
'sum' => $delivery['SUM'],
'currency' => $delivery['CURRENCY'],
'quantity' => $delivery['QUANTITY'],
'vat' => $delivery['VAT'],
'vat_sum' => $delivery['VAT_SUM'],
'payment_object' => $delivery['PAYMENT_OBJECT'],
];
if ($delivery['DISCOUNT'])
{
$item['discount'] = [
'discount' => $delivery['DISCOUNT']['PRICE'],
'discount_type' => $delivery['DISCOUNT']['TYPE'],
];
}
if (isset($delivery['ADDITIONAL_PARAMS']))
{
$item['additional_params'] = $delivery['ADDITIONAL_PARAMS'];
}
$result['items'][] = $item;
}
}
if (isset($data['BUYER']))
{
if (isset($data['BUYER']['EMAIL']))
$result['client_email'] = $data['BUYER']['EMAIL'];
if (isset($data['BUYER']['PHONE']))
$result['client_phone'] = $data['BUYER']['PHONE'];
}
if (isset($data['ADDITIONAL_PARAMS']))
{
$result['additional_params'] = $data['ADDITIONAL_PARAMS'];
}
$result['total_sum'] = $data['TOTAL_SUM'];
}
return $result;
}