CAllCrmCatalog::Add

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CAllCrmCatalog
  4. Add
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_catalog.php
  • Класс: \CAllCrmCatalog
  • Вызов: CAllCrmCatalog::Add
static function Add($arFields)
{
	if (!Loader::includeModule('catalog'))
	{
		return false;
	}

	self::$LAST_ERROR = '';
	global $DB;
	$tableName = CCrmCatalog::TABLE_NAME;

	if (!self::CheckFields('ADD', $arFields, 0))
	{
		return false;
	}

	$DB->Add($tableName, $arFields, array(), '', false, 'File: '.__FILE__.'
Line: '.__LINE__); if($DB->db_Error <> '') { self::RegisterError($DB->db_Error); return false; } // -------------- register in catalog module --------------> $catalogId = $arFields['ID']; $arFields = array( 'IBLOCK_ID' => $catalogId ); // get default vat // TODO: replace this code to use preset vat id $defCatVatId = 0; $iterator = \Bitrix\Catalog\VatTable::getList([ 'select' => ['ID', 'SORT'], 'order' => ['SORT' => 'ASC'], 'limit' => 1 ]); $vat = $iterator->fetch(); if (!empty($vat)) { $defCatVatId = (int)$vat['ID']; } unset($vat, $iterator); if ($defCatVatId > 0) { $arFields['VAT_ID'] = $defCatVatId; } unset($defCatVatId); // add crm iblock to catalog $CCatalog = new CCatalog(); $dbRes = $CCatalog->GetList(array(), array('ID' => $catalogId), false, false, array('ID')); if (!$dbRes->Fetch()) // if catalog iblock is not exists { if ($CCatalog->Add($arFields)) { COption::SetOptionString('catalog', 'save_product_without_price', 'Y'); COption::SetOptionString('catalog', 'default_can_buy_zero', 'Y'); } else { self::RegisterError(GetMessage('CRM_ERR_REGISTER_CATALOG')); return false; } } // <------------- register in catalog module -------------- return true; }

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