Exemplo n.º 1
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $modules = $request->get('modules');
     $assignId = $request->get('assigned_user_id');
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $entityValues = array();
     $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule');
     //■権限なぜか、エラーになるので権限を固定するinouchi
     //$entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId);
     $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType(1), 1);
     $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId);
     $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule());
     $convertLeadFields = $recordModel->getConvertLeadFields();
     $availableModules = array('Accounts', 'Contacts', 'Potentials');
     foreach ($availableModules as $module) {
         if (vtlib_isModuleActive($module) && in_array($module, $modules)) {
             $entityValues['entities'][$module]['create'] = true;
             $entityValues['entities'][$module]['name'] = $module;
             foreach ($convertLeadFields[$module] as $fieldModel) {
                 $fieldName = $fieldModel->getName();
                 $fieldValue = $request->get($fieldName);
                 //Potential Amount Field value converting into DB format
                 if ($fieldModel->getFieldDataType() === 'currency') {
                     $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'date') {
                     $fieldValue = DateTimeField::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) {
                     $ids = vtws_getIdComponents($fieldValue);
                     if (count($ids) === 1) {
                         $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue);
                     }
                 }
                 $entityValues['entities'][$module][$fieldName] = $fieldValue;
             }
         }
     }
     try {
         $result = vtws_convertlead($entityValues, $currentUser);
     } catch (Exception $e) {
         $this->showError($request, $e);
         exit;
     }
     if (!empty($result['Accounts'])) {
         $accountIdComponents = vtws_getIdComponents($result['Accounts']);
         $accountId = $accountIdComponents[1];
     }
     if (!empty($result['Contacts'])) {
         $contactIdComponents = vtws_getIdComponents($result['Contacts']);
         $contactId = $contactIdComponents[1];
     }
     if (!empty($accountId)) {
         header("Location: index.php?view=Detail&module=Accounts&record={$accountId}");
     } elseif (!empty($contactId)) {
         header("Location: index.php?view=Detail&module=Contacts&record={$contactId}");
     } else {
         $this->showError($request);
         exit;
     }
 }
Exemplo n.º 2
0
 /**
  * Function returns Inventory Line Items
  * @param Vtiger_Request $request
  */
 function showLineItemDetails(Vtiger_Request $request)
 {
     $record = $request->get('record');
     $moduleName = $request->getModule();
     $recordModel = Inventory_Record_Model::getInstanceById($record);
     $relatedProducts = $recordModel->getProducts();
     //##Final details convertion started
     $finalDetails = $relatedProducts[1]['final_details'];
     //Final shipping tax details convertion ended
     $currencyFieldsList = array('grandTotal');
     foreach ($currencyFieldsList as $fieldName) {
         $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true);
     }
     $relatedProducts[1]['final_details'] = $finalDetails;
     //##Final details convertion ended
     //##Product details convertion started
     $productsCount = count($relatedProducts);
     for ($i = 1; $i <= $productsCount; $i++) {
         $product = $relatedProducts[$i];
         $currencyFieldsList = array('listPrice', 'unitPrice', 'productTotal');
         foreach ($currencyFieldsList as $fieldName) {
             $product[$fieldName . $i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true);
         }
         $relatedProducts[$i] = $product;
     }
     //##Product details convertion ended
     $viewer = $this->getViewer($request);
     $viewer->assign('RELATED_PRODUCTS', $relatedProducts);
     $viewer->assign('RECORD', $recordModel);
     $viewer->assign('MODULE_NAME', $moduleName);
     $viewer->view('LineItemsDetail.tpl', $moduleName);
 }
