Your IP : 3.147.2.112


Current Path : /var/www/axolotl/data/www/ekb.axolotls.ru/bitrix/modules/crm/lib/
Upload File :
Current File : /var/www/axolotl/data/www/ekb.axolotls.ru/bitrix/modules/crm/lib/requisite.php

<?php

namespace Bitrix\Crm;

use Bitrix\Main;
use Bitrix\Main\Entity;
use Bitrix\Main\Localization\Loc;

Loc::loadMessages(__FILE__);

class RequisiteTable extends Entity\DataManager
{
	public static function getUfId()
	{
		return 'CRM_REQUISITE';
	}

	public static function getTableName()
	{
		return 'b_crm_requisite';
	}

	public static function getMap()
	{
		return array(
			'ID' => array('data_type' => 'integer', 'primary' => true, 'autocomplete' => true),
			'ENTITY_TYPE_ID' => array('data_type' => 'integer', 'required' => true),
			'ENTITY_ID' => array('data_type' => 'integer', 'required' => true),
			'PRESET_ID' => array('data_type' => 'integer', 'required' => true, 'default_value' => 0),
			'PRESET' => array(
				'data_type' => '\\Bitrix\\Crm\\Preset',
				'reference' => array('=this.PRESET_ID' => 'ref.ID')
			),
			'DATE_CREATE' => array('data_type' => 'datetime', 'default_value' => new Main\Type\DateTime()),
			'DATE_MODIFY' => array('data_type' => 'datetime'),
			'CREATED_BY_ID' => array('data_type' => 'integer'),
			'MODIFY_BY_ID' => array('data_type' => 'integer'),
			'NAME' => array('data_type' => 'string', 'required' => true, 'validation' => array(__CLASS__, 'validateName')),
			'CODE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateCode')),
			'XML_ID' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateXmlId')),
			'ORIGINATOR_ID' => array('data_type' => 'string'),
			'ACTIVE' => array('data_type' => 'boolean', 'values' => array('N', 'Y'), 'default_value' => 'Y'),
			'SORT' => array('data_type' => 'integer', 'default_value' => 500),
			'RQ_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField150')),
			'RQ_FIRST_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField50')),
			'RQ_LAST_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField50')),
			'RQ_SECOND_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField50')),
			'RQ_COMPANY_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255')),
			'RQ_COMPANY_FULL_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField300')),
			'RQ_COMPANY_REG_DATE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField30')),
			'RQ_DIRECTOR' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField150')),
			'RQ_ACCOUNTANT' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField150')),
			'RQ_CEO_NAME' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField150')),
			'RQ_CEO_WORK_POS' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField150')),
			'RQ_ADDR' => array(
				'data_type' => 'Address',
				'reference' => array(
					'=this.ID' => 'ref.ENTITY_ID',
					'=ref.ENTITY_TYPE_ID' => array('?', \CCrmOwnerType::Requisite),
					'=ref.TYPE_ID' => array('?', EntityAddress::Primary)
				)
			),
			'RQ_CONTACT' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField150')),
			'RQ_EMAIL' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255')),
			'RQ_PHONE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField30')),
			'RQ_FAX' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField30')),
			'RQ_IDENT_DOC' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255')),
			'RQ_IDENT_DOC_SER' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField25')),
			'RQ_IDENT_DOC_NUM' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField25')),
			'RQ_IDENT_DOC_PERS_NUM' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField25')),
			'RQ_IDENT_DOC_DATE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField30')),
			'RQ_IDENT_DOC_ISSUED_BY' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255')),
			'RQ_IDENT_DOC_DEP_CODE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField25')),
			'RQ_INN' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField15')),
			'RQ_KPP' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField9')),
			'RQ_USRLE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField20')),
			'RQ_IFNS' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255')),
			'RQ_OGRN' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField13')),
			'RQ_OGRNIP' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField15')),
			'RQ_OKPO' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField12')),
			'RQ_OKTMO' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField11')),
			'RQ_OKVED' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255')),
			'RQ_EDRPOU' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField10')),
			'RQ_DRFO' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField10')),
			'RQ_KBE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField2')),
			'RQ_IIN' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField12')),
			'RQ_BIN' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField12')),
			'RQ_ST_CERT_SER' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField10')),
			'RQ_ST_CERT_NUM' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField15')),
			'RQ_ST_CERT_DATE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField30')),
			'RQ_VAT_PAYER' => array('data_type' => 'boolean', 'values' => array('N', 'Y'), 'default_value' => 'N'),
			'RQ_VAT_ID' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField20')),
			'RQ_VAT_CERT_SER' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField10')),
			'RQ_VAT_CERT_NUM' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField15')),
			'RQ_VAT_CERT_DATE' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField30')),
			'RQ_RESIDENCE_COUNTRY' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField128')),
			'RQ_BASE_DOC' => array('data_type' => 'string', 'validation' => array(__CLASS__, 'validateRqStringField255'))
		);
	}

	/**
	 * Returns validators for NAME field.
	 *
	 * @return array
	 */
	public static function validateName()
	{
		return array(
			new Main\Entity\Validator\Length(null, 255)
		);
	}

	/**
	 * Returns validators for CODE field.
	 *
	 * @return array
	 */
	public static function validateCode()
	{
		return array(
			new Main\Entity\Validator\Length(null, 45)
		);
	}

	/**
	 * Returns validators for XML_ID field.
	 *
	 * @return array
	 */
	public static function validateXmlId()
	{
		return array(
			new Main\Entity\Validator\Length(null, 45)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 300 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField300()
	{
		return array(
			new Main\Entity\Validator\Length(null, 300)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 255 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField255()
	{
		return array(
			new Main\Entity\Validator\Length(null, 255)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 150 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField150()
	{
		return array(
			new Main\Entity\Validator\Length(null, 150)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 128 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField128()
	{
		return array(
			new Main\Entity\Validator\Length(null, 128)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 50 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField50()
	{
		return array(
			new Main\Entity\Validator\Length(null, 50)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 30 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField30()
	{
		return array(
			new Main\Entity\Validator\Length(null, 30)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 25 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField25()
	{
		return array(
			new Main\Entity\Validator\Length(null, 25)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 20 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField20()
	{
		return array(
			new Main\Entity\Validator\Length(null, 20)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 15 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField15()
	{
		return array(
			new Main\Entity\Validator\Length(null, 15)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 13 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField13()
	{
		return array(
			new Main\Entity\Validator\Length(null, 13)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 12 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField12()
	{
		return array(
			new Main\Entity\Validator\Length(null, 12)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 11 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField11()
	{
		return array(
			new Main\Entity\Validator\Length(null, 11)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 10 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField10()
	{
		return array(
			new Main\Entity\Validator\Length(null, 10)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 9 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField9()
	{
		return array(
			new Main\Entity\Validator\Length(null, 9)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 8 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField8()
	{
		return array(
			new Main\Entity\Validator\Length(null, 8)
		);
	}

	/**
	 * Returns validators for RQ_... field with max length 2 chars.
	 *
	 * @return array
	 */
	public static function validateRqStringField2()
	{
		return array(
			new Main\Entity\Validator\Length(null, 2)
		);
	}

	public static function getCountByFilter($filter = array())
	{
		$params = array(
			'runtime' => array(
				'CNT' => array(
					'data_type' => 'integer',
					'expression' => array('COUNT(*)')
				)
			),
			'select' => array('CNT')
		);

		if(is_array($filter))
			$params['filter'] = $filter;

		$res = static::getList($params)->fetch();

		return intval($res['CNT']);
	}
}