diff --git a/CHANGELOG.md b/CHANGELOG.md index 6568a585..59d5050a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 2024-08-12 v.6.5.25 +- Улучшена генерация каталога с маркированными товарами + ## 2024-08-06 v.6.5.24 - Добавлены переводы текста в программе лояльности - Установка функционала программы лоялности перенесена в настройки модуля diff --git a/intaro.retailcrm/description.ru b/intaro.retailcrm/description.ru index a01b037c..21b7c3c2 100644 --- a/intaro.retailcrm/description.ru +++ b/intaro.retailcrm/description.ru @@ -1,2 +1 @@ -- Добавлены переводы текста в программе лояльности -- Установка функционала программы лоялности перенесена в настройки модуля +- Улучшена генерация каталога с маркированными товарами diff --git a/intaro.retailcrm/install/version.php b/intaro.retailcrm/install/version.php index 7e9597c0..8850a7a2 100644 --- a/intaro.retailcrm/install/version.php +++ b/intaro.retailcrm/install/version.php @@ -1,6 +1,6 @@ '6.5.24', - 'VERSION_DATE' => '2024-08-06 14:30:00' + 'VERSION' => '6.5.25', + 'VERSION_DATE' => '2024-08-12 12:00:00' ]; diff --git a/intaro.retailcrm/lib/icml/xmlofferbuilder.php b/intaro.retailcrm/lib/icml/xmlofferbuilder.php index e12eed3a..3a91fe06 100644 --- a/intaro.retailcrm/lib/icml/xmlofferbuilder.php +++ b/intaro.retailcrm/lib/icml/xmlofferbuilder.php @@ -578,15 +578,13 @@ class XmlOfferBuilder /** * Метод для проверки можно ли маркировать товар. * - * Таблица в БД - b_hlsys_marking_code_group - * По умолчанию ID Highload-блока ProductMarkingCodeGroup - 1. - * * @param $offerId - * @return void + * + * @return string|null */ private function isMarkableOffer($offerId): ?string { - $idHlBlock = 1; + $idHlBlock = $this->getHighloadBlockIdByName('ProductMarkingCodeGroup'); $hlBlock = HighloadBlockTable::getById($idHlBlock)->fetch(); $hlBlockData = HighloadBlockTable::compileEntity($hlBlock)->getDataClass(); $userFieldManager = UserFieldHelper::getInstance()->getManager(); @@ -601,4 +599,21 @@ class XmlOfferBuilder return $isMarkableOffer; } + + /** + * Метод для получения ID Highload-блока по названию блока. + * + * Таблица в БД - b_hlsys_marking_code_group + * По умолчанию ID Highload-блока ProductMarkingCodeGroup - 1. + * + * @param $blockName + * + * @return mixed|null + */ + private function getHighloadBlockIdByName($blockName) + { + $hlBlock = HighloadBlockTable::getList(['filter' => ['NAME' => $blockName], 'select' => ['ID']])->fetch(); + + return $hlBlock['ID'] ?? 1; + } }