Exemplo n.º 3
0
 /**
  * Function returns Inventory Line Items
  * @param Vtiger_Request $request
  */
 function showLineItemDetails(Vtiger_Request $request)
 {
     $record = $request->get('record');
     $moduleName = $request->getModule();
     $recordModel = Inventory_Record_Model::getInstanceById($record);
     $relatedProducts = $recordModel->getProducts();
     //##Final details convertion started
     $finalDetails = $relatedProducts[1]['final_details'];
     //Final tax details convertion started
     $taxtype = $finalDetails['taxtype'];
     if ($taxtype == 'group') {
         $taxDetails = $finalDetails['taxes'];
         $taxCount = count($taxDetails);
         for ($i = 0; $i < $taxCount; $i++) {
             $taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true);
         }
         $finalDetails['taxes'] = $taxDetails;
     }
     //Final tax details convertion ended
     $currencyFieldsList = array('grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount', 'total_margin', 'total_marginp', 'total_purchase', 'discountTotal_final', 'discount_amount_final', 'totalAfterDiscount');
     foreach ($currencyFieldsList as $fieldName) {
         $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true);
     }
     $relatedProducts[1]['final_details'] = $finalDetails;
     //##Final details convertion ended
     //##Product details convertion started
     $productsCount = count($relatedProducts);
     for ($i = 1; $i <= $productsCount; $i++) {
         $product = $relatedProducts[$i];
         //Product tax details convertion started
         if ($taxtype == 'individual') {
             $taxDetails = $product['taxes'];
             $taxCount = count($taxDetails);
             for ($j = 0; $j < $taxCount; $j++) {
                 $taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true);
             }
             $product['taxes'] = $taxDetails;
         }
         //Product tax details convertion ended
         $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal', 'purchase', 'margin', 'marginp', 'discountTotal', 'discount_amount', 'totalAfterDiscount');
         foreach ($currencyFieldsList as $fieldName) {
             $product[$fieldName . $i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true);
         }
         $relatedProducts[$i] = $product;
     }
     //##Product details convertion ended
     $viewer = $this->getViewer($request);
     $viewer->assign('RELATED_PRODUCTS', $relatedProducts);
     $viewer->assign('RECORD', $recordModel);
     $viewer->assign('MODULE_NAME', $moduleName);
     $viewer->view('LineItemsDetail.tpl', 'Inventory');
 }
Exemplo n.º 4
0
    /**
     * Function saves Reports Filter information
     */
    function saveAdvancedFilters()
    {
        $db = PearDatabase::getInstance();
        $reportId = $this->getId();
        $advancedFilter = $this->get('advancedFilter');
        if (!empty($advancedFilter)) {
            $db->pquery('DELETE FROM vtiger_relcriteria WHERE queryid = ?', array($reportId));
            $db->pquery('DELETE FROM vtiger_relcriteria_grouping WHERE queryid = ?', array($reportId));
            foreach ($advancedFilter as $groupIndex => $groupInfo) {
                if (empty($groupInfo)) {
                    continue;
                }
                $groupColumns = $groupInfo['columns'];
                $groupCondition = $groupInfo['condition'];
                foreach ($groupColumns as $columnIndex => $columnCondition) {
                    if (empty($columnCondition)) {
                        continue;
                    }
                    $advFilterColumn = $columnCondition["columnname"];
                    $advFilterComparator = $columnCondition["comparator"];
                    $advFilterValue = $columnCondition["value"];
                    $advFilterColumnCondition = $columnCondition["column_condition"];
                    $columnInfo = explode(":", $advFilterColumn);
                    $moduleFieldLabel = $columnInfo[2];
                    list($module, $fieldLabel) = explode('__', $moduleFieldLabel, 2);
                    $fieldInfo = getFieldByReportLabel($module, $fieldLabel);
                    $fieldType = null;
                    if (!empty($fieldInfo)) {
                        $field = WebserviceField::fromArray($db, $fieldInfo);
                        $fieldType = $field->getFieldDataType();
                    }
                    if ($fieldType == 'currency') {
                        if ($field->getUIType() == '72') {
                            // Some of the currency fields like Unit Price, Totoal , Sub-total - doesn't need currency conversion during save
                            $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue, null, true);
                        } else {
                            $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue);
                        }
                    }
                    $tempVal = explode(",", $advFilterValue);
                    if (($columnInfo[4] == 'D' || $columnInfo[4] == 'T' && $columnInfo[1] != 'time_start' && $columnInfo[1] != 'time_end' || $columnInfo[4] == 'DT') && ($columnInfo[4] != '' && $advFilterValue != '')) {
                        $val = array();
                        for ($i = 0; $i < count($tempVal); $i++) {
                            if (trim($tempVal[$i]) != '') {
                                $date = new DateTimeField(trim($tempVal[$i]));
                                if ($columnInfo[4] == 'D') {
                                    $val[$i] = DateTimeField::convertToDBFormat(trim($tempVal[$i]));
                                } elseif ($columnInfo[4] == 'DT') {
                                    /**
                                     * While generating query to retrieve report, for date time fields we are only taking
                                     * date field and appending '00:00:00' for correct results depending on time zone.
                                     * If you save the time also here by converting to db format, while showing in edit
                                     * view it was changing the date selected.
                                     */
                                    $values = explode(' ', $tempVal[$i]);
                                    $date = new DateTimeField($values[0]);
                                    $val[$i] = $date->getDBInsertDateValue();
                                } else {
                                    $val[$i] = $date->getDBInsertTimeValue();
                                }
                            }
                        }
                        $advFilterValue = implode(",", $val);
                    }
                    $db->pquery('INSERT INTO vtiger_relcriteria (queryid, columnindex, columnname, comparator, value,
						groupid, column_condition) VALUES (?,?,?,?,?,?,?)', array($reportId, $columnIndex, $advFilterColumn, $advFilterComparator, $advFilterValue, $groupIndex, $advFilterColumnCondition));
                    // Update the condition expression for the group to which the condition column belongs
                    $groupConditionExpression = '';
                    if (!empty($advancedFilter[$groupIndex]["conditionexpression"])) {
                        $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"];
                    }
                    $groupConditionExpression = $groupConditionExpression . ' ' . $columnIndex . ' ' . $advFilterColumnCondition;
                    $advancedFilter[$groupIndex]["conditionexpression"] = $groupConditionExpression;
                }
                $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"];
                if (empty($groupConditionExpression)) {
                    continue;
                }
                // Case when the group doesn't have any column criteria
                $db->pquery("INSERT INTO vtiger_relcriteria_grouping(groupid, queryid, group_condition, condition_expression) VALUES (?,?,?,?)", array($groupIndex, $reportId, $groupCondition, $groupConditionExpression));
            }
        }
    }
