Beispiel #1
0
 /**
  * <p>Функция обновляет параметры местоположения с кодом ID в соответствии с параметрами из массива arFields.</p>
  *
  *
  *
  *
  * @param int $ID  Код местоположения. </h
  *
  *
  *
  * @param array $arFields  Ассоциативный массив параметров местоположения с ключами: <ul> <li>
  * <b>SORT</b> - индекс сортировки; </li> <li> <b>COUNTRY_ID</b> - код страны;</li> <li>
  * <b>REGION_ID</b> - код региона;</li> <li> <b>CITY_ID</b> - код города (если такой город
  * уже есть, иначе код должен быть нулем, и должен быть заполнен ключ
  * CITY).</li> </ul>
  *
  *
  *
  * @return int <p>Возвращается код измененного местоположения или <i>false</i> в
  * случае ошибки.</p> <br><br>
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__updatelocation.3c5a6205.php
  * @author Bitrix
  */
 public static function UpdateLocation($ID, $arFields)
 {
     global $DB;
     $ID = intval($ID);
     if ($ID <= 0 || !CSaleLocation::LocationCheckFields("UPDATE", $arFields)) {
         return false;
     }
     foreach (GetModuleEvents("sale", "OnBeforeLocationUpdate", true) as $arEvent) {
         if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
             return false;
         }
     }
     $strUpdate = $DB->PrepareUpdate("b_sale_location", $arFields);
     $strSql = "UPDATE b_sale_location SET " . $strUpdate . " WHERE ID = " . $ID . "";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     foreach (GetModuleEvents("sale", "OnLocationUpdate", true) as $arEvent) {
         ExecuteModuleEventEx($arEvent, array($ID, $arFields));
     }
     return $ID;
 }
Beispiel #2
0
 /**
  * <p>Метод обновляет параметры местоположения с кодом ID в соответствии с параметрами из массива arFields. Метод динамичный.</p>
  *
  *
  * @param int $ID  Код местоположения. </h
  *
  * @param array $arFields  Ассоциативный массив параметров местоположения с ключами: <ul> <li>
  * <b>SORT</b> - индекс сортировки; </li> <li> <b>COUNTRY_ID</b> - код страны;</li> <li>
  * <b>REGION_ID</b> - код региона;</li> <li> <b>CITY_ID</b> - код города (если такой город
  * уже есть, иначе код должен быть нулем, и должен быть заполнен ключ
  * CITY).</li> </ul>
  *
  * @return int <p>Возвращается код измененного местоположения или <i>false</i> в
  * случае ошибки.</p> <br><br>
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__updatelocation.3c5a6205.php
  * @author Bitrix
  */
 public static function UpdateLocation($ID, $arFields)
 {
     // it seems that method is okay... we probably want to move region and city as it set in $arFields, but then we`ll have to adjsut the rest of locations
     global $DB;
     $ID = intval($ID);
     if ($ID <= 0 || !CSaleLocation::LocationCheckFields("UPDATE", $arFields)) {
         return false;
     }
     foreach (GetModuleEvents("sale", "OnBeforeLocationUpdate", true) as $arEvent) {
         if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
             return false;
         }
     }
     $strUpdate = $DB->PrepareUpdate("b_sale_location", $arFields);
     $strSql = "UPDATE b_sale_location SET " . $strUpdate . " WHERE ID = " . $ID . "";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     foreach (GetModuleEvents("sale", "OnLocationUpdate", true) as $arEvent) {
         ExecuteModuleEventEx($arEvent, array($ID, $arFields));
     }
     return $ID;
 }
Beispiel #3
0
	function AddLocation($arFields)
	{
		global $DB;

		if (!CSaleLocation::LocationCheckFields("ADD", $arFields))
			return false;

		$db_events = GetModuleEvents("sale", "OnBeforeLocationAdd");
		while ($arEvent = $db_events->Fetch())
			if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
				return false;

		$arInsert = $DB->PrepareInsert("b_sale_location", $arFields);
		$strSql =
			"INSERT INTO b_sale_location(".$arInsert[0].") ".
			"VALUES(".$arInsert[1].")";
		$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

		$ID = IntVal($DB->LastID());

		$events = GetModuleEvents("sale", "OnLocationAdd");
		while ($arEvent = $events->Fetch())
			ExecuteModuleEventEx($arEvent, array($ID, $arFields));

		return $ID;
	}
Beispiel #4
0
 /**
  * <p>Метод добавляет новое местоположение на основании параметров массива <i> arFields</i>. Метод динамичный.</p> <p class="note"><b>Внимание!</b> Начиная с версии 14.10.0 метод не обновляется и обратная совместимость не поддерживается. Рекомендуется использовать методы нового ядра D7. Примеры работы с новым ядром можно увидеть <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&amp;LESSON_ID=3570" >здесь</a>.</p>
  *
  *
  * @param array $arFields  Ассоциативный массив параметров местоположения с ключами: <ul> <li>
  * <b>SORT</b> - индекс сортировки; </li> <li> <b>COUNTRY_ID</b> - код страны;</li> <li>
  * <b>REGION_ID</b> - код региона;</li> <li> <b>CITY_ID</b> - код города.</li> </ul>
  *
  * @return int <p>Возвращается код добавленного местоположения или <i>false</i> у
  * случае ошибки.</p> <a name="examples"></a>
  *
  * <h4>Example</h4> 
  * <pre>
  * Параметры вызова
  * </h
  * <tr>
  * <th width="15%">Параметр</th>
  * <th>Описание</th>
  * </tr>
  * <tr>
  * <td>arFields</td>
  * <td>Ассоциативный массив параметров местоположения с ключами:
  * <ul>
  * <li>
  * <b>SORT</b> - индекс сортировки; </li>
  * 	<li>
  * <b>COUNTRY_ID</b> - код страны;</li>
  * 	<li>
  * <b>REGION_ID</b> - код региона;</li>
  * 	<li>
  * <b>CITY_ID</b> - код города.</li>
  * </ul>
  * </td>
  * </tr>
  * 
  * 
  * 
  * &lt;?
  * // Добавим местоположение из страны с кодом 2 и города с кодом 10
  * $ID = CSaleLocation::AddLocation(
  *       array(
  *          "COUNTRY_ID" =&gt; 2,
  *          "CITY_ID" =&gt; 10
  *          )
  *       );
  * ?&gt;
  * </pre>
  *
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalelocation/csalelocation__addlocation.21fe0465.php
  * @author Bitrix
  */
 public static function AddLocation($arFields)
 {
     global $DB;
     if (!CSaleLocation::LocationCheckFields("ADD", $arFields)) {
         return false;
     }
     if (self::isLocationProMigrated()) {
         return self::RebindLocationTriplet($arFields);
     }
     // make IX_B_SALE_LOC_CODE feel happy
     $arFields['CODE'] = 'randstr' . rand(999, 99999);
     foreach (GetModuleEvents('sale', 'OnBeforeLocationAdd', true) as $arEvent) {
         if (ExecuteModuleEventEx($arEvent, array($arFields)) === false) {
             return false;
         }
     }
     $arInsert = $DB->PrepareInsert("b_sale_location", $arFields);
     $strSql = "INSERT INTO b_sale_location(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     $ID = IntVal($DB->LastID());
     // make IX_B_SALE_LOC_CODE feel happy
     Location\LocationTable::update($ID, array('CODE' => $ID));
     foreach (GetModuleEvents('sale', 'OnLocationAdd', true) as $arEvent) {
         ExecuteModuleEventEx($arEvent, array($ID, $arFields));
     }
     return $ID;
 }
	function AddLocation($arFields)
	{
		global $DB;

		if (!CSaleLocation::LocationCheckFields("ADD", $arFields))
			return false;

		// make IX_B_SALE_LOC_CODE feel happy
		$arFields['CODE'] = 'randstr'.rand(999, 99999);

		$db_events = GetModuleEvents("sale", "OnBeforeLocationAdd");
		while ($arEvent = $db_events->Fetch())
			if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
				return false;

		$arInsert = $DB->PrepareInsert("b_sale_location", $arFields);
		$strSql =
			"INSERT INTO b_sale_location(".$arInsert[0].") ".
			"VALUES(".$arInsert[1].")";
		$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

		$ID = IntVal($DB->LastID());

		// make IX_B_SALE_LOC_CODE feel happy
		Location\LocationTable::update($ID, array('CODE' => $ID));

		$events = GetModuleEvents("sale", "OnLocationAdd");
		while ($arEvent = $events->Fetch())
			ExecuteModuleEventEx($arEvent, array($ID, $arFields));

		return $ID;
	}