/** @deprecated */ public static function migrateToBusinessValues() { $allPersonTypes = BusinessValue::getPersonTypes(true); Bitrix\Main\Application::getConnection()->query('DELETE FROM b_sale_bizval_code_1C'); $result = Bitrix\Main\Application::getConnection()->query('SELECT * FROM b_sale_export'); while ($row = $result->fetch()) { if (!(($map1C = unserialize($row['VARS'])) && is_array($map1C))) { continue; } $personTypeId = $row['PERSON_TYPE_ID']; $domain = $map1C['IS_FIZ'] === 'Y' ? BusinessValue::INDIVIDUAL_DOMAIN : BusinessValue::ENTITY_DOMAIN; unset($map1C['IS_FIZ']); if (!isset($allPersonTypes[$personTypeId])) { self::logError($row['ID'], 'Undefined person type "' . $personTypeId . '"'); continue; } elseif (isset($allPersonTypes[$personTypeId]['DOMAIN'])) { if ($allPersonTypes[$personTypeId]['DOMAIN'] !== $domain) { self::logError($row['ID'], 'Person type "' . $personTypeId . '" domain is "' . $allPersonTypes[$personTypeId]['DOMAIN'] . '", but in 1C is "' . $domain . '"'); continue; } } else { $r = Bitrix\Sale\Internals\BusinessValuePersonDomainTable::add(array('PERSON_TYPE_ID' => $personTypeId, 'DOMAIN' => $domain)); if ($r->isSuccess()) { $allPersonTypes[$personTypeId]['DOMAIN'] = $domain; BusinessValue::getPersonTypes(true, $allPersonTypes); } else { self::logError($row['ID'], 'Unable to set person type "' . $personTypeId . '" domain', $r); continue; } } self::setMap($personTypeId, $map1C, 'Migrate:' . $personTypeId . ':' . $row['ID']); } }