Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Параметр учетной записи пользователя

00 голосов
9
Нужно узнать значение параметра пользователя. GetParam работает с ограниченным набором параметров:

* AUTHORIZED - если пользователь авторизован, то "Y"
* USER_ID - ID пользователя
* LOGIN - логин
* EMAIL - E-mail
* NAME - полное имя
* GROUPS - массив групп, которым принадлежит пользователь
* ADMIN - true, если пользователь принадлежит группе администраторов
* PASSWORD_HASH - хэш от пароля пользователя (md5)
* FIRST_NAME - имя пользователя
* LAST_NAME - фамилия пользователя

Мне же нужно извлечь из $USER пользовательский параметр, т.е. не стандартный параметр, а созданный вручную (Настройки - Настройки Продукта - Пользовательские поля).
Помогите, пожалуйста!
спросил 12 Апр, 13 от Kiuas (640 баллов)

9 Ответы

00 голосов
GetList() - то, что мне нужно, Спасибо!
ответил 12 Апр, 13 от Kiuas (640 баллов)
00 голосов
GetByID() или GetList().
Если не подойдет GetByID, то в GetList 4ый параметр для вас.
ответил 12 Апр, 13 от Almarea (3,760 баллов)
00 голосов
Сделал следующее:
Код
global $USER;
$USR_ID = $USER->GetParam("USER_ID");
$USRcity = CUser::GetList(($by="ID"), ($order="desc"),array("ID"=>$USR_ID) ,array("SELECT"=>array("UF_*")));


Получил не то, что ожидал увидеть:

Код
CDBResult Object ( [result] => Resource id #158 [arResult] => [bNavStart] => [bShowAll] => [NavNum] => [NavPageCount] => [NavPageNomer] => [NavPageSize] => [NavShowAll] => [NavRecordCount] => [bFirstPrintNav] => 1 [PAGEN] => [SIZEN] => [add_anchor] => [bPostNavigation] => [bFromArray] => [bFromLimited] => [sSessInitAdd] => [nPageWindow] => 11 [nSelectedCount] => [arGetNextCache] => [bDescPageNumbering] => [arUserMultyFields] => [SqlTraceIndex] => [is_filtered] => 1 ) 


Получил так: print_r($USRcity);
ответил 13 Июнь, 13 от Kiuas (640 баллов)
00 голосов
:!:
ответил 16 Сен, 13 от Kiuas (640 баллов)
00 голосов
Цитата
Евгений Райдер пишет:
$USR_ID = $USER->GetParam("USER_ID");
Замените на
Код
$USER->GetID()
ответил 14 Дек, 13 от Almarea (3,760 баллов)
00 голосов
Результат остался неизменным. Массив пуст.

Код
CDBResult Object ( [result] => Resource id #51 [arResult] => [bNavStart] => [bShowAll] => [NavNum] => [NavPageCount] => [NavPageNomer] => [NavPageSize] => [NavShowAll] => [NavRecordCount] => [bFirstPrintNav] => 1 [PAGEN] => [SIZEN] => [add_anchor] => [bPostNavigation] => [bFromArray] => [bFromLimited] => [sSessInitAdd] => [nPageWindow] => 11 [nSelectedCount] => [arGetNextCache] => [bDescPageNumbering] => [arUserMultyFields] => [SqlTraceIndex] => [is_filtered] => 1 ) 
ответил 29 Март, 14 от Kiuas (640 баллов)
00 голосов
Может быть
Цитата
$data = $USRcity->GetNext();
echo "<pre>", print_r($data, true), "</pre>";
поможет?
ответил 22 Июль, 14 от sickmind (4,660 баллов)
00 голосов
весь скрипт в студию
ответил 23 Ноя, 14 от Almarea (3,760 баллов)
00 голосов
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
global $USER;
$USR_ID = $USER->GetID();
$USRcity = CUser::GetList(($by="ID"), ($order="asc"),array("ID"=>$USR_ID) ,array("SELECT"=>array("UF_*")));
?>
<table border="0" cellspacing="0" cellpadding="5" width="100%">
<tr>
   <td valign="top" width="60%" align="right">
      <input type="submit" name="contButton" value="<?= GetMessage("SALE_CONTINUE")?> &gt;&gt;">
   </td>
   <td valign="top" width="5%" rowspan="3">&nbsp;</td>
   <td valign="top" width="35%" rowspan="3">
      <?echo GetMessage("STOF_PRIVATE_NOTES")?>
   </td>
</tr>
<tr>
   <td valign="top" width="60%">
      <b><?echo GetMessage("STOF_PAYMENT_WAY")?></b><br /><br />
      <?
      if ($arResult["PAY_FROM_ACCOUNT"]=="Y")
      {
         ?>
         <input type="hidden" name="PAY_CURRENT_ACCOUNT" value="N">
         <input type="checkbox" name="PAY_CURRENT_ACCOUNT" id="PAY_CURRENT_ACCOUNT" value="Y"<?if($arResult["PAY_CURRENT_ACCOUNT"]!="N") echo " checked";?>> <label for="PAY_CURRENT_ACCOUNT"><b><?echo GetMessage("STOF_PAY_FROM_ACCOUNT")?></b></label><br />
         <?=GetMessage("STOF_ACCOUNT_HINT1")?> <b><?=$arResult["CURRENT_BUDGET_FORMATED"]?></b> <?echo GetMessage("STOF_ACCOUNT_HINT2")?>
         <br /><br />
         <?
      }
      ?>
      <?
      if(count($arResult["PAY_SYSTEM"])>0)
      {
         ?>
         <table class="sale_order_full_table">
            <tr>
               <td colspan="2">
                  
                  <?echo GetMessage("STOF_PAYMENT_HINT")?><br /><br />
                  
               </td>
            </tr>
                               <? print_r($USRcity); ?>
                                <br>
            <? 
            foreach($arResult["PAY_SYSTEM"] as $arPaySystem)
            {
               ?>
               <tr>
                  <td valign="top" width="0%">
                     <input type="radio" id="ID_PAY_SYSTEM_ID_<?= $arPaySystem["ID"] ?>" name="PAY_SYSTEM_ID" value="<?= $arPaySystem["ID"] ?>"<?if ($arPaySystem["CHECKED"]=="Y") echo " checked";?>>
                  </td>
                  <td valign="top" width="100%">
                     <label for="ID_PAY_SYSTEM_ID_<?= $arPaySystem["ID"] ?>">
                     <b><?= $arPaySystem["PSA_NAME"] ?></b><br />
                     <?
                     if (strlen($arPaySystem["DESCRIPTION"])>0)
                     {
                        ?>
                        <?=$arPaySystem["DESCRIPTION"]?>
                        <br />
                        <?
                     }
                     ?>
                     </label>
                     
             &
ответил 19 Март, 15 от Kiuas (640 баллов)

Похожие вопросы

0 голосов
5 ответов
спросил 21 Май, 13 от zapekana (180 баллов)
0 голосов
2 ответов
+1 голос
0 ответов
0 голосов
3 ответов