Exemplo n.º 5
0
 /**
  * Function returns Inventory Line Items
  * @param Vtiger_Request $request
  */
 function showLineItemDetails(Vtiger_Request $request)
 {
     $record = $request->get('record');
     $moduleName = $request->getModule();
     $recordModel = Inventory_Record_Model::getInstanceById($record);
     $relatedProducts = $recordModel->getProducts();
     //##Final details convertion started
     $finalDetails = $relatedProducts[1]['final_details'];
     //Final tax details convertion started
     $taxtype = $finalDetails['taxtype'];
     if ($taxtype == 'group') {
         $taxDetails = $finalDetails['taxes'];
         $taxCount = count($taxDetails);
         for ($i = 0; $i < $taxCount; $i++) {
             $taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true);
         }
         $finalDetails['taxes'] = $taxDetails;
     }
     //Final tax details convertion ended
     //Final shipping tax details convertion started
     $shippingTaxDetails = $finalDetails['sh_taxes'];
     $taxCount = count($shippingTaxDetails);
     for ($i = 0; $i < $taxCount; $i++) {
         $shippingTaxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true);
     }
     $finalDetails['sh_taxes'] = $shippingTaxDetails;
     //Final shipping tax details convertion ended
     $currencyFieldsList = array('adjustment', 'grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount', 'shtax_totalamount', 'discountTotal_final', 'discount_amount_final', 'shipping_handling_charge', 'totalAfterDiscount');
     foreach ($currencyFieldsList as $fieldName) {
         $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true);
     }
     $relatedProducts[1]['final_details'] = $finalDetails;
     //##Final details convertion ended
     //##Product details convertion started
     $productsCount = count($relatedProducts);
     for ($i = 1; $i <= $productsCount; $i++) {
         $product = $relatedProducts[$i];
         //Product tax details convertion started
         if ($taxtype == 'individual') {
             $taxDetails = $product['taxes'];
             $taxCount = count($taxDetails);
             for ($j = 0; $j < $taxCount; $j++) {
                 $taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true);
             }
             $product['taxes'] = $taxDetails;
         }
         //Product tax details convertion ended
         $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal', 'discountTotal', 'discount_amount', 'totalAfterDiscount');
         foreach ($currencyFieldsList as $fieldName) {
             $product[$fieldName . $i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true);
         }
         $relatedProducts[$i] = $product;
     }
     //##Product details convertion ended
     $viewer = $this->getViewer($request);
     $viewer->assign('RELATED_PRODUCTS', $relatedProducts);
     $viewer->assign('RECORD', $recordModel);
     $viewer->assign('MODULE_NAME', $moduleName);
     /** ▼ 160114ohkuma大熊追加 課題管理No83 ****/
     global $adb;
     $kuma = getListQuery('Vendors');
     $vendors_query = $adb->pquery(getListQuery('Vendors'));
     $count_vendors = $adb->num_rows($vendors_query);
     for ($vendor_num = 0; $vendor_num < $count_vendors; $vendor_num++) {
         $vendorid = $adb->query_result($vendors_query, $vendor_num, "vendorid");
         $vendorname = $adb->query_result($vendors_query, $vendor_num, "vendorname");
         $vendors[$vendorid] = $vendorname;
     }
     //End for
     $viewer->assign('VENDOR', $vendors);
     /** ▲ 160114ohkuma大熊追加 課題管理No83 ****/
     $viewer->view('LineItemsDetail.tpl', 'Inventory');
 }
