Фильтр газа G16 | Купить газовый фильтр
0
0
0
Корзина
WhatsApp // --- Копирование адреса доставки в комментарий заказа (для выгрузки в 1С) --- use Bitrix\Main\EventManager; use Bitrix\Sale\Order; EventManager::getInstance()->addEventHandler( "sale", "OnSaleOrderSaved", function(\Bitrix\Main\Event $event) { /** @var Order $order */ $order = $event->getParameter("ENTITY"); if (!$order || !($order instanceof Order)) return; $propertyCollection = $order->getPropertyCollection(); if (!$propertyCollection) return; $parts = array(); // Собираем адрес из свойств заказа foreach ($propertyCollection as $prop) { $code = $prop->getField("CODE"); $value = $prop->getValue(); if (empty($value)) continue; if ($code === "ADDRESS") $parts["address"] = $value; if ($code === "CITY") $parts["city"] = $value; if ($code === "ZIP") $parts["zip"] = $value; } // Формируем строку адреса $addressStr = ""; if (!empty($parts["zip"])) $addressStr .= $parts["zip"] . ", "; if (!empty($parts["city"])) $addressStr .= $parts["city"] . ", "; if (!empty($parts["address"])) $addressStr .= $parts["address"]; $addressStr = trim($addressStr, ", "); if (empty($addressStr)) return; // Добавляем к существующему комментарию, не затираем $current = $order->getField("USER_DESCRIPTION"); if (mb_strpos($current, $addressStr) !== false) return; // уже есть $prefix = "Адрес доставки: "; $newComment = empty($current) ? $prefix . $addressStr : $current . "\n" . $prefix . $addressStr; $order->setFieldNoDemand("USER_DESCRIPTION", $newComment); } );