1
0
mirror of synced 2024-11-29 00:36:07 +03:00

Cброс закупочной цены в icml при её отсутствии

This commit is contained in:
Alex Lushpai 2020-04-15 17:22:03 +03:00 committed by GitHub
commit 0fec821438
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 2 deletions

View File

@ -29,6 +29,7 @@ class RetailCrmICML
protected $mainSection = 1000000; protected $mainSection = 1000000;
protected $pageSize = 500; protected $pageSize = 500;
protected $protocol; protected $protocol;
protected $purchasePriceNull;
protected $isLogged = false; protected $isLogged = false;
protected $logFile = '/bitrix/catalog_export/i_crm_load_log.txt'; protected $logFile = '/bitrix/catalog_export/i_crm_load_log.txt';
@ -37,6 +38,7 @@ class RetailCrmICML
protected $MODULE_ID = 'intaro.retailcrm'; protected $MODULE_ID = 'intaro.retailcrm';
protected $CRM_CATALOG_BASE_PRICE = 'catalog_base_price'; protected $CRM_CATALOG_BASE_PRICE = 'catalog_base_price';
protected $PROTOCOL_OPTION = 'protocol'; protected $PROTOCOL_OPTION = 'protocol';
protected $CRM_PURCHASE_PRICE_NULL = 'purchasePrice_null';
protected $measurement = array ( protected $measurement = array (
'mm' => 1, // 1 mm = 1 mm 'mm' => 1, // 1 mm = 1 mm
@ -76,6 +78,7 @@ class RetailCrmICML
$this->encodingDefault = $defaultSite["CHARSET"]; $this->encodingDefault = $defaultSite["CHARSET"];
$this->protocol = COption::GetOptionString($this->MODULE_ID, $this->PROTOCOL_OPTION); $this->protocol = COption::GetOptionString($this->MODULE_ID, $this->PROTOCOL_OPTION);
$this->purchasePriceNull = COption::GetOptionString($this->MODULE_ID, $this->CRM_PURCHASE_PRICE_NULL);
$this->PrepareSettings(); $this->PrepareSettings();
@ -621,9 +624,15 @@ class RetailCrmICML
$offer .= "<url>" . $this->protocol . $this->serverName . $this->PrepareValue($arOffer['DETAIL_PAGE_URL']) . "</url>\n"; $offer .= "<url>" . $this->protocol . $this->serverName . $this->PrepareValue($arOffer['DETAIL_PAGE_URL']) . "</url>\n";
$offer .= "<price>" . $this->PrepareValue($arOffer['PRICE']) . "</price>\n"; $offer .= "<price>" . $this->PrepareValue($arOffer['PRICE']) . "</price>\n";
if ($arOffer['PURCHASE_PRICE'] && $this->loadPurchasePrice) {
if ($this->loadPurchasePrice) {
if ($arOffer['PURCHASE_PRICE']) {
$offer .= "<purchasePrice>" . $this->PrepareValue($arOffer['PURCHASE_PRICE']) . "</purchasePrice>\n"; $offer .= "<purchasePrice>" . $this->PrepareValue($arOffer['PURCHASE_PRICE']) . "</purchasePrice>\n";
} elseif ("Y" == $this->purchasePriceNull) {
$offer .= "<purchasePrice>0</purchasePrice>\n";
} }
}
foreach ($categories as $category) { foreach ($categories as $category) {
$offer .= "<categoryId>" . $category['ID'] . "</categoryId>\n"; $offer .= "<categoryId>" . $category['ID'] . "</categoryId>\n";
} }

View File

@ -46,6 +46,7 @@ $CRM_DIMENSIONS = 'order_dimensions';
$PROTOCOL = 'protocol'; $PROTOCOL = 'protocol';
$CRM_DISCOUNT_ROUND = 'discount_round'; $CRM_DISCOUNT_ROUND = 'discount_round';
$CRM_PURCHASE_PRICE_NULL = 'purchasePrice_null';
if(!CModule::IncludeModule('intaro.retailcrm') || !CModule::IncludeModule('sale') || !CModule::IncludeModule('iblock') || !CModule::IncludeModule('catalog')) if(!CModule::IncludeModule('intaro.retailcrm') || !CModule::IncludeModule('sale') || !CModule::IncludeModule('iblock') || !CModule::IncludeModule('catalog'))
return; return;
@ -451,6 +452,15 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
UnRegisterModuleDependences("main", "OnBeforeProlog", $mid, "RetailCrmDc", "add"); UnRegisterModuleDependences("main", "OnBeforeProlog", $mid, "RetailCrmDc", "add");
} }
//purchasePrice_null
if (htmlspecialchars(trim($_POST['purchasePrice_null'])) == 'Y') {
$purchasePrice_null = 'Y';
RegisterModuleDependences("main", "OnBeforeProlog", $mid, "RetailCrmPricePrchase", "add");
} else {
$purchasePrice_null = 'N';
UnRegisterModuleDependences("main", "OnBeforeProlog", $mid, "RetailCrmPricePrchase", "add");
}
//version //version
$version = COption::GetOptionString($mid, $CRM_API_VERSION); $version = COption::GetOptionString($mid, $CRM_API_VERSION);
@ -526,6 +536,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
COption::SetOptionString($mid, $CRM_DIMENSIONS, $orderDimensions); COption::SetOptionString($mid, $CRM_DIMENSIONS, $orderDimensions);
COption::SetOptionString($mid, $CRM_DISCOUNT_ROUND, $discount_round); COption::SetOptionString($mid, $CRM_DISCOUNT_ROUND, $discount_round);
COption::SetOptionString($mid, $CRM_PURCHASE_PRICE_NULL, $purchasePrice_null);
$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest(); $request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
@ -634,6 +645,7 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
$optionUaKeys = unserialize(COption::GetOptionString($mid, $CRM_UA_KEYS)); $optionUaKeys = unserialize(COption::GetOptionString($mid, $CRM_UA_KEYS));
$optionDiscRound = COption::GetOptionString($mid, $CRM_DISCOUNT_ROUND, 0); $optionDiscRound = COption::GetOptionString($mid, $CRM_DISCOUNT_ROUND, 0);
$optionPricePrchaseNull = COption::GetOptionString($mid, $CRM_PURCHASE_PRICE_NULL, 0);
$version = COption::GetOptionString($mid, $CRM_API_VERSION, 0); $version = COption::GetOptionString($mid, $CRM_API_VERSION, 0);
@ -752,6 +764,17 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
return true; return true;
}); });
$('.r-purchaseprice-button label').change(function() {
if($(this).find('input').is(':checked') === true) {
$('tr.r-purchaseprice').show('slow');
} else if($(this).find('input').is(':checked') === false) {
$('tr.r-purchaseprice').hide('slow');
}
return true;
});
}); });
$('input[name="update-delivery-services"]').live('click', function() { $('input[name="update-delivery-services"]').live('click', function() {
@ -1303,6 +1326,23 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
</td> </td>
</tr> </tr>
<tr class="heading r-purchaseprice-button">
<td colspan="2" class="option-other-heading">
<b>
<label><input class="addr" type="checkbox" name="purchasePrice_null" value="Y"
<?php if($optionPricePrchaseNull === 'Y')
echo "checked"; ?>><?php
echo "Сброс закупочной цены в icml" ?></label>
</b>
</td>
</tr>
<tr class="r-purchaseprice" <?php if($optionPricePrchaseNull !== 'Y') echo 'style="display: none;"'; ?>>
<td class="option-head" colspan="2">
<b><?php echo "При включенной опции в генерации icml будет добавлен сброс закупочной цены на 0 если она не указана" ?></b>
</td>
</tr>
<tr class="heading r-ua-button"> <tr class="heading r-ua-button">
<td colspan="2" class="option-other-heading"> <td colspan="2" class="option-other-heading">
<b> <b>