Beispiel #1
0
     $arResult['SUM_BRUTTO'] = $arResult['SUM_NETTO'] = 0.0;
 } else {
     $orderCurrencyID = isset($orderData['CURRENCY']) ? $orderData['CURRENCY'] : '';
     if ($orderCurrencyID !== '' && $orderCurrencyID !== $currencyID) {
         ShowError('ERROR: CURRENCIES ARE ARE MISMATCHED');
         return;
     }
     $sumBrutto = $arResult['SUM_BRUTTO'] = isset($orderData['PRICE']) ? $orderData['PRICE'] : 0.0;
     $taxSum = isset($orderData['TAX_VALUE']) ? $orderData['TAX_VALUE'] : 0.0;
     $sumNetto = $arResult['SUM_NETTO'] = $sumBrutto - $taxSum;
     if (isset($orderData['USE_VAT']) && $orderData['USE_VAT'] && $taxMode !== 'VAT') {
         ShowError('ERROR: TAX MODES ARE ARE MISMATCHED');
         return;
     }
     $taxList = isset($orderData['TAX_LIST']) && is_array($orderData['TAX_LIST']) ? $orderData['TAX_LIST'] : array();
     $taxInfo = CCrmMobileHelper::PrepareInvoiceTaxInfo($taxList, false);
     $arResult['TAX_INFOS'] = $taxInfo['ITEMS'];
     $isVATMode = $taxMode === 'VAT';
     $VATName = $isVATMode && isset($taxList[0]) && isset($taxList[0]['NAME']) ? $taxList[0]['NAME'] : '';
     $cartItems = isset($orderData['BASKET_ITEMS']) && isset($orderData['BASKET_ITEMS']) ? $orderData['BASKET_ITEMS'] : array();
     // Recover initial row's order
     sortByColumn($cartItems, 'IDX');
     foreach ($cartItems as &$cartItem) {
         $productID = isset($cartItem['PRODUCT_ID']) ? intval($cartItem['PRODUCT_ID']) : 0;
         if ($productID <= 0) {
             continue;
         }
         $productName = isset($cartItem['NAME']) ? $cartItem['NAME'] : '';
         if ($productName === '') {
             $dbProduct = CCrmProduct::GetList(array(), array('ID' => $productID), array('NAME'));
             $product = $dbProduct ? $dbProduct->Fetch() : null;