v2.3.7
This commit is contained in:
parent
83d3ec1dc1
commit
0ebb1be7d1
@ -1,3 +1,9 @@
|
|||||||
|
## 2018-06-33 v.2.3.7
|
||||||
|
* Добавлена выгрузка штрихкодов в ICML
|
||||||
|
* Добавлена выгрузка картинок торговых предложений в ICML
|
||||||
|
* Улучшена передача типа доставки в заказе
|
||||||
|
* Добавлена проверка некоторых настроек при передаче заказа
|
||||||
|
|
||||||
## 2018-05-23 v.2.3.6
|
## 2018-05-23 v.2.3.6
|
||||||
* Улучшена выгрузка свойств товаров типа "справочник"
|
* Улучшена выгрузка свойств товаров типа "справочник"
|
||||||
* Добавлена настройка выгрузки габаритов и веса в заказе
|
* Добавлена настройка выгрузки габаритов и веса в заказе
|
||||||
|
@ -293,7 +293,10 @@ class RetailCrmHistory
|
|||||||
if (is_array($newResOrder) && !empty($newResOrder)) {
|
if (is_array($newResOrder) && !empty($newResOrder)) {
|
||||||
$order = $newResOrder;
|
$order = $newResOrder;
|
||||||
} elseif ($newResOrder === false) {
|
} elseif ($newResOrder === false) {
|
||||||
RCrmActions::eventLog('RetailCrmHistory::orderHistory', 'retailCrmBeforeOrderSave()', 'OrderCrmId = ' . $order['id'] . '. Sending canceled after retailCrmBeforeOrderSave');
|
RCrmActions::eventLog('RetailCrmHistory::orderHistory',
|
||||||
|
'retailCrmBeforeOrderSave()',
|
||||||
|
'OrderCrmId = ' . $order['id'] . '. Sending canceled after retailCrmBeforeOrderSave'
|
||||||
|
);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -253,6 +253,21 @@ class RetailCrmICML
|
|||||||
);
|
);
|
||||||
|
|
||||||
foreach ($this->iblocks as $key => $id) {
|
foreach ($this->iblocks as $key => $id) {
|
||||||
|
$barcodes = array();
|
||||||
|
$dbBarCode = CCatalogStoreBarCode::getList(
|
||||||
|
array(),
|
||||||
|
array("IBLOCK_ID" => $id),
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
array('PRODUCT_ID', 'BARCODE')
|
||||||
|
);
|
||||||
|
|
||||||
|
while($arBarCode = $dbBarCode->GetNext()) {
|
||||||
|
if (!empty($arBarCode)) {
|
||||||
|
$barcodes[$arBarCode['PRODUCT_ID']] = $arBarCode['BARCODE'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$highloadblockSkuProps = array();
|
$highloadblockSkuProps = array();
|
||||||
$highloadblockProductProps = array();
|
$highloadblockProductProps = array();
|
||||||
|
|
||||||
@ -389,6 +404,7 @@ class RetailCrmICML
|
|||||||
|
|
||||||
while ($offer = $dbResOffers->GetNext()) {
|
while ($offer = $dbResOffers->GetNext()) {
|
||||||
// Link offers to products
|
// Link offers to products
|
||||||
|
$offer['PICTURE'] = $this->protocol . $this->serverName . CFile::GetPath($offer["DETAIL_PICTURE"]);
|
||||||
$products[$offer['PROPERTY_' . $iblockOffer['SKU_PROPERTY_ID'] . '_VALUE']]['offers'][$offer['ID']] = $offer;
|
$products[$offer['PROPERTY_' . $iblockOffer['SKU_PROPERTY_ID'] . '_VALUE']]['offers'][$offer['ID']] = $offer;
|
||||||
}
|
}
|
||||||
unset($offer, $dbResOffers);
|
unset($offer, $dbResOffers);
|
||||||
@ -437,13 +453,13 @@ class RetailCrmICML
|
|||||||
$categories[$catId] = $allCategories[$catId];
|
$categories[$catId] = $allCategories[$catId];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$existOffer = false;
|
$existOffer = false;
|
||||||
if (!empty($iblockOffer['IBLOCK_ID'])) {
|
if (!empty($iblockOffer['IBLOCK_ID'])) {
|
||||||
foreach ($product['offers'] as $offer) {
|
foreach ($product['offers'] as $offer) {
|
||||||
|
$offer['BARCODE'] = isset($barcodes[$offer['ID']]) ? $barcodes[$offer['ID']] : '';
|
||||||
$offer['PRODUCT_ID'] = $product["ID"];
|
$offer['PRODUCT_ID'] = $product["ID"];
|
||||||
$offer['DETAIL_PAGE_URL'] = $product["DETAIL_PAGE_URL"];
|
$offer['DETAIL_PAGE_URL'] = $product["DETAIL_PAGE_URL"];
|
||||||
$offer['PICTURE'] = $product["PICTURE"];
|
$offer['PICTURE'] = $offer["PICTURE"] ? $offer["PICTURE"] : $product["PICTURE"];
|
||||||
$offer['PRODUCT_NAME'] = $product["NAME"];
|
$offer['PRODUCT_NAME'] = $product["NAME"];
|
||||||
$offer['PRODUCT_ACTIVE'] = $product["ACTIVE"];
|
$offer['PRODUCT_ACTIVE'] = $product["ACTIVE"];
|
||||||
$offer['PRICE'] = $offer['CATALOG_PRICE_' . $basePriceId];
|
$offer['PRICE'] = $offer['CATALOG_PRICE_' . $basePriceId];
|
||||||
@ -484,6 +500,7 @@ class RetailCrmICML
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$existOffer) {
|
if (!$existOffer) {
|
||||||
|
$offer['BARCODE'] = isset($barcodes[$product["ID"]]) ? $barcodes[$product["ID"]] : '';
|
||||||
$product['PRODUCT_ID'] = $product["ID"];
|
$product['PRODUCT_ID'] = $product["ID"];
|
||||||
$product['PRODUCT_NAME'] = $product["NAME"];
|
$product['PRODUCT_NAME'] = $product["NAME"];
|
||||||
$product['PRODUCT_ACTIVE'] = $product["ACTIVE"];
|
$product['PRODUCT_ACTIVE'] = $product["ACTIVE"];
|
||||||
@ -499,7 +516,6 @@ class RetailCrmICML
|
|||||||
|
|
||||||
$stringOffers .= $this->BuildOffer($product, $categories, $iblock, $allCategories);
|
$stringOffers .= $this->BuildOffer($product, $categories, $iblock, $allCategories);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
unset($products);
|
unset($products);
|
||||||
|
|
||||||
@ -589,6 +605,9 @@ class RetailCrmICML
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if ($arOffer["BARCODE"]) {
|
||||||
|
$offer.= "<barcode>" . $this->PrepareValue($arOffer["BARCODE"]) . "</barcode>\n";
|
||||||
|
}
|
||||||
|
|
||||||
$offer.= "</offer>\n";
|
$offer.= "</offer>\n";
|
||||||
|
|
||||||
|
@ -70,9 +70,13 @@ class RetailCrmOrder
|
|||||||
|
|
||||||
//fields
|
//fields
|
||||||
foreach ($arFields['PROPS']['properties'] as $prop) {
|
foreach ($arFields['PROPS']['properties'] as $prop) {
|
||||||
if ($search = array_search($prop['CODE'], $arParams['optionsLegalDetails'][$arFields['PERSON_TYPE_ID']])) {
|
if (!empty($arParams['optionsLegalDetails'])
|
||||||
|
&& $search = array_search($prop['CODE'], $arParams['optionsLegalDetails'][$arFields['PERSON_TYPE_ID']])
|
||||||
|
) {
|
||||||
$order['contragent'][$search] = $prop['VALUE'][0];//legal order data
|
$order['contragent'][$search] = $prop['VALUE'][0];//legal order data
|
||||||
} elseif ($search = array_search($prop['CODE'], $arParams['optionsCustomFields'][$arFields['PERSON_TYPE_ID']])) {
|
} elseif (!empty($arParams['optionsCustomFields'])
|
||||||
|
&& $search = array_search($prop['CODE'], $arParams['optionsCustomFields'][$arFields['PERSON_TYPE_ID']])
|
||||||
|
) {
|
||||||
$order['customFields'][$search] = $prop['VALUE'][0];//custom properties
|
$order['customFields'][$search] = $prop['VALUE'][0];//custom properties
|
||||||
} elseif ($search = array_search($prop['CODE'], $arParams['optionsOrderProps'][$arFields['PERSON_TYPE_ID']])) {//other
|
} elseif ($search = array_search($prop['CODE'], $arParams['optionsOrderProps'][$arFields['PERSON_TYPE_ID']])) {//other
|
||||||
if (in_array($search, array('fio', 'phone', 'email'))) {//fio, phone, email
|
if (in_array($search, array('fio', 'phone', 'email'))) {//fio, phone, email
|
||||||
@ -340,6 +344,10 @@ class RetailCrmOrder
|
|||||||
|
|
||||||
$shipmentList = $obOrder->getShipmentCollection();
|
$shipmentList = $obOrder->getShipmentCollection();
|
||||||
foreach ($shipmentList as $shipmentData) {
|
foreach ($shipmentList as $shipmentData) {
|
||||||
|
if ($shipmentData->isSystem()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ($shipmentData->getDeliveryId()) {
|
if ($shipmentData->getDeliveryId()) {
|
||||||
$delivery = \Bitrix\Sale\Delivery\Services\Manager::getById($shipmentData->getDeliveryId());
|
$delivery = \Bitrix\Sale\Delivery\Services\Manager::getById($shipmentData->getDeliveryId());
|
||||||
$siteDeliverys = RCrmActions::DeliveryList();
|
$siteDeliverys = RCrmActions::DeliveryList();
|
||||||
|
@ -74,9 +74,13 @@ class RetailCrmOrder
|
|||||||
|
|
||||||
//fields
|
//fields
|
||||||
foreach ($arFields['PROPS']['properties'] as $prop) {
|
foreach ($arFields['PROPS']['properties'] as $prop) {
|
||||||
if ($search = array_search($prop['CODE'], $arParams['optionsLegalDetails'][$arFields['PERSON_TYPE_ID']])) {
|
if (!empty($arParams['optionsLegalDetails'])
|
||||||
|
&& $search = array_search($prop['CODE'], $arParams['optionsLegalDetails'][$arFields['PERSON_TYPE_ID']])
|
||||||
|
) {
|
||||||
$order['contragent'][$search] = $prop['VALUE'][0];//legal order data
|
$order['contragent'][$search] = $prop['VALUE'][0];//legal order data
|
||||||
} elseif ($search = array_search($prop['CODE'], $arParams['optionsCustomFields'][$arFields['PERSON_TYPE_ID']])) {
|
} elseif (!empty($arParams['optionsCustomFields'])
|
||||||
|
&& $search = array_search($prop['CODE'], $arParams['optionsCustomFields'][$arFields['PERSON_TYPE_ID']])
|
||||||
|
) {
|
||||||
$order['customFields'][$search] = $prop['VALUE'][0];//custom properties
|
$order['customFields'][$search] = $prop['VALUE'][0];//custom properties
|
||||||
} elseif ($search = array_search($prop['CODE'], $arParams['optionsOrderProps'][$arFields['PERSON_TYPE_ID']])) {//other
|
} elseif ($search = array_search($prop['CODE'], $arParams['optionsOrderProps'][$arFields['PERSON_TYPE_ID']])) {//other
|
||||||
if (in_array($search, array('fio', 'phone', 'email'))) {//fio, phone, email
|
if (in_array($search, array('fio', 'phone', 'email'))) {//fio, phone, email
|
||||||
@ -389,6 +393,10 @@ class RetailCrmOrder
|
|||||||
|
|
||||||
$shipmentList = $obOrder->getShipmentCollection();
|
$shipmentList = $obOrder->getShipmentCollection();
|
||||||
foreach ($shipmentList as $shipmentData) {
|
foreach ($shipmentList as $shipmentData) {
|
||||||
|
if ($shipmentData->isSystem()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ($shipmentData->getDeliveryId()) {
|
if ($shipmentData->getDeliveryId()) {
|
||||||
$delivery = \Bitrix\Sale\Delivery\Services\Manager::getById($shipmentData->getDeliveryId());
|
$delivery = \Bitrix\Sale\Delivery\Services\Manager::getById($shipmentData->getDeliveryId());
|
||||||
$siteDeliverys = RCrmActions::DeliveryList();
|
$siteDeliverys = RCrmActions::DeliveryList();
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
- Улучшена выгрузка свойств товаров типа "справочник"
|
- Добавлена выгрузка штрихкодов в ICML
|
||||||
- Добавлена настройка выгрузки габаритов и веса в заказе
|
- Добавлена выгрузка картинок торговых предложений в ICML
|
||||||
- Добавлена совместимость натройки экспорта для Google Chrome
|
- Улучшена передача типа доставки в заказе
|
||||||
- Исправлена ошибка при выгрузке истории с пустым городом
|
- Добавлена проверка некоторых настроек при передаче заказа
|
||||||
- Добавлены проверки на существование модуля Highloadblock
|
|
||||||
- Исправлен баг с отправкой пустого заказа при удалении в 1С-Битрикс
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?
|
<?
|
||||||
$arModuleVersion = array(
|
$arModuleVersion = array(
|
||||||
"VERSION" => "2.3.6",
|
"VERSION" => "2.3.7",
|
||||||
"VERSION_DATE" => "2018-05-23 13:15:00"
|
"VERSION_DATE" => "2018-06-13 13:15:00"
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user