Beispiel #1
0
    if (isset($arFields['UF_CONTACT_ID'])) {
        $contactID = intval($arFields['UF_CONTACT_ID']);
    }
    if (isset($arFields['UF_DEAL_ID'])) {
        $dealID = intval($arFields['UF_DEAL_ID']);
    }
}
$arResult['CURRENCY_ID'] = $currencyID;
// PERSON_TYPE_ID -->
if ($companyID > 0 && isset($personTypes['COMPANY'])) {
    $personTypeID = $personTypes['COMPANY'];
} elseif ($contactID > 0 && isset($personTypes['CONTACT'])) {
    $personTypeID = $personTypes['CONTACT'];
}
$arResult['PERSON_TYPE_ID'] = $personTypeID;
$arResult['PAYER_INFO_FORMAT'] = $personTypeID > 0 ? CCrmMobileHelper::PrepareInvoiceClientInfoFormat($personTypeID) : '';
//<-- PERSON_TYPE_ID
// PAY_SYSTEM -->
$arResult['PAY_SYSTEMS'] = CCrmPaySystem::GetPaySystemsListItems($personTypeID);
if ($entityID > 0) {
    $paySystemID = isset($arFields['~PAY_SYSTEM_ID']) ? intval($arFields['~PAY_SYSTEM_ID']) : 0;
} elseif (!empty($arResult['PAY_SYSTEMS'])) {
    $paySystemID = $arFields['~PAY_SYSTEM_ID'] = $arFields['PAY_SYSTEM_ID'] = array_shift(array_keys($arResult['PAY_SYSTEMS']));
}
//<-- PAY_SYSTEM
// INVOICE_PROPERTIES -->
$arFields['INVOICE_PROPERTIES'] = array();
$properties = CCrmInvoice::GetProperties($entityID, $personTypeID);
if (!is_array($properties)) {
    $properties = array();
}
Beispiel #2
0
     __CrmMobileInvoiceEditEndResonse(array('RESULT_DATA' => $resultData));
 }
 $orderData = CCrmInvoice::QuickRecalculate($arFields);
 if (empty($orderData)) {
     __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_INVOICE_COULD_NOT_RECALCULATE')));
 }
 $currencyID = isset($orderData['CURRENCY']) ? $orderData['CURRENCY'] : CCrmCurrency::GetBaseCurrencyID();
 $sumBrutto = isset($orderData['PRICE']) ? $orderData['PRICE'] : 0.0;
 $taxSum = isset($orderData['TAX_VALUE']) ? $orderData['TAX_VALUE'] : 0.0;
 $sumNetto = $sumBrutto - $taxSum;
 $taxList = isset($orderData['TAX_LIST']) && is_array($orderData['TAX_LIST']) ? $orderData['TAX_LIST'] : array();
 $taxMode = isset($orderData['USE_VAT']) && $orderData['USE_VAT'] ? 'VAT' : (!empty($taxList) ? 'EXT' : '');
 $resultData = array('PERSON_TYPE_ID' => $resolvedPersonTypeID, 'PAY_SYSTEM_ID' => $resolvedPaySystemID, 'PAY_SYSTEM_NAME' => $resolvedPaySystemID > 0 && isset($paySystems[$resolvedPaySystemID]) ? $paySystems[$resolvedPaySystemID] : '', 'CURRENCY_ID' => $currencyID, 'SUM_NETTO' => $sumNetto, 'SUM_BRUTTO' => $sumBrutto, 'TAX_SUM' => $taxSum, 'FORMATTED_SUM_NETTO' => CCrmCurrency::MoneyToString($sumNetto, $currencyID), 'FORMATTED_SUM_BRUTTO' => CCrmCurrency::MoneyToString($sumBrutto, $currencyID), 'FORMATTED_TAX_SUM' => CCrmCurrency::MoneyToString($taxSum, $currencyID), 'TAX_MODE' => $taxMode, 'PRODUCT_ROWS' => array());
 if ($enablePayerInfo) {
     $resultData['PAYER_INFO'] = $payerInfo;
     $resultData['PAYER_INFO_FORMAT'] = $resolvedPersonTypeID > 0 ? CCrmMobileHelper::PrepareInvoiceClientInfoFormat($resolvedPersonTypeID) : '';
     $resultData['PAYER_REQUISITES'] = $payerRequisites;
 }
 $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'));