- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/orderedit.php
- Класс: BitrixSaleHelpersAdminfor
- Вызов: for::fillSimpleFields
static function fillSimpleFields(Order $order, array $formData, $userId = 0)
{
$result = new BitrixSaleResult();
if(isset($formData["ORDER"]["RESPONSIBLE_ID"]))
{
if (intval($formData["ORDER"]["RESPONSIBLE_ID"]) != intval($order->getField('RESPONSIBLE_ID')))
{
/** @var BitrixSaleResult $r */
$r = $order->setField("RESPONSIBLE_ID", $formData["ORDER"]["RESPONSIBLE_ID"]);
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
}
if(!empty($formData["ORDER"]) && array_key_exists('COMPANY_ID', $formData["ORDER"]))
{
/** @var BitrixSaleResult $r */
$r = $order->setField("COMPANY_ID", (isset($formData["ORDER"]['COMPANY_ID']) && $formData["ORDER"]['COMPANY_ID'] > 0) ? $formData["ORDER"]['COMPANY_ID'] : 0);
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
if(isset($formData["PERSON_TYPE_ID"]) && intval($formData["PERSON_TYPE_ID"]) > 0)
{
/** @var BitrixSaleResult $r */
$r = $order->setPersonTypeId(intval($formData['PERSON_TYPE_ID']));
}
else
{
/** @var BitrixSaleResult $r */
$r = $order->setPersonTypeId(
BlocksOrderBuyer::getDefaultPersonType(
$order->getSiteId()
)
);
}
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
if(isset($formData["ORDER"]["COMMENTS"]))
{
/** @var BitrixSaleResult $r */
$r = $order->setField("COMMENTS", $formData["ORDER"]["COMMENTS"]);
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
if(isset($formData["USER_DESCRIPTION"]))
{
/** @var BitrixSaleResult $r */
$r = $order->setField("USER_DESCRIPTION", $formData["USER_DESCRIPTION"]);
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
if(isset($formData["RESPONSIBLE_ID"]))
{
/** @var BitrixSaleResult $r */
$r = $order->setField("RESPONSIBLE_ID", $formData["RESPONSIBLE_ID"]);
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
if(isset($formData["STATUS_ID"]) && $formData["STATUS_ID"] <> '')
{
$statusesList = BitrixSaleOrderStatus::getAllowedUserStatuses(
$userId,
BitrixSaleOrderStatus::getInitialStatus()
);
if(array_key_exists($formData["STATUS_ID"], $statusesList))
{
/** @var BitrixSaleResult $r */
$r = $order->setField("STATUS_ID", $formData["STATUS_ID"]);
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
}
return $result;
}