public static function getSelectedPriceTypeId() { if (is_null(self::$selectedPriceTypeId)) { $priceTypeId = intval(COption::GetOptionInt('crm', 'selected_catalog_group_id', 0)); if ($priceTypeId < 1) { $arBaseCatalogGroup = CCatalogGroup::GetBaseGroup(); $priceTypeId = intval($arBaseCatalogGroup['ID']); } self::$selectedPriceTypeId = $priceTypeId; } return self::$selectedPriceTypeId; }
function ReCountFromBase(&$arFields, &$boolBase) { $arBaseGroup = CCatalogGroup::GetBaseGroup(); if (!empty($arBaseGroup)) { if ($arFields['CATALOG_GROUP_ID'] == $arBaseGroup['ID']) { $boolBase = true; } else { if (!empty($arFields['EXTRA_ID']) && intval($arFields['EXTRA_ID']) > 0) { $arExtra = CExtra::GetByID($arFields['EXTRA_ID']); if (!empty($arExtra)) { $arFilter = array('PRODUCT_ID' => $arFields['PRODUCT_ID'],'CATALOG_GROUP_ID' => $arBaseGroup['ID']); if (isset($arFields['QUANTITY_FROM'])) $arFilter['QUANTITY_FROM'] = $arFields['QUANTITY_FROM']; if (isset($arFields['QUANTITY_TO'])) $arFilter['QUANTITY_TO'] = $arFields['QUANTITY_TO']; $rsBasePrices = CPrice::GetListEx( array("QUANTITY_FROM" => "ASC", "QUANTITY_TO" => "ASC"), $arFilter, false, array('nTopCount' => 1), array('PRICE','CURRENCY') ); if ($arBasePrice = $rsBasePrices->Fetch()) { $arFields['CURRENCY'] = $arBasePrice['CURRENCY']; $arFields['PRICE'] = RoundEx($arBasePrice["PRICE"] * (1 + DoubleVal($arExtra["PERCENTAGE"])/100), CATALOG_VALUE_PRECISION); } else { $arFields['EXTRA_ID'] = 0; } } else { $arFields['EXTRA_ID'] = 0; } } } } }
$isDisabled = " disabled"; } echo CCurrency::SelectBox("CAT_PURCHASING_CURRENCY", $arBaseProduct['PURCHASING_CURRENCY'], "", true, "", "id='CAT_PURCHASING_CURRENCY' {$isDisabled}"); ?> </td> </tr> <?php } ?> <tr id="tr_BASE_PRICE" style="display: <?php echo $bUseExtendedPrice ? 'none' : 'table-row'; ?> ;"> <td width="40%"> <?php $arBaseGroup = CCatalogGroup::GetBaseGroup(); $arBasePrice = CPrice::GetBasePrice($PRODUCT_ID, $arPriceBoundaries[0]["FROM"], $arPriceBoundaries[0]["TO"]); echo GetMessage("BASE_PRICE"); ?> (<?php echo GetMessage('C2IT_PRICE_TYPE'); ?> "<?php echo htmlspecialcharsbx(!empty($arBaseGroup['NAME_LANG']) ? $arBaseGroup['NAME_LANG'] : $arBaseGroup["NAME"]); ?> "): </td> <td width="60%"> <script type="text/javascript"> var arExtra = [], arExtraPrc = []; <?php
<?php IncludeModuleLangFile(__FILE__); $profileTypes['avito_commercereal'] = array("CODE" => 'avito_commercereal', "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_NAME"), "DESCRIPTION" => GetMessage("ACRIT_EXPORTPRO_PODDERJIVAETSA_ANDEK"), "REG" => "http://market.yandex.ru/", "HELP" => "http://help.yandex.ru/partnermarket/export/feed.xml", "FIELDS" => array(array("CODE" => "Id", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_ID"), "VALUE" => "ID", "REQUIRED" => 'Y', "TYPE" => 'field'), array("CODE" => "Category", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_CATEGORY"), "REQUIRED" => 'Y', "TYPE" => 'const', "CONTVALUE_TRUE" => GetMessage('ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_CATEGORY_VALUE')), array("CODE" => "DateBegin", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_DATEBEGIN")), array("CODE" => "DateEnd", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_DATEEND")), array("CODE" => "OperationType", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_OPERATIONTYPE"), "REQUIRED" => 'Y'), array("CODE" => "BuildingClass", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_BUILDINGCLASS")), array("CODE" => "BusinessForSale", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_BUSINESSFORSALE")), array("CODE" => "Region", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_REGION")), array("CODE" => "City", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_CITY"), "REQUIRED" => 'Y'), array("CODE" => "Locality", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_LOCALITY")), array("CODE" => "Street", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_STREET")), array("CODE" => "ObjectType", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_OBJECTTYPE"), "REQUIRED" => 'Y'), array("CODE" => "Square", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_SQUARE"), "REQUIRED" => 'Y'), array("CODE" => "Subway", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_SUBWAY")), array("CODE" => "Description", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_DESCRIPTION")), array("CODE" => "Price", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_PRICE"), "TYPE" => "const", "CONTVALUE_TRUE" => "0"), array("CODE" => "ContactPhone", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_CONTACTPHONE")), array("CODE" => "AdStatus", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_ADSTATUS")), array("CODE" => "Image", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_IMAGE"))), "FORMAT" => '<?xml version="1.0"?> <Ads target="Avito.ru" formatVersion="1"> #ITEMS# </Ads>', "DATEFORMAT" => "Y-m-d"); $bCatalog = false; if (CModule::IncludeModule("catalog")) { $arBasePrice = CCatalogGroup::GetBaseGroup(); $basePriceCode = "CATALOG-PRICE_" . $arBasePrice["ID"]; $basePriceCodeWithDiscount = "CATALOG-PRICE_" . $arBasePrice["ID"] . "_WD"; $bCatalog = true; $profileTypes['avito_commercereal']["FIELDS"][15] = array("CODE" => "Price", "NAME" => GetMessage("ACRIT_EXPORTPRO_AVITO_COMMERCEREAL_FIELD_PRICE"), "TYPE" => "field", "VALUE" => $basePriceCode); } $profileTypes['avito_commercereal']['PORTAL_REQUIREMENTS'] = GetMessage('ACRIT_EXPORTPRO_TYPE_AVITO_COMMERCEREAL_PORTAL_REQUIREMENTS'); $profileTypes['avito_commercereal']['EXAMPLE'] = GetMessage('ACRIT_EXPORTPRO_TYPE_AVITO_COMMERCEREAL_EXAMPLE'); $profileTypes['avito_commercereal']['CURRENCIES'] = ""; $profileTypes['avito_commercereal']['SECTIONS'] = ""; $profileTypes['avito_commercereal']['ITEMS_FORMAT'] = "\n<Ad>\n <Id>#Id#</Id>\n <Category>#Category#</Category>\n <DateBegin>#DateBegin#</DateBegin>\n <DateEnd>#DateEnd#</DateEnd>\n <OperationType>#OperationType#</OperationType>\n <BuildingClass>#BuildingClass#</BuildingClass>\n <BusinessForSale>#BusinessForSale#</BusinessForSale>\n <Region>#Region#</Region>\n <City>#City#</City>\n <Locality>#Locality#</Locality>\n <Street>#Street#</Street>\n <Square>#Square#</Square>\n <ObjectType>#ObjectType#</ObjectType>\n <Subway>#Subway#</Subway>\n <Description>#Description#</Description>\n <Price>#Price#</Price>\n <ContactPhone>#ContactPhone#</ContactPhone>\n <AdStatus>#AdStatus#</AdStatus>\n <Images>\n <Image url=\"#SITE_URL##Image#\"></Image>\n </Images>\n</Ad>\n"; $profileTypes['avito_commercereal']['LOCATION'] = array('avito' => array('name' => GetMessage("ACRIT_EXPORTPRO_AVITO"), 'sub' => array()));
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } foreach ($arResult as $key => $val) { $img = ""; if ($val["DETAIL_PICTURE"] > 0) { $img = $val["DETAIL_PICTURE"]; } elseif ($val["PREVIEW_PICTURE"] > 0) { $img = $val["PREVIEW_PICTURE"]; } $file = CFile::ResizeImageGet($img, array('width' => $arParams["VIEWED_IMG_WIDTH"], 'height' => $arParams["VIEWED_IMG_HEIGHT"]), BX_RESIZE_IMAGE_PROPORTIONAL, true); $val["PICTURE"] = $file; $arResult[$key] = $val; } if (CModule::IncludeModule("catalog")) { $basePriceType = CCatalogGroup::GetBaseGroup(); $basePriceTypeName = $basePriceType["NAME"]; } /*SKU -- */ foreach ($arResult as $cell => $arElement) { if (is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])) { $minItemPrice = 0; $minItemPriceFormat = ""; foreach ($arElement["OFFERS"] as $arOffer) { foreach ($arOffer["PRICES"] as $code => $arPrice) { if ($arPrice["CAN_ACCESS"]) { if ($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]) { $minOfferPrice = $arPrice["DISCOUNT_VALUE"]; $minOfferPriceFormat = $arPrice["PRINT_DISCOUNT_VALUE"]; } else { $minOfferPrice = $arPrice["VALUE"];
private function isBase($arFields) { $baseGroup = CCatalogGroup::GetBaseGroup(); return $arFields['CATALOG_GROUP_ID'] == $baseGroup['ID']; }
/** * <p> * CREATE SALE AND CATALOG MODULES ENTITIES FOR INVOICES IN CRM VERSION 12.5.7 * <br>UPDATE ORDER OPTION IN CRM VERSION 12.5.14 * <br>CREATE 1C EXCHANGE OPTIONS DEFAULTS AND DEFAULT INVOICE EXPORT PROFILES IN CRM VERSION 12.5.17 * <br>... * </p> */ public static function installExternalEntities() { global $DB, $DBType; $errMsg = array(); // at first, check last update version if (COption::GetOptionString('crm', '~CRM_INVOICE_UF_QUOTE_ID_14_1_13', 'N') === 'Y') { return true; } if (COption::GetOptionString('crm', '~CRM_EXCH1C_BASKET_XML_IDS_14_1_9', 'N') === 'Y') { $bFieldExists = false; $obUserField = new CUserTypeEntity(); $dbRes = $obUserField->GetList(array('SORT' => 'DESC'), array('ENTITY_ID' => 'ORDER')); $maxUFSort = 0; $i = 0; while ($arUF = $dbRes->Fetch()) { if ($i++ === 0) { $maxUFSort = intval($arUF['SORT']); } if ($arUF['FIELD_NAME'] === 'UF_QUOTE_ID') { $bFieldExists = true; break; } } unset($dbRes, $arUF, $i); if (!$bFieldExists) { $arOrderUserField = array('ENTITY_ID' => 'ORDER', 'FIELD_NAME' => 'UF_QUOTE_ID', 'USER_TYPE_ID' => 'integer', 'XML_ID' => 'uf_quote_id', 'SORT' => strval($maxUFSort + 10), 'MULTIPLE' => null, 'MANDATORY' => null, 'SHOW_FILTER' => 'N', 'SHOW_IN_LIST' => 'N', 'EDIT_IN_LIST' => 'N', 'IS_SEARCHABLE' => null, 'SETTINGS' => array('DEFAULT_VALUE' => null, 'SIZE' => '', 'ROWS' => '1', 'MIN_LENGTH' => '0', 'MAX_LENGTH' => '0', 'REGEXP' => ''), 'EDIT_FORM_LABEL' => array('ru' => '', 'en' => ''), 'LIST_COLUMN_LABEL' => array('ru' => '', 'en' => ''), 'LIST_FILTER_LABEL' => array('ru' => '', 'en' => ''), 'ERROR_MESSAGE' => array('ru' => '', 'en' => ''), 'HELP_MESSAGE' => array('ru' => '', 'en' => '')); $userFieldId = $obUserField->Add($arOrderUserField); if ($userFieldId <= 0) { $errMsg[] = str_replace("#FIELD_NAME#", $arOrderUserField['FIELD_NAME'], GetMessage('CRM_CANT_ADD_USER_FIELD')); } unset($userFieldId); } if (empty($errMsg)) { COption::SetOptionString('crm', '~CRM_INVOICE_UF_QUOTE_ID_14_1_13', 'Y'); return true; } else { $errString = implode('<br>', $errMsg); ShowError($errString); return false; } } if (COption::GetOptionString('crm', '~CRM_EXCH1C_REWRITEDEFCATGRP_12_5_20', 'N') === 'Y') { // update basket xml_id fields if ($DB->TableExists('b_sale_order') && $DB->TableExists('b_sale_basket') && $DB->TableExists('b_iblock') && $DB->TableExists('b_iblock_element')) { if ($DB->Query("SELECT RESPONSIBLE_ID FROM b_sale_order WHERE 1=0", true) && $DB->Query("SELECT CATALOG_XML_ID, PRODUCT_XML_ID FROM b_sale_basket WHERE 1=0", true) && $DB->Query("SELECT XML_ID FROM b_iblock WHERE 1=0", true) && $DB->Query("SELECT XML_ID FROM b_iblock_element WHERE 1=0", true)) { $catalogId = 0; $tmpCatalogId = intval(COption::GetOptionString('crm', 'default_product_catalog_id', '0')); if ($dbRes = $DB->Query("SELECT ID FROM b_iblock I WHERE I.ID = {$tmpCatalogId}", true)) { if ($arRes = $dbRes->Fetch()) { if ($tmpCatalogId === intval($arRes['ID'])) { $catalogId = $tmpCatalogId; } } unset($arRes); } unset($tmpCatalogId, $dbRes); if ($catalogId > 0) { $databaseType = strtoupper($DBType); $strSql = ''; switch ($databaseType) { case 'MYSQL': $strSql = "UPDATE b_sale_basket B" . PHP_EOL . " INNER JOIN b_sale_order O ON B.ORDER_ID = O.ID" . PHP_EOL . " INNER JOIN b_iblock_element IE ON B.PRODUCT_ID = IE.ID" . PHP_EOL . " INNER JOIN b_iblock I ON IE.IBLOCK_ID = I.ID" . PHP_EOL . "SET" . PHP_EOL . " B.CATALOG_XML_ID = I.XML_ID," . PHP_EOL . " B.PRODUCT_XML_ID = IE.XML_ID" . PHP_EOL . "WHERE" . PHP_EOL . " IE.IBLOCK_ID = {$catalogId}" . PHP_EOL . " AND (" . PHP_EOL . " B.PRODUCT_XML_ID IS NULL OR B.PRODUCT_XML_ID = ''" . PHP_EOL . " OR B.CATALOG_XML_ID IS NULL OR B.CATALOG_XML_ID = ''" . PHP_EOL . " )" . PHP_EOL . " AND O.RESPONSIBLE_ID IS NOT NULL"; break; case 'MSSQL': $strSql = "UPDATE B" . PHP_EOL . "SET" . PHP_EOL . " B.CATALOG_XML_ID = I.XML_ID," . PHP_EOL . " B.PRODUCT_XML_ID = IE.XML_ID" . PHP_EOL . "FROM B_SALE_BASKET B" . PHP_EOL . " INNER JOIN B_SALE_ORDER O ON B.ORDER_ID = O.ID" . PHP_EOL . " INNER JOIN B_IBLOCK_ELEMENT IE ON B.PRODUCT_ID = IE.ID" . PHP_EOL . " INNER JOIN B_IBLOCK I ON IE.IBLOCK_ID = I.ID" . PHP_EOL . "WHERE" . PHP_EOL . " IE.IBLOCK_ID = {$catalogId}" . PHP_EOL . " AND (" . PHP_EOL . " B.PRODUCT_XML_ID IS NULL OR B.PRODUCT_XML_ID = ''" . PHP_EOL . " OR B.CATALOG_XML_ID IS NULL OR B.CATALOG_XML_ID = ''" . PHP_EOL . " )" . PHP_EOL . " AND O.RESPONSIBLE_ID IS NOT NULL"; break; case 'ORACLE': $strSql = "UPDATE (" . PHP_EOL . " SELECT" . PHP_EOL . " B.ID," . PHP_EOL . " B.CATALOG_XML_ID," . PHP_EOL . " B.PRODUCT_XML_ID," . PHP_EOL . " I.XML_ID AS C_XML_ID," . PHP_EOL . " IE.XML_ID AS P_XML_ID" . PHP_EOL . " FROM B_SALE_BASKET B" . PHP_EOL . " INNER JOIN B_SALE_ORDER O ON B.ORDER_ID = O.ID" . PHP_EOL . " INNER JOIN B_IBLOCK_ELEMENT IE ON B.PRODUCT_ID = IE.ID" . PHP_EOL . " INNER JOIN B_IBLOCK I ON IE.IBLOCK_ID = I.ID" . PHP_EOL . " WHERE" . PHP_EOL . " IE.IBLOCK_ID = {$catalogId}" . PHP_EOL . " AND (" . PHP_EOL . " B.PRODUCT_XML_ID IS NULL OR B.PRODUCT_XML_ID = ''" . PHP_EOL . " OR B.CATALOG_XML_ID IS NULL OR B.CATALOG_XML_ID = ''" . PHP_EOL . " )" . PHP_EOL . " AND O.RESPONSIBLE_ID IS NOT NULL" . PHP_EOL . ") U" . PHP_EOL . "SET" . PHP_EOL . " U.CATALOG_XML_ID = U.C_XML_ID," . PHP_EOL . " U.PRODUCT_XML_ID = U.P_XML_ID"; break; } unset($databaseType); $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); unset($strSql); } } } COption::SetOptionString('crm', '~CRM_EXCH1C_BASKET_XML_IDS_14_1_9', 'Y'); $bFieldExists = false; $obUserField = new CUserTypeEntity(); $dbRes = $obUserField->GetList(array('SORT' => 'DESC'), array('ENTITY_ID' => 'ORDER')); $maxUFSort = 0; $i = 0; while ($arUF = $dbRes->Fetch()) { if ($i++ === 0) { $maxUFSort = intval($arUF['SORT']); } if ($arUF['FIELD_NAME'] === 'UF_QUOTE_ID') { $bFieldExists = true; break; } } unset($dbRes, $arUF, $i); if (!$bFieldExists) { $arOrderUserField = array('ENTITY_ID' => 'ORDER', 'FIELD_NAME' => 'UF_QUOTE_ID', 'USER_TYPE_ID' => 'integer', 'XML_ID' => 'uf_quote_id', 'SORT' => strval($maxUFSort + 10), 'MULTIPLE' => null, 'MANDATORY' => null, 'SHOW_FILTER' => 'N', 'SHOW_IN_LIST' => 'N', 'EDIT_IN_LIST' => 'N', 'IS_SEARCHABLE' => null, 'SETTINGS' => array('DEFAULT_VALUE' => null, 'SIZE' => '', 'ROWS' => '1', 'MIN_LENGTH' => '0', 'MAX_LENGTH' => '0', 'REGEXP' => ''), 'EDIT_FORM_LABEL' => array('ru' => '', 'en' => ''), 'LIST_COLUMN_LABEL' => array('ru' => '', 'en' => ''), 'LIST_FILTER_LABEL' => array('ru' => '', 'en' => ''), 'ERROR_MESSAGE' => array('ru' => '', 'en' => ''), 'HELP_MESSAGE' => array('ru' => '', 'en' => '')); unset($maxUFSort); $userFieldId = $obUserField->Add($arOrderUserField); if ($userFieldId <= 0) { $errMsg[] = str_replace("#FIELD_NAME#", $arOrderUserField['FIELD_NAME'], GetMessage('CRM_CANT_ADD_USER_FIELD')); } unset($userFieldId, $obUserField, $arOrderUserField); } if (empty($errMsg)) { COption::SetOptionString('crm', '~CRM_INVOICE_UF_QUOTE_ID_14_1_13', 'Y'); return true; } else { $errString = implode('<br>', $errMsg); ShowError($errString); return false; } } if (COption::GetOptionString('crm', '~CRM_INVOICE_DISABLE_SALE_EVENTS_12_5_19', 'N') === 'Y') { if (!CModule::IncludeModule('catalog')) { return false; } $arBaseCatalogGroup = CCatalogGroup::GetBaseGroup(); $priceTypeId = intval($arBaseCatalogGroup['ID']); COption::SetOptionInt('crm', 'selected_catalog_group_id', $priceTypeId); unset($arBaseCatalogGroup, $priceTypeId); COption::SetOptionString('crm', '~CRM_EXCH1C_REWRITEDEFCATGRP_12_5_20', 'Y'); LocalRedirect($GLOBALS['APPLICATION']->GetCurPageParam()); return true; } if (COption::GetOptionString('crm', '~CRM_INVOICE_EXCH1C_UPDATE_12_5_17', 'N') === 'Y') { $pref = COption::GetOptionString('sale', '1C_SALE_ACCOUNT_NUMBER_SHOP_PREFIX', ''); if (strlen(strval($pref)) < 1) { COption::SetOptionString('sale', '1C_SALE_ACCOUNT_NUMBER_SHOP_PREFIX', 'CRM_'); } COption::SetOptionString('crm', '~CRM_INVOICE_EXCH1C_UPDATE_12_5_19', 'Y'); self::installDisableSaleEvents(); COption::SetOptionString('crm', '~CRM_INVOICE_DISABLE_SALE_EVENTS_12_5_19', 'Y'); if (!CModule::IncludeModule('catalog')) { return false; } $arBaseCatalogGroup = CCatalogGroup::GetBaseGroup(); $priceTypeId = intval($arBaseCatalogGroup['ID']); COption::SetOptionInt('crm', 'selected_catalog_group_id', $priceTypeId); unset($arBaseCatalogGroup, $priceTypeId); COption::SetOptionString('crm', '~CRM_EXCH1C_REWRITEDEFCATGRP_12_5_20', 'Y'); LocalRedirect($GLOBALS['APPLICATION']->GetCurPageParam()); return true; } if (COption::GetOptionString('crm', '~CRM_INVOICE_INSTALL_12_5_7', 'N') === 'Y') { // fix 40279 if (COption::GetOptionString('crm', '~CRM_INVOICE_UPDATE_12_5_14', 'N') !== 'Y') { try { if (CModule::IncludeModule('sale')) { global $DB; if ($DB->TableExists('b_sale_order_props') && class_exists('CSaleOrderProps')) { $arPropsFilter = array('TYPE' => 'LOCATION', 'REQUIED' => 'Y', 'USER_PROPS' => 'Y', 'IS_LOCATION' => 'Y', 'IS_EMAIL' => 'N', 'IS_PROFILE_NAME' => 'N', 'IS_PAYER' => 'N', 'CODE' => 'LOCATION'); // update properties $dbOrderProps = CSaleOrderProps::GetList(array('SORT' => 'ASC', 'ID' => 'ASC'), $arPropsFilter, false, false, array('ID', 'IS_LOCATION4TAX')); if ($dbOrderProps !== false) { while ($arOrderProp = $dbOrderProps->Fetch()) { if ($arOrderProp['IS_LOCATION4TAX'] !== 'Y') { CSaleOrderProps::Update($arOrderProp['ID'], array('IS_LOCATION4TAX' => 'Y')); } } COption::SetOptionString('crm', '~CRM_INVOICE_UPDATE_12_5_14', 'Y'); } } } } catch (Exception $e) { } } if (COption::GetOptionString('crm', '~CRM_INVOICE_UPDATE_12_5_14', 'N') === 'Y') { if (COption::GetOptionString('crm', '~CRM_INVOICE_EXCH1C_UPDATE_12_5_17', 'N') !== 'Y') { if (CModule::IncludeModule('catalog') && CModule::IncludeModule('sale') && CModule::IncludeModule('iblock')) { try { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/crm/install/exch1c.php"; } catch (Exception $e) { $errMsg[] = $e->getMessage(); } if (empty($errMsg)) { COption::SetOptionString('crm', '~CRM_INVOICE_EXCH1C_UPDATE_12_5_17', 'Y'); COption::SetOptionString('sale', '1C_SALE_ACCOUNT_NUMBER_SHOP_PREFIX', 'CRM_'); COption::SetOptionString('crm', '~CRM_INVOICE_EXCH1C_UPDATE_12_5_19', 'Y'); self::installDisableSaleEvents(); COption::SetOptionString('crm', '~CRM_INVOICE_DISABLE_SALE_EVENTS_12_5_19', 'Y'); if (!CModule::IncludeModule('catalog')) { return false; } $arBaseCatalogGroup = CCatalogGroup::GetBaseGroup(); $priceTypeId = intval($arBaseCatalogGroup['ID']); COption::SetOptionInt('crm', 'selected_catalog_group_id', $priceTypeId); unset($arBaseCatalogGroup, $priceTypeId); COption::SetOptionString('crm', '~CRM_EXCH1C_REWRITEDEFCATGRP_12_5_20', 'Y'); LocalRedirect($GLOBALS['APPLICATION']->GetCurPageParam()); return true; } else { $errString = implode('<br>', $errMsg); ShowError($errString); return false; } } } else { return true; } } return false; } try { require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/crm/install/sale_link.php"; } catch (Exception $e) { $errMsg[] = $e->getMessage(); } if (empty($errMsg)) { COption::SetOptionString('crm', '~CRM_INVOICE_INSTALL_12_5_7', 'Y'); LocalRedirect($GLOBALS['APPLICATION']->GetCurPageParam()); return true; } else { $errString = implode('<br>', $errMsg); ShowError($errString); return false; } }