• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/order/terminalpayment.php
  • Класс: Bitrix\Crm\Controller\Order\TerminalPayment
  • Вызов: TerminalPayment::getAutoWiredParameters
public function getAutoWiredParameters()
{
	$autoWiredParameters = parent::getAutoWiredParameters();

	$autoWiredParameters[] = new Main\Engine\AutoWire\ExactParameter(
		Crm\Order\Payment::class,
		'payment',
		function($className, int $id) {
			$payment = Sale\Repository\PaymentRepository::getInstance()->getById($id);

			if ($payment)
			{
				return $payment;
			}

			$this->addError(new Main\Error('payment not found'));
			return null;
		}
	);

	$autoWiredParameters[] = new Main\Engine\AutoWire\ExactParameter(
		Main\Type\Dictionary::class,
		'paymentList',
		function($className, array $ids) {
			$paymentList = [];

			foreach ($ids as $id)
			{
				$payment = Sale\Repository\PaymentRepository::getInstance()->getById($id);

				if ($payment)
				{
					$paymentList[] = $payment;
				}
				else
				{
					$this->addError(new Main\Error('payment not found'));
				}
			}

			$paymentDictionary = new Main\Type\Dictionary();
			$paymentDictionary->setValues($paymentList);

			return $paymentDictionary;
		}
	);

	return $autoWiredParameters;
}