- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/businessvalue.php
- Класс: BitrixSaleBusinessValue
- Вызов: BusinessValue::getConsumerCodePersonMapping
static function getConsumerCodePersonMapping()
{
if (! self::$consumerCodePersonMapping)
{
$result = BusinessValueTable::getList(array(
'select' => array('CODE_KEY', 'CONSUMER_KEY', 'PERSON_TYPE_ID', 'PROVIDER_KEY', 'PROVIDER_VALUE'),
// !!! if filter is set, than setMapping must evaluate personTypeId's for codes, otherwise it will throw duplicate error!!!
//'filter' => array('=PERSON_TYPE_ID' => array_merge(array(BusinessValueTable::COMMON_PERSON_TYPE_ID), array_keys(self::getPersonTypes())),
));
while ($row = $result->fetch())
{
$row['CODE_KEY'] = ToUpper($row['CODE_KEY']);
// TODO delete mappings for non existent code:consumer:person from db
// TODO optimize memory usage $consumerCodePersonMapping >> $personConsumerCodeMapping
self::$consumerCodePersonMapping[$row['CONSUMER_KEY']][$row['CODE_KEY']][$row['PERSON_TYPE_ID']] = array(
'PROVIDER_KEY' => $row['PROVIDER_KEY'],
'PROVIDER_VALUE' => $row['PROVIDER_VALUE'],
);
}
}
return self::$consumerCodePersonMapping;
}