static function GetFieldsInfo()
{
if(!self::$FIELD_INFOS)
{
self::$FIELD_INFOS = array(
'ID' => array(
'TYPE' => 'integer',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::ReadOnly)
),
'QUOTE_NUMBER' => array(
'TYPE' => 'string',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::ReadOnly)
),
'TITLE' => array(
'TYPE' => 'string',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Required)
),
'STATUS_ID' => array(
'TYPE' => 'crm_status',
'CRM_STATUS_TYPE' => 'QUOTE_STATUS'
),
'CURRENCY_ID' => array(
'TYPE' => 'crm_currency'
),
'OPPORTUNITY' => array(
'TYPE' => 'double'
),
'TAX_VALUE' => array(
'TYPE' => 'double'
),
'EXCH_RATE' => array(
'TYPE' => 'double',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Hidden)
),
'ACCOUNT_CURRENCY_ID' => array(
'TYPE' => 'string',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Hidden)
),
'OPPORTUNITY_ACCOUNT' => array(
'TYPE' => 'double',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Hidden)
),
'TAX_VALUE_ACCOUNT' => array(
'TYPE' => 'double',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Hidden)
),
'COMPANY_ID' => array(
'TYPE' => 'crm_company'
),
'MYCOMPANY_ID' => array(
'TYPE' => 'crm_company'
),
'CONTACT_ID' => array(
'TYPE' => 'crm_contact',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Deprecated)
),
'CONTACT_IDS' => array(
'TYPE' => 'crm_contact',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::Multiple)
),
'BEGINDATE' => array(
'TYPE' => 'date'
),
'CLOSEDATE' => array(
'TYPE' => 'date'
),
'ACTUAL_DATE' => array(
'TYPE' => 'date'
),
'OPENED' => array(
'TYPE' => 'char'
),
'CLOSED' => array(
'TYPE' => 'char'
),
'COMMENTS' => array(
'TYPE' => 'string',
'VALUE_TYPE' => 'html',
),
'CONTENT' => array(
'TYPE' => 'string'
),
'TERMS' => array(
'TYPE' => 'string'
),
'CLIENT_TITLE' => array(
'TYPE' => 'string'
),
'CLIENT_ADDR' => array(
'TYPE' => 'string'
),
'CLIENT_CONTACT' => array(
'TYPE' => 'string'
),
'CLIENT_EMAIL' => array(
'TYPE' => 'string'
),
'CLIENT_PHONE' => array(
'TYPE' => 'string'
),
'CLIENT_TP_ID' => array(
'TYPE' => 'string'
),
'CLIENT_TPA_ID' => array(
'TYPE' => 'string'
),
'ASSIGNED_BY_ID' => array(
'TYPE' => 'user'
),
'CREATED_BY_ID' => array(
'TYPE' => 'user',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::ReadOnly)
),
'MODIFY_BY_ID' => array(
'TYPE' => 'user',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::ReadOnly)
),
'DATE_CREATE' => array(
'TYPE' => 'datetime',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::ReadOnly)
),
'DATE_MODIFY' => array(
'TYPE' => 'datetime',
'ATTRIBUTES' => array(CCrmFieldInfoAttr::ReadOnly)
),
'LEAD_ID' => array(
'TYPE' => 'crm_lead'
),
'DEAL_ID' => array(
'TYPE' => 'crm_deal'
),
'PERSON_TYPE_ID' => array(
'TYPE' => 'integer'
),
'LOCATION_ID' => array(
'TYPE' => 'location'
)
);
// add utm fields
self::$FIELD_INFOS = self::$FIELD_INFOS + UtmTable::getUtmFieldsInfo();
self::$FIELD_INFOS += Crm\Service\Container::getInstance()->getParentFieldManager()->getParentFieldsInfo(\CCrmOwnerType::Quote);
self::$FIELD_INFOS += self::getLastActivityAdapter()->getFieldsInfo();
}
return self::$FIELD_INFOS;
}