OrderHelper — класс-хелпер с аналогами методов классов CSaleOrder и CSaleOrderPropsValue для 1С-Битрикс
Написал класс-хелпер, в котором набор методов-аналогов классов CSaleOrder и CSaleOrderPropsValue с логированием ошибок, успешного сохранения, бэктрейсом. Для логирования используется логгер monolog.
Доступны методы:
\Olegpro\Helpers\OrderHelper::cancelOrder($orderId, string $value, string $comment = '', $silenceMode = true): bool \Olegpro\Helpers\OrderHelper::setOrderPropertySingle($orderId, $code, $value, $silenceMode = true): bool \Olegpro\Helpers\OrderHelper::setOrderPropertyMultiply($orderId, array $values, $silenceMode = true): bool \Olegpro\Helpers\OrderHelper::setOrderField($orderId, $fieldName, $fieldValue, $silenceMode = true): bool \Olegpro\Helpers\OrderHelper::setShipmentField($orderId, string $deliveryCode, string $fieldName, $fieldValue, $orderDeliveryId = null, $silenceMode = true): bool
Все методы подразумевают использование вне цикла сохранения заказа (внутри каждого используется \Bitrix\Sale\Order::save). Это важно учитывать или можно получить циклический вызов обработчиков ядра (но если сильно надо — то можно и обойти).
У всех последним параметром есть $silenceMode = true. Если его передать в false, то будет выкинуто исключение OrderHelperException.
С хелпером OrderHelper этих мамонтов можно забыть:
- CSaleOrder::PayOrder
- CSaleOrder::CancelOrder
- CSaleOrder::StatusOrder
- CSaleOrderPropsValue::Add
- CSaleOrderPropsValue::Update
- CSaleOrder::Update