public static function registerEntityStatistics($entityTypeID, $entityID, array $entityFields)
 {
     $lastChanged = 0;
     $completeness = 0;
     if ($entityTypeID === \CCrmOwnerType::Contact) {
         if (isset($entityFields['DATE_MODIFY']) && $entityFields['DATE_MODIFY'] !== '') {
             $lastChanged = MakeTimeStamp($entityFields['DATE_MODIFY']);
         }
         if (isset($entityFields['NAME']) && $entityFields['NAME'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['SECOND_NAME']) && $entityFields['SECOND_NAME'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['LAST_NAME']) && $entityFields['LAST_NAME'] !== '') {
             $completeness++;
         }
     } elseif ($entityTypeID === \CCrmOwnerType::Company) {
         if (isset($entityFields['DATE_MODIFY']) && $entityFields['DATE_MODIFY'] !== '') {
             $lastChanged = MakeTimeStamp($entityFields['DATE_MODIFY']);
         }
         if (isset($entityFields['TITLE']) && $entityFields['TITLE'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['ADDRESS']) && $entityFields['ADDRESS'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['ADDRESS_LEGAL']) && $entityFields['ADDRESS_LEGAL'] !== '') {
             $completeness++;
         }
     } elseif ($entityTypeID === \CCrmOwnerType::Lead) {
         if (isset($entityFields['DATE_MODIFY']) && $entityFields['DATE_MODIFY'] !== '') {
             $lastChanged = MakeTimeStamp($entityFields['DATE_MODIFY']);
         }
         if (isset($entityFields['TITLE']) && $entityFields['TITLE'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['COMPANY_TITLE']) && $entityFields['COMPANY_TITLE'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['NAME']) && $entityFields['NAME'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['SECOND_NAME']) && $entityFields['SECOND_NAME'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['LAST_NAME']) && $entityFields['LAST_NAME'] !== '') {
             $completeness++;
         }
         if (isset($entityFields['ADDRESS']) && $entityFields['ADDRESS'] !== '') {
             $completeness++;
         }
     } else {
         throw new Main\NotSupportedException('Entity type: ' . \CCrmOwnerType::ResolveName($entityTypeID) . ' is not supported in current context');
     }
     if ($lastChanged <= 0) {
         $lastChanged = time() + \CTimeZone::GetOffset();
     }
     $completeness += count(DuplicateCommunicationCriterion::getRegisteredTypes($entityTypeID, $entityID));
     Entity\DuplicateEntityStatisticsTable::upsert(array('ENTITY_TYPE_ID' => $entityTypeID, 'ENTITY_ID' => $entityID, 'RANKING_DATA' => serialize(array('LAST_CHANGED' => $lastChanged, 'COMPLETENESS' => $completeness))));
 }