Exemplo n.º 6
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $modules = $request->get('modules');
     $assignId = $request->get('assigned_user_id');
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $entityValues = array();
     $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule');
     $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId);
     $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId);
     $createAlways = Vtiger_Processes_Model::getConfig('marketing', 'conversion', 'create_always');
     $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule());
     $convertLeadFields = $recordModel->getConvertLeadFields();
     $availableModules = array('Accounts', 'Contacts', 'Potentials');
     foreach ($availableModules as $module) {
         if (vtlib_isModuleActive($module) && in_array($module, $modules)) {
             $entityValues['entities'][$module]['create'] = true;
             $entityValues['entities'][$module]['name'] = $module;
             foreach ($convertLeadFields[$module] as $fieldModel) {
                 $fieldName = $fieldModel->getName();
                 $fieldValue = $request->get($fieldName);
                 //Potential Amount Field value converting into DB format
                 if ($fieldModel->getFieldDataType() === 'currency') {
                     $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'date') {
                     $fieldValue = DateTimeField::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) {
                     $ids = vtws_getIdComponents($fieldValue);
                     if (count($ids) === 1) {
                         $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue);
                     }
                 }
                 $entityValues['entities'][$module][$fieldName] = $fieldValue;
             }
         }
     }
     try {
         $results = true;
         if ($createAlways === true || $createAlways === 'true') {
             $leadModel = Vtiger_Module_Model::getCleanInstance($request->getModule());
             $results = $leadModel->searchAccountsToConvert($recordModel);
             $entityValues['entities']['Accounts']['convert_to_id'] = $results;
         }
         if (!$results) {
             $message = vtranslate('LBL_TOO_MANY_ACCOUNTS_TO_CONVERT', $request->getModule(), '');
             if ($currentUser->isAdminUser()) {
                 $message = vtranslate('LBL_TOO_MANY_ACCOUNTS_TO_CONVERT', $request->getModule(), '<a href="index.php?module=MarketingProcesses&view=Index&parent=Settings"><span class="glyphicon glyphicon-folder-open"></span></a>');
             }
             $this->showError($request, '', $message);
             exit;
         }
     } catch (Exception $e) {
         $this->showError($request, $e);
         exit;
     }
     try {
         $result = vtws_convertlead($entityValues, $currentUser);
     } catch (Exception $e) {
         $this->showError($request, $e);
         exit;
     }
     if (!empty($result['Accounts'])) {
         $accountIdComponents = vtws_getIdComponents($result['Accounts']);
         $accountId = $accountIdComponents[1];
     }
     if (!empty($result['Contacts'])) {
         $contactIdComponents = vtws_getIdComponents($result['Contacts']);
         $contactId = $contactIdComponents[1];
     }
     if (!empty($accountId)) {
         ModTracker_Record_Model::addConvertToAccountRelation('Accounts', $accountId, $assignId);
         header("Location: index.php?view=Detail&module=Accounts&record={$accountId}");
     } elseif (!empty($contactId)) {
         header("Location: index.php?view=Detail&module=Contacts&record={$contactId}");
     } else {
         $this->showError($request);
         exit;
     }
 }
Exemplo n.º 7
0
    /**
     * Function saves Reports Filter information
     */
    function saveAdvancedFilters()
    {
        $db = PearDatabase::getInstance();
        $reportId = $this->getId();
        $advancedFilter = $this->get('advancedFilter');
        if (!empty($advancedFilter)) {
            $db->pquery('DELETE FROM vtiger_relcriteria WHERE queryid = ?', array($reportId));
            $db->pquery('DELETE FROM vtiger_relcriteria_grouping WHERE queryid = ?', array($reportId));
            foreach ($advancedFilter as $groupIndex => $groupInfo) {
                if (empty($groupInfo)) {
                    continue;
                }
                $groupColumns = $groupInfo['columns'];
                $groupCondition = $groupInfo['condition'];
                foreach ($groupColumns as $columnIndex => $columnCondition) {
                    if (empty($columnCondition)) {
                        continue;
                    }
                    $advFilterColumn = $columnCondition["columnname"];
                    $advFilterComparator = $columnCondition["comparator"];
                    $advFilterValue = $columnCondition["value"];
                    $advFilterColumnCondition = $columnCondition["column_condition"];
                    $columnInfo = explode(":", $advFilterColumn);
                    $moduleFieldLabel = $columnInfo[2];
                    list($module, $fieldLabel) = explode('_', $moduleFieldLabel, 2);
                    $fieldInfo = getFieldByReportLabel($module, $fieldLabel);
                    $fieldType = null;
                    if (!empty($fieldInfo)) {
                        $field = WebserviceField::fromArray($db, $fieldInfo);
                        $fieldType = $field->getFieldDataType();
                    }
                    if ($fieldType == 'currency') {
                        if ($field->getUIType() == '71') {
                            $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue, null, true);
                        } else {
                            $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue);
                        }
                    }
                    $tempVal = explode(",", $advFilterValue);
                    if (($columnInfo[4] == 'D' || $columnInfo[4] == 'T' && $columnInfo[1] != 'time_start' && $columnInfo[1] != 'time_end' || $columnInfo[4] == 'DT') && ($columnInfo[4] != '' && $advFilterValue != '')) {
                        $val = array();
                        for ($i = 0; $i < count($tempVal); $i++) {
                            if (trim($tempVal[$i]) != '') {
                                $date = new DateTimeField(trim($tempVal[$i]));
                                if ($columnInfo[4] == 'D') {
                                    $val[$i] = DateTimeField::convertToDBFormat(trim($tempVal[$i]));
                                } elseif ($columnInfo[4] == 'DT') {
                                    $val[$i] = $date->getDBInsertDateTimeValue();
                                } else {
                                    $val[$i] = $date->getDBInsertTimeValue();
                                }
                            }
                        }
                        $advFilterValue = implode(",", $val);
                    }
                    $db->pquery('INSERT INTO vtiger_relcriteria (queryid, columnindex, columnname, comparator, value,
						groupid, column_condition) VALUES (?,?,?,?,?,?,?)', array($reportId, $columnIndex, $advFilterColumn, $advFilterComparator, $advFilterValue, $groupIndex, $advFilterColumnCondition));
                    // Update the condition expression for the group to which the condition column belongs
                    $groupConditionExpression = '';
                    if (!empty($advancedFilter[$groupIndex]["conditionexpression"])) {
                        $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"];
                    }
                    $groupConditionExpression = $groupConditionExpression . ' ' . $columnIndex . ' ' . $advFilterColumnCondition;
                    $advancedFilter[$groupIndex]["conditionexpression"] = $groupConditionExpression;
                }
                $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"];
                if (empty($groupConditionExpression)) {
                    continue;
                }
                // Case when the group doesn't have any column criteria
                $db->pquery("INSERT INTO vtiger_relcriteria_grouping(groupid, queryid, group_condition, condition_expression) VALUES (?,?,?,?)", array($groupIndex, $reportId, $groupCondition, $groupConditionExpression));
            }
        }
    }
 /**
  * Function returns Inventory Line Items
  * @param Vtiger_Request $request
  */
 function showLineItemDetails(Vtiger_Request $request)
 {
     $record = $request->get('record');
     $moduleName = $request->getModule();
     $recordModel = Inventory_Record_Model::getInstanceById($record);
     $relatedProducts = $recordModel->getProducts();
     //##Final details convertion started
     $finalDetails = $relatedProducts[1]['final_details'];
     //Final tax details convertion started
     $taxtype = $finalDetails['taxtype'];
     //SalesPlatform.ru begin
     if ($taxtype == 'group' || $taxtype == 'group_tax_inc') {
         //if ($taxtype == 'group') {
         //SalesPlatform.ru end
         $taxDetails = $finalDetails['taxes'];
         $taxCount = count($taxDetails);
         for ($i = 0; $i < $taxCount; $i++) {
             //SalesPlatform.ru begin
             if ($taxtype == 'group_tax_inc') {
                 $taxDetails[$i]['taxlabel'] = vtranslate('LBL_INC_TAX') . ' ' . $taxDetails[$i]['taxlabel'];
             }
             $taxDetails[$i]['amount'] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true), ENT_QUOTES | ENT_HTML401);
             //$taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true);
             //SalesPlatform.ru end
         }
         $finalDetails['taxes'] = $taxDetails;
     }
     //Final tax details convertion ended
     //Final shipping tax details convertion started
     $shippingTaxDetails = $finalDetails['sh_taxes'];
     $taxCount = count($shippingTaxDetails);
     for ($i = 0; $i < $taxCount; $i++) {
         //SalesPlatform.ru begin
         if ($taxtype == 'group_tax_inc') {
             $shippingTaxDetails[$i]['taxlabel'] = vtranslate('LBL_INC_TAX') . ' ' . $shippingTaxDetails[$i]['taxlabel'];
         }
         $shippingTaxDetails[$i]['amount'] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true), ENT_QUOTES | ENT_HTML401);
         //$shippingTaxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true);
         //SalesPlatform.ru end
     }
     $finalDetails['sh_taxes'] = $shippingTaxDetails;
     //Final shipping tax details convertion ended
     $currencyFieldsList = array('adjustment', 'grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount', 'shtax_totalamount', 'discountTotal_final', 'discount_amount_final', 'shipping_handling_charge', 'totalAfterDiscount');
     foreach ($currencyFieldsList as $fieldName) {
         //SalesPlatform.ru begin
         $finalDetails[$fieldName] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true), ENT_QUOTES | ENT_HTML401);
         //$finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true);
         //SalesPlatform.ru end
     }
     $relatedProducts[1]['final_details'] = $finalDetails;
     //##Final details convertion ended
     //##Product details convertion started
     $productsCount = count($relatedProducts);
     for ($i = 1; $i <= $productsCount; $i++) {
         $product = $relatedProducts[$i];
         //Product tax details convertion started
         if ($taxtype == 'individual') {
             $taxDetails = $product['taxes'];
             $taxCount = count($taxDetails);
             for ($j = 0; $j < $taxCount; $j++) {
                 //SalesPlatform.ru begin
                 $taxDetails[$j]['amount'] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true), ENT_QUOTES | ENT_HTML401);
                 //$taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true);
                 //SalesPlatform.ru end
             }
             $product['taxes'] = $taxDetails;
         }
         //Product tax details convertion ended
         $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal', 'discountTotal', 'discount_amount', 'totalAfterDiscount');
         foreach ($currencyFieldsList as $fieldName) {
             //SalesPlatform.ru begin
             $product[$fieldName . $i] = htmlentities(Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName . $i], null, true), ENT_QUOTES | ENT_HTML401);
             //$product[$fieldName.$i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName.$i], null, true);
             //SalesPlatform.ru end
         }
         $relatedProducts[$i] = $product;
     }
     //##Product details convertion ended
     $viewer = $this->getViewer($request);
     $viewer->assign('RELATED_PRODUCTS', $relatedProducts);
     $viewer->assign('RECORD', $recordModel);
     $viewer->assign('MODULE_NAME', $moduleName);
     $viewer->view('LineItemsDetail.tpl', 'Inventory');
 }