本文整理汇总了PHP中CCrmDeal::Exists方法的典型用法代码示例。如果您正苦于以下问题:PHP CCrmDeal::Exists方法的具体用法?PHP CCrmDeal::Exists怎么用?PHP CCrmDeal::Exists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCrmDeal
的用法示例。
在下文中一共展示了CCrmDeal::Exists方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initialize
public function initialize()
{
if ($this->currentPhase === DealConversionPhase::INTERMEDIATE) {
$this->currentPhase = DealConversionPhase::INVOICE_CREATION;
}
if (!\CCrmDeal::Exists($this->entityID)) {
throw new EntityConversionException(\CCrmOwnerType::Deal, \CCrmOwnerType::Undefined, EntityConversionException::TARG_SRC, EntityConversionException::NOT_FOUND);
}
/** @var \CCrmPerms $permissions */
$permissions = $this->getUserPermissions();
if (!\CCrmAuthorizationHelper::CheckReadPermission(\CCrmOwnerType::DealName, $this->entityID, $permissions)) {
throw new EntityConversionException(\CCrmOwnerType::Deal, \CCrmOwnerType::Undefined, EntityConversionException::TARG_SRC, EntityConversionException::READ_DENIED);
}
if (!\CCrmAuthorizationHelper::CheckUpdatePermission(\CCrmOwnerType::DealName, $this->entityID, $permissions)) {
throw new EntityConversionException(\CCrmOwnerType::Deal, \CCrmOwnerType::Undefined, EntityConversionException::TARG_SRC, EntityConversionException::UPDATE_DENIED);
}
}
示例2: GetDocumentType
public static function GetDocumentType($documentId)
{
$arDocumentID = self::GetDocumentInfo($documentId);
if (empty($arDocumentID)) {
throw new CBPArgumentNullException('documentId');
}
$exists = false;
switch ($arDocumentID['TYPE']) {
case 'CONTACT':
$exists = CCrmContact::Exists($arDocumentID['ID']);
break;
case 'COMPANY':
$exists = CCrmCompany::Exists($arDocumentID['ID']);
break;
case 'DEAL':
$exists = CCrmDeal::Exists($arDocumentID['ID']);
break;
case 'LEAD':
$exists = CCrmLead::Exists($arDocumentID['ID']);
break;
}
if (!$exists) {
throw new Exception(GetMessage('CRM_DOCUMENT_ELEMENT_IS_NOT_FOUND'));
}
return $arDocumentID['TYPE'];
}
示例3: executePhase
public function executePhase()
{
if ($this->currentPhase === LeadConversionPhase::COMPANY_CREATION || $this->currentPhase === LeadConversionPhase::CONTACT_CREATION || $this->currentPhase === LeadConversionPhase::DEAL_CREATION) {
if ($this->currentPhase === LeadConversionPhase::COMPANY_CREATION) {
$entityTypeID = \CCrmOwnerType::Company;
} elseif ($this->currentPhase === LeadConversionPhase::CONTACT_CREATION) {
$entityTypeID = \CCrmOwnerType::Contact;
} else {
$entityTypeID = \CCrmOwnerType::Deal;
}
$entityTypeName = \CCrmOwnerType::ResolveName($entityTypeID);
$config = $this->config->getItem($entityTypeID);
if (!$config->isActive()) {
return false;
}
/** @var \CCrmPerms $permissions */
$permissions = $this->getUserPermissions();
$entityID = isset($this->contextData[$entityTypeName]) ? $this->contextData[$entityTypeName] : 0;
if ($entityID > 0) {
if ($entityTypeID === \CCrmOwnerType::Company) {
if (!\CCrmCompany::Exists($entityID)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, \CCrmOwnerType::Company, EntityConversionException::TARG_DST, EntityConversionException::NOT_FOUND);
}
$entity = new \CCrmCompany(false);
} elseif ($entityTypeID === \CCrmOwnerType::Contact) {
if (!\CCrmContact::Exists($entityID)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, \CCrmOwnerType::Contact, EntityConversionException::TARG_DST, EntityConversionException::NOT_FOUND);
}
$entity = new \CCrmContact(false);
} else {
if (!\CCrmDeal::Exists($entityID)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, \CCrmOwnerType::Deal, EntityConversionException::TARG_DST, EntityConversionException::NOT_FOUND);
}
$entity = new \CCrmDeal(false);
}
if (!\CCrmAuthorizationHelper::CheckUpdatePermission($entityTypeName, $entityID, $permissions)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::UPDATE_DENIED);
}
$fields = array('LEAD_ID' => $this->entityID);
$entity->Update($entityID, $fields);
$this->resultData[$entityTypeName] = $entityID;
return true;
}
if (!\CCrmAuthorizationHelper::CheckCreatePermission($entityTypeName, $permissions)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::CREATE_DENIED);
}
if (UserFieldSynchronizer::needForSynchronization(\CCrmOwnerType::Lead, $entityTypeID)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::NOT_SYNCHRONIZED);
}
if (!ConversionSettings::getCurrent()->isAutocreationEnabled()) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::AUTOCREATION_DISABLED);
}
if (\CCrmBizProcHelper::HasAutoWorkflows($entityTypeID, \CCrmBizProcEventType::Create)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::HAS_WORKFLOWS);
}
/** @var LeadConversionMapper $mapper */
$mapper = $this->getMapper();
$map = self::prepareMap($entityTypeID);
$fields = $mapper->map($map);
if (empty($fields)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::EMPTY_FIELDS);
}
if ($entityTypeID === \CCrmOwnerType::Company) {
$entity = new \CCrmCompany(false);
$entityID = $entity->Add($fields);
if ($entityID <= 0) {
throw new EntityConversionException(\CCrmOwnerType::Lead, \CCrmOwnerType::Company, EntityConversionException::TARG_DST, EntityConversionException::CREATE_FAILED, $entity->LAST_ERROR);
}
//region BizProcess
$arErrors = array();
\CCrmBizProcHelper::AutoStartWorkflows(\CCrmOwnerType::Company, $entityID, \CCrmBizProcEventType::Create, $arErrors);
//endregion
$this->resultData[\CCrmOwnerType::CompanyName] = $entityID;
} elseif ($entityTypeID === \CCrmOwnerType::Contact) {
if (isset($this->resultData[\CCrmOwnerType::CompanyName])) {
$fields['COMPANY_ID'] = $this->resultData[\CCrmOwnerType::CompanyName];
}
$entity = new \CCrmContact(false);
if (!$entity->CheckFields($fields)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::INVALID_FIELDS, $entity->LAST_ERROR);
}
$entityID = $entity->Add($fields);
if ($entityID <= 0) {
throw new EntityConversionException(\CCrmOwnerType::Lead, \CCrmOwnerType::Contact, EntityConversionException::TARG_DST, EntityConversionException::CREATE_FAILED, $entity->LAST_ERROR);
}
//region BizProcess
$arErrors = array();
\CCrmBizProcHelper::AutoStartWorkflows(\CCrmOwnerType::Contact, $entityID, \CCrmBizProcEventType::Create, $arErrors);
//endregion
$this->resultData[\CCrmOwnerType::ContactName] = $entityID;
} else {
if (isset($this->resultData[\CCrmOwnerType::ContactName])) {
$fields['CONTACT_ID'] = $this->resultData[\CCrmOwnerType::ContactName];
}
if (isset($this->resultData[\CCrmOwnerType::CompanyName])) {
$fields['COMPANY_ID'] = $this->resultData[\CCrmOwnerType::CompanyName];
}
$productRows = isset($fields['PRODUCT_ROWS']) && is_array($fields['PRODUCT_ROWS']) ? $fields['PRODUCT_ROWS'] : array();
if (!empty($productRows)) {
$result = \CCrmProductRow::CalculateTotalInfo('D', 0, false, $fields, $productRows);
//.........这里部分代码省略.........
示例4: executePhase
public function executePhase()
{
if ($this->currentPhase === QuoteConversionPhase::DEAL_CREATION || $this->currentPhase === QuoteConversionPhase::INVOICE_CREATION) {
if ($this->currentPhase === QuoteConversionPhase::DEAL_CREATION) {
$entityTypeID = \CCrmOwnerType::Deal;
} else {
$entityTypeID = \CCrmOwnerType::Invoice;
}
$entityTypeName = \CCrmOwnerType::ResolveName($entityTypeID);
$config = $this->config->getItem($entityTypeID);
if (!$config->isActive()) {
return false;
}
/** @var \CCrmPerms $permissions */
$permissions = $this->getUserPermissions();
$entityID = isset($this->contextData[$entityTypeName]) ? $this->contextData[$entityTypeName] : 0;
if ($entityID > 0) {
if ($entityTypeID === \CCrmOwnerType::Deal) {
if (!\CCrmDeal::Exists($entityID)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Deal, EntityConversionException::TARG_DST, EntityConversionException::NOT_FOUND);
}
$this->resultData[$entityTypeName] = $entityID;
} else {
if (!\CCrmInvoice::Exists($entityID)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Invoice, EntityConversionException::TARG_DST, EntityConversionException::NOT_FOUND);
}
if (!\CCrmInvoice::CheckUpdatePermission($entityID, $permissions)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Invoice, EntityConversionException::TARG_DST, EntityConversionException::UPDATE_DENIED);
}
$entity = new \CCrmInvoice(false);
$fields = array('UF_QUOTE_ID' => $this->entityID);
try {
$entity->Update($entityID, $fields);
} catch (Main\DB\SqlQueryException $e) {
}
$this->resultData[$entityTypeName] = $entityID;
}
return true;
}
if (!\CCrmAuthorizationHelper::CheckCreatePermission($entityTypeName, $permissions)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::CREATE_DENIED);
}
if (UserFieldSynchronizer::needForSynchronization(\CCrmOwnerType::Quote, $entityTypeID)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::NOT_SYNCHRONIZED);
}
if (!ConversionSettings::getCurrent()->isAutocreationEnabled()) {
throw new EntityConversionException(\CCrmOwnerType::Quote, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::AUTOCREATION_DISABLED);
}
if ($entityTypeID === \CCrmOwnerType::Deal && \CCrmBizProcHelper::HasAutoWorkflows($entityTypeID, \CCrmBizProcEventType::Create)) {
throw new EntityConversionException(\CCrmOwnerType::Lead, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::HAS_WORKFLOWS);
}
/** @var QuoteConversionMapper $mapper */
$mapper = $this->getMapper();
$map = self::prepareMap($entityTypeID);
$fields = $mapper->map($map);
if (empty($fields)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, $entityTypeID, EntityConversionException::TARG_DST, EntityConversionException::EMPTY_FIELDS);
}
if ($entityTypeID === \CCrmOwnerType::Deal) {
$entity = new \CCrmDeal(false);
if (!$entity->CheckFields($fields)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Deal, EntityConversionException::TARG_DST, EntityConversionException::INVALID_FIELDS, $entity->LAST_ERROR);
}
$productRows = isset($fields['PRODUCT_ROWS']) && is_array($fields['PRODUCT_ROWS']) ? $fields['PRODUCT_ROWS'] : array();
if (!empty($productRows)) {
$result = \CCrmProductRow::CalculateTotalInfo('D', 0, false, $fields, $productRows);
$fields['OPPORTUNITY'] = isset($result['OPPORTUNITY']) ? $result['OPPORTUNITY'] : 1.0;
$fields['TAX_VALUE'] = isset($result['TAX_VALUE']) ? $result['TAX_VALUE'] : 0.0;
}
$entityID = $entity->Add($fields);
if ($entityID <= 0) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Deal, EntityConversionException::TARG_DST, EntityConversionException::CREATE_FAILED, $entity->LAST_ERROR);
}
if (!empty($productRows)) {
\CCrmDeal::SaveProductRows($entityID, $productRows, false, false, false);
}
$this->resultData[\CCrmOwnerType::DealName] = $entityID;
} else {
$entity = new \CCrmInvoice(false);
if (!$entity->CheckFields($fields)) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Invoice, EntityConversionException::TARG_DST, EntityConversionException::INVALID_FIELDS, $entity->LAST_ERROR);
}
$entityID = $entity->Add($fields);
if ($entityID <= 0) {
throw new EntityConversionException(\CCrmOwnerType::Quote, \CCrmOwnerType::Invoice, EntityConversionException::TARG_DST, EntityConversionException::CREATE_FAILED, $entity->LAST_ERROR);
}
$this->resultData[\CCrmOwnerType::InvoiceName] = $entityID;
}
return true;
} elseif ($this->currentPhase === DealConversionPhase::FINALIZATION) {
$fields = array();
if (isset($this->resultData[\CCrmOwnerType::DealName])) {
$fields['DEAL_ID'] = $this->resultData[\CCrmOwnerType::DealName];
}
if (!empty($fields)) {
$entity = new \CCrmQuote(false);
$entity->Update($this->entityID, $fields);
}
return true;
}
//.........这里部分代码省略.........
示例5: setProductRows
public function setProductRows($ID, $rows)
{
$ID = intval($ID);
if ($ID <= 0) {
throw new RestException('The parameter id is invalid or not defined.');
}
if (!is_array($rows)) {
throw new RestException('The parameter rows must be array.');
}
if (!CCrmDeal::CheckUpdatePermission($ID)) {
throw new RestException('Access denied.');
}
if (!CCrmDeal::Exists($ID)) {
throw new RestException('Not found.');
}
$proxy = new CCrmProductRowRestProxy();
$actualRows = array();
$qty = count($rows);
for ($i = 0; $i < $qty; $i++) {
$row = $rows[$i];
if (!is_array($row)) {
continue;
}
$proxy->prepareForSave($row);
if (isset($row['OWNER_TYPE'])) {
unset($row['OWNER_TYPE']);
}
if (isset($row['OWNER_ID'])) {
unset($row['OWNER_ID']);
}
$actualRows[] = $row;
}
return CCrmDeal::SaveProductRows($ID, $actualRows, true, true, true);
}