コード例 #1
0
ファイル: export.php プロジェクト: akniyev/itprom_dobrohost
 /** @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']);
     }
 }