• Модуль: 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;
}