В маркетплейса Битркиса есть модуль https://marketplace.1c-bitrix.ru/solutions/yandex.market/ который подготавливает прайс-лист для Маркета и Беру.
Задача: наличие товара задается в дополнительном св-ве, а не используется стандартный функционал Битрикса, нужно испольуя это свойство корректно заполнить прайс
Для этого в настройках модуля, в сопоставлении полей полю available сопоставляем наше свойство. При отсутсвии товара, в свойстве передается значение Под заказ
В init.php добавляем следующий обработчик:
use Bitrix\Main; use Yandex\Market; $eventManager = Main\EventManager::getInstance(); $eventManager->addEventHandler('yandex.market', 'onExportOfferExtendData', function(Main\Event $event) { /** @var $tagValueList Market\Result\XmlValue[] */ $tagValueList = $event->getParameter('TAG_VALUE_LIST'); foreach ($tagValueList as $elementId => $tagValue) { $available = $tagValue->getTagAttribute('offer', 'available'); if($available == 'Под заказ'){ $tagValue->setTagAttribute('offer', 'available', 0); } } });