<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0">
 <channel>
	<title>Комментарии в блоге "Разработка под &quot;Bitrix Framework&quot;" на "Изменяем пользовательский интерфейс коробочного Битрикс24"</title>
	<description>Комментарии в блоге "Разработка под &quot;Bitrix Framework&quot;" на "Изменяем пользовательский интерфейс коробочного Битрикс24"</description>
	<link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php</link>
	<language>ru</language>
	<docs>http://backend.userland.com/rss2</docs>
	<pubDate>Tue, 21 Apr 2026 22:08:49 +0300</pubDate>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Murodjon Toshpulotov</title>
      <description><![CDATA[Всем привет!<br /><br />Подскажи пожалуйста, где я тут допускаю ошибку?<br /><br />Хочу создать костомное тип поля, но при создании в админке тип поля не отображается, при этом ошибка тоже нету<br /><br />&lt;?php<br />use Bitrix\Main\EventManager;<br />use Bitrix\Main\UI\Extension;<br />use Bitrix\Main\UserField\TypeBase;<br />Extension::load("ui.buttons";);<br /><br /><br />class MyUserType extends TypeBase<br />{<br /> &nbsp; &nbsp;const USER_TYPE_ID = 'myusertype';<br /><br /> &nbsp; &nbsp;public static function GetUserTypeDescription()<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; &nbsp;return &#91;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'USER_TYPE_ID' =&gt; static::USER_TYPE_ID,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'CLASS_NAME' =&gt; __CLASS__,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'DESCRIPTION' =&gt; 'Кастомное поле',<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'BASE_TYPE' =&gt; \CUserTypeManager::BASE_TYPE_STRING,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'EDIT_CALLBACK' =&gt; &#91;__CLASS__, 'GetPublicEdit'&#93;,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'VIEW_CALLBACK' =&gt; &#91;__CLASS__, 'GetPublicView'&#93;,<br /> &nbsp; &nbsp; &nbsp; &nbsp;&#93;;<br /> &nbsp; &nbsp;}<br /><br /> &nbsp; &nbsp;public static function GetDBColumnType($arUserField)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; &nbsp;global $DB;<br /> &nbsp; &nbsp; &nbsp; &nbsp;switch(strtolower($DB-&gt;type))<br /> &nbsp; &nbsp; &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case "mysql":<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return "text";<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case "oracle":<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return "varchar2(2000 char)";<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case "mssql":<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return "varchar(2000)";<br /> &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;}<br /><br /> &nbsp; &nbsp;public static function GetPublicView($arUserField, $arAdditionalParameters = &#91;&#93;)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; &nbsp;Extension::load('ui.buttons';);<br /> &nbsp; &nbsp; &nbsp; &nbsp;return '<noindex><a href="http://#" target="_blank" rel="nofollow" >Button From Custom Field</a></noindex>';<br /> &nbsp; &nbsp;}<br /><br /> &nbsp; &nbsp;public static function GetPublicEdit($arUserField, $arAdditionalParameters = &#91;&#93;)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; &nbsp;Extension::load('ui.buttons';);<br /> &nbsp; &nbsp; &nbsp; &nbsp;$name = static::getFieldName($arUserField, $arAdditionalParameters);<br /> &nbsp; &nbsp; &nbsp; &nbsp;return '&lt;input type="hidden" name="' . $name . '" value="1"/&gt;<noindex><a href="http://#" target="_blank" rel="nofollow" >Button From Custom Field</a></noindex>';<br /> &nbsp; &nbsp;}<br />}<br /><br />$eventManager = EventManager::getInstance();<br />$eventManager-&gt;addEventHandlerCompatible('main', 'OnUserTypeBuildList', &#91;'MyUserType', 'GetUserTypeDescription'&#93;);]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=131872#com131872</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=131872#com131872</guid>
      <pubDate>Mon, 16 Oct 2023 11:40:21 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Михаил Ливач</title>
      <description><![CDATA[Актуальная информация по пользовательским полям <noindex><a href="https://dev.1c-bitrix.ru/api_d7/bitrix/main/userfield/introduction.php" target="_blank" rel="nofollow" >здесь</a></noindex>.<br /><br />В документации есть такой пассаж: <br /><br />====quote====<br /><br /><br />Все uf-классы должны являться наследниками класса BaseType и располагаться по пути &lt;modulename&gt;/lib/usefield/types/&lt;classname&gt;/ соответствующего модуля, например, /main/lib/userfield/types/stringtype.<br /><br /><br />=============<br />Это, разумеется, чушь - наследоваться можно и от производных классов, а размещать класс где угодно - лишь бы при отработке события main:onUserTypeBuildList класс был виден системе]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=131466#com131466</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=131466#com131466</guid>
      <pubDate>Wed, 05 Jul 2023 10:44:06 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Артём Евсюков</title>
      <description><![CDATA[Класс TypeBase помечен как @deprecated<br />Инструкция больше не актуальна?]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=131274#com131274</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=131274#com131274</guid>
      <pubDate>Fri, 19 May 2023 14:00:02 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Денис Максимов</title>
      <description><![CDATA[<b>3. Типы пользовательских полей</b><br />Всё работает.<br />Из того что отсутствует в видео:<br />Сначала поле нужно выбрать - через кнопочку &quot;Выбрать поле&quot; и только потом оно будет отображаться в карточке.<br /><br />Вот что у меня в итоге получилось:<br />
====code====
<pre>&#60;?php
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;use Bitrix&#92;Main&#92;UserField&#92;TypeBase;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;class MyUserType extends TypeBase
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;const USER_TYPE_ID = 'myusertyp5';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//метод должен вернуть ассоциативный массив с человекопонятным именем типа поля (DESCRIPTION) и базовым типом (BASE_TYPE);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function GetUserTypeDescription ()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Bitrix&#92;Main&#92;Diag&#92;Debug::writeToFile("GetUserTypeDescription", $varName = "arFields", $fileName = "/logText.log");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return array(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'USER_TYPE_ID' =&#62; static::USER_TYPE_ID,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'CLASS_NAME' =&#62; __CLASS__,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'DESCRIPTION' =&#62; 'Кастомное ТЕСТ 5',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'BASE_TYPE' =&#62; &#92;CUserTypeManager::BASE_TYPE_STRING,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'EDIT_CALLBACK' =&#62; array(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__CLASS__,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'GetPublicEdit'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'VIEW_CALLBACK' =&#62; array(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__CLASS__,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'GetPublicView'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//метод возвращает MySQL тип колонки, в которой будет храниться значение одиночного поля. Множественные поля всегда хранятся как text.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function GetDBColumnType ($arUserField)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global $DB;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bitrix&#92;Main&#92;Diag&#92;Debug::writeToFile("GetDBColumnType", $varName = "arFields", $fileName = "/logText.log");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch (strtolower($DB-&#62;type))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "mysql":
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "text";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "oracle":
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "varchar2(2000 char)";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case "mssql":
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "varchar(2000)";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static function GetPublicView ($arUserField, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arAdditionalParameters = array())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bitrix&#92;Main&#92;Diag&#92;Debug::writeToFile("GetPublicView", $varName = "arFields", $fileName = "/logText.log");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitrix&#92;Main&#92;UI&#92;Extension::load('ui.buttons');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '&#60;a href="#" class="ui-btn ui-btn-danger"&#62;Button From Custom Field&#60;/a&#62;';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static function GetPublicEdit ($arUserField, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arAdditionalParameters = array())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bitrix&#92;Main&#92;Diag&#92;Debug::writeToFile("GetPublicEdit", $varName = "arFields", $fileName = "/logText.log");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bitrix&#92;Main&#92;UI&#92;Extension::load('ui.buttons');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$name = static::getFieldName($arUserField, $arAdditionalParameters);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '&#60;input type="hidden" name="' . $name . '" value="1"/&#62;' .'&#60;a href="#" class="ui-btn ui-btn-success"&#62;Button From Custom Field&#60;/a&#62;';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;
?&#62;
 </pre>
=============]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=130244#com130244</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=130244#com130244</guid>
      <pubDate>Thu, 06 Oct 2022 18:14:10 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Trionikl SR</title>
      <description><![CDATA[Пример из <br /><b>3. Типы пользовательских полей</b><br />не работает, пишет:<br /><b>Class 'TypeBase' not found (0)</b><br /> <br />надо сверху<br />
====code====
<pre> use Bitrix&#92;Main&#92;UserField&#92;TypeBase;
</pre>
=============
написать, чтобы работало<br />Но кнопки красная и зелёная не выводятся в карточке]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=130240#com130240</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=130240#com130240</guid>
      <pubDate>Thu, 06 Oct 2022 15:34:13 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Денис Володько</title>
      <description><![CDATA[Как решилась проблема?]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129840#com129840</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129840#com129840</guid>
      <pubDate>Fri, 03 Jun 2022 18:15:32 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Денис Володько</title>
      <description><![CDATA[Привет всем! Почему при выполнении варианта 3 не появляется кнопка. Поле есть и написано - не заполнено. Как вывести кнопку чтобы сразу показывалась???<br />При этом при клике на редактирование кнопка появляется.]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129838#com129838</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129838#com129838</guid>
      <pubDate>Fri, 03 Jun 2022 17:58:12 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Артем Кольца</title>
      <description><![CDATA[Cогласен, такая же проблема!]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129654#com129654</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129654#com129654</guid>
      <pubDate>Wed, 13 Apr 2022 13:27:07 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Артем Кольца</title>
      <description><![CDATA[Добрый день, а как задать валидатор для поля в сделке CRM? <br />Необходимо ограничение количества цифр и разделение слэшом.]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129652#com129652</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=129652#com129652</guid>
      <pubDate>Wed, 13 Apr 2022 13:25:50 +0300</pubDate>
    </item>

    <item>
      <title>Комментарии на "Изменяем пользовательский интерфейс коробочного Битрикс24" от Алексей Котов</title>
      <description><![CDATA[А как добавить кнопку с выпадающим меню?!]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=126440#com126440</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/dev_bx/embedded-in-the-interface-box-bitrix24.php?commentId=126440#com126440</guid>
      <pubDate>Wed, 13 Jan 2021 11:36:18 +0300</pubDate>
    </item>

  </channel>
</rss>