InvoiceExist::fillTemplateFields

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. InvoiceExist
  4. fillTemplateFields
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/item/invoiceexist.php
  • Класс: Bitrix\Crm\Recurring\Entity\Item\InvoiceExist
  • Вызов: InvoiceExist::fillTemplateFields
protected function fillTemplateFields()
{
	$result = new Main\Result();
	$fields = \CCrmInvoice::GetByID($this->templateId);
	if (empty($fields))
	{
		$result->addError(new Main\Error('Template entity not found'));
		return $result;
	}

	$this->setTemplateFields($fields);

	$products = [];
	$productRowData = \CCrmInvoice::GetProductRows($this->templateId);
	foreach ($productRowData as $row)
	{
		if ($row['CUSTOM_PRICE'] === 'Y')
			$row['CUSTOMIZED'] = 'Y';
		$row['ID'] = 0;
		$products[] = $row;
	}
	if (!empty($products))
	{
		$this->setTemplateField('PRODUCT_ROWS', $products);
	}

	$properties = \CCrmInvoice::getPropertiesList([$this->templateId]);
	if(is_array($properties[$this->templateId]))
	{
		$newInvoiceProperties = [];
		foreach($properties[$this->templateId] as $invoiceProperty)
		{
			$value = $invoiceProperty['VALUE'];
			$newInvoiceProperties[$value['ORDER_PROPS_ID']] = $value['VALUE'];
		}
		$this->setTemplateField('INVOICE_PROPERTIES', $newInvoiceProperties);
	}

	$linkData = EntityLink::getList(
		array(
			'filter' => array(
				'=ENTITY_TYPE_ID' => \CCrmOwnerType::Invoice,
				'=ENTITY_ID' => $this->templateId
			)
		)
	);

	if ($links = $linkData->fetch())
	{
		$this->setTemplateField('REQUISITES', $links);
	}

	return $result;
}

Добавить комментарий