Как вывести внешний код торгового предложения в bitrix:catalog?
11.03.2019 21:28:18
Александр Медведев, под конкретную задачу
|
|
|
11.03.2019 20:30:40
Александр Медведев, соответственно для получения комментария покупателя к заказу, комментария менеджера, количества и суммы, тоже необходимо использовать другое(ие) событие(я)?
|
|
|
11.03.2019 16:06:34
Виталий Черепанов,
меняю статус заказа с "Отменен" на "Выполнен". Сохраняю, ничего не прилетает. пишу новый комментарий покупателя к заказу. Сохраняю, в результате ничего не прилетает меняю ФИО у заказчика. Сохраняю, приходит Код:[CODE]$eventManager->addEventHandler("sale", "OnSalePropertyValueEntitySaved", "myOnSalePropertyValueEntitySaved"); function myOnSalePropertyValueEntitySaved(Bitrix\Main\Event $event) { // событие OnSalePropertyValueEntitySaved $order = $event->getParameter("ENTITY"); $oldValues = $event->getParameter("VALUES"); $arOrderVals = $order->getFields()->getValues(); }[/CODE] [U]Как я могу получить недостающие данные? [/U] |
|
|
07.03.2019 23:59:00
Андрей Николаев, как я мог бы найти описание, как работать с этими событиями (полагаю, что и сейчас я неправильно получаю данные)?
У меня получился такой код:
[I]$oldValues[/I] и [I]$arOrderVals [/I]у меня содержат по несколько массивов. [I]$oldValues[/I]:
[B]Из старых значений приходят[/B]: телефон, пункт самовывоза, ФИО, email, телефон, индекс, область/район, населенный пункт, улица, дом, корпус, квартира, контактный адрес: [B]Свойства которые не приходят[/B]: статус заказа, Комментарий покупателя к заказу, комментарий менеджера, количество, сумма [U]Как мне получить недостающие свойства?[/U] [U]Есть ли описание того, что приходит в [/U][I][U]VALUES [/U][/I][U]события [/U][I][U]OnSalePropertyValueEntitySaved[/U][/I][U]? [/U](Можно сказать, что google по запросу OnSalePropertyValueEntitySaved, выдает только [URL=https://dev.1c-bitrix.ru/api_d7/bitrix/sale/events/sale_entitysaved.php]одну страницу документации[/URL]) Непонятно по какой причине, при изменении количества единиц товара, в [I]$arOrderVals[/I] приходит вот это:
|
|||||||
|
07.03.2019 13:13:40
Андрей Николаев, в ответе приходит вот это:
[B]Н[/B][B]е приходит:[/B] количество, комментарий покупателя к заказу, контактный адрес, квартира, корпус, дом, улица, населенный пункт, область/район, индекс, телефон, E-Mail, ФИО, пункт самовывоза [B]Приходит[/B]: цена, комментарий менеджера, комментарий покупателя к заказу, статус заказа [U]Можно ли где-то посмотреть, какие свойства должны приходить? [/U] Вот код:
|
|||||
|
06.03.2019 22:24:30
Андрей Николаев, да, действительно не пустой. Я посмотрел результат var_export().
Мне было необходимо получить [I]PropertyCollection[/I] из объекта [CODE]$propertyCollection = $order->getPropertyCollection(); $arPropz = $propertyCollection->getArray();[/CODE]Таким образом, в [I]arPropz [/I]я получил данные ещё до записи их в базу данных. [U]Это[/U] и есть [U]массив с[/U] уже[U] измененными свойствами[/U] (ещё не решение вопроса) Для получения старых данных заказа, я сначала получил [I]ID [/I]заказа: [CODE] $orderId = $order->getId();[/CODE]Получил объект заказа из базы данных:[CODE] $orderOld = Sale\Order::load($orderId); [/CODE]Дальше повторил действия с PropertyCollection уже получив свойства из [I]$orderOld [/I][CODE]$propertyCollection = $orderOld->getPropertyCollection(); $arPropzOld = $propertyCollection->getArray();[/CODE] На данный момент у меня есть [I]$[/I][I]arPropz (измененные свойства) [/I]и [I]$[/I][I]arPropzOld (старые свойства)[/I]. Оба массива сейчас содержат в себе излишние данные (другие поля, которые не нужны для сравнения и данные, и другие свойства не потерпевшие изменений) [B]Вопрос.[/B] Как сейчас достать из массива с новыми свойствами, именно измененные? |
|
|