_:n0247cca616cf4c19b6084e89cb880ed5xb0
<http://schema.org/articleBody>
"&amp;lt;p id=&#039;tab-panel-title&#039;&amp;gt;&amp;lt;/p&amp;gt; \r\n\r\n&amp;lt;div class=&amp;quot;tab&amp;quot;&amp;gt;\r\n\r\n&amp;lt;h3 class=&amp;quot;tab-title&amp;quot;&amp;gt;Создание типа поля и поля&amp;lt;/h3&amp;gt;\r\n\r\n\r\n&amp;lt;p&amp;gt;\r\n\t&amp;lt;a href=&amp;quot;https://dev.1c-bitrix.ru/rest_help/application_embedding/user_field/userfieldtype_add.php&amp;quot; title=&amp;quot;Метод userfieldtype.add&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Зарегистрируйте&amp;lt;/a&amp;gt; тип поля.\r\n&amp;lt;/p&amp;gt;\r\n&amp;lt;p&amp;gt;\r\n\tСоздайте пользовательское поле &amp;lt;a href=&amp;quot;https://helpdesk.bitrix24.ru/open/5488795/&amp;quot; title=&amp;quot;&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;вручную&amp;lt;/a&amp;gt; либо, через API. Например, для Лидов CRM используется &amp;lt;a href=&amp;quot;https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_userfield_add.php&amp;quot; title=&amp;quot;&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;crm.lead.userfield.add&amp;lt;/a&amp;gt;.\r\n&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;/div&amp;gt;\r\n\r\n&amp;lt;!-------&amp;gt;\r\n&amp;lt;div class=&amp;quot;tab&amp;quot;&amp;gt;\r\n\r\n&amp;lt;h3 class=&amp;quot;tab-title&amp;quot;&amp;gt;Обработка данных во фрейме&amp;lt;/h3&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;\r\n\tКогда открывается форма, допустим, карточка лида в CRM, в которой выводится поле нашего пользовательского типа, то в карточке, фактически, выводится фрейм с приложением. В этот фрейм передаются все данные о поле, значении и режиме работы. Для приложения все выглядит так, как если бы оно было открыто в месте встройки с идентификатором USERFIELD_TYPE.\r\n&amp;lt;/p&amp;gt;\r\n&amp;lt;p&amp;gt;\r\n\tВот пример POST-данных, пришедших в фрейм:\r\n&amp;lt;/p&amp;gt;\r\n &amp;lt;pre class=&amp;quot;syntax&amp;quot;&amp;gt;Array\r\n(\r\n    [DOMAIN] =&amp;amp;gt; sometestportal.bitrix24.com\r\n    [PROTOCOL] =&amp;amp;gt; 1\r\n    [LANG] =&amp;amp;gt; ru\r\n    [APP_SID] =&amp;amp;gt; 14d2c95b446cb049375e4a045dc2a177\r\n    [AUTH_ID] =&amp;amp;gt; xomlj71xez3p4q8bqsb5icqjcgjetf0p\r\n    [AUTH_EXPIRES] =&amp;amp;gt; 3600\r\n    [REFRESH_ID] =&amp;amp;gt; 51556ja184k22cqot442w0lp1quxg0p2\r\n    [member_id] =&amp;amp;gt; 6f61b5484aff6f8aa3fef768153d0226\r\n    [status] =&amp;amp;gt; L\r\n    [PLACEMENT] =&amp;amp;gt; USERFIELD_TYPE\r\n    [PLACEMENT_OPTIONS] =&amp;amp;gt; {&amp;quot;MODE&amp;quot;:&amp;quot;view&amp;quot;,&amp;quot;ENTITY_ID&amp;quot;:&amp;quot;CRM_LEAD&amp;quot;,&amp;quot;FIELD_NAME&amp;quot;:&amp;quot;UF_CRM_1511508634350&amp;quot;,&amp;quot;ENTITY_VALUE_ID&amp;quot;:&amp;quot;2&amp;quot;,&amp;quot;VALUE&amp;quot;:[&amp;quot;\\u0435\\u0445\\u0430\\u043b \\u0433\\u0440\\u0435\\u043a\\u0430 \\u0447\\u0435\\u0440\\u0435\\u0437 \\u0440\\u0435\\u043a\\u0443&amp;quot;,&amp;quot;\\u0432\\u0438\\u0434\\u0438\\u0442 \\u0433\\u0440\\u0435\\u043a\\u0430 \\u0432 \\u0440\\u0435\\u043a\\u0435 \\u0440\\u0430\\u043a&amp;quot;,&amp;quot;c\\u0443\\u043d\\u0443\\u043b \\u0433\\u0440\\u0435\\u043a\\u0430 \\u0440\\u0443\\u043a\\u0443 \\u0432 \\u0440\\u0435\\u043a\\u0443&amp;quot;,&amp;quot;\\u0440\\u0430\\u043a \\u0437\\u0430 \\u0440\\u0443\\u043a\\u0443 \\u0433\\u0440\\u0435\\u043a\\u0430 \\u0446\\u0430\\u043f&amp;quot;],&amp;quot;MULTIPLE&amp;quot;:&amp;quot;Y&amp;quot;,&amp;quot;MANDATORY&amp;quot;:&amp;quot;N&amp;quot;,&amp;quot;XML_ID&amp;quot;:null}\r\n)&amp;lt;/pre&amp;gt;\r\n&amp;lt;p&amp;gt;\r\n\tДетально разберём json-строку PLACEMENT_OPTIONS:\r\n&amp;lt;/p&amp;gt;\r\n &amp;lt;pre class=&amp;quot;syntax&amp;quot;&amp;gt;Array\r\n(\r\n    [MODE] =&amp;amp;gt; view\r\n    [ENTITY_ID] =&amp;amp;gt; CRM_LEAD\r\n    [FIELD_NAME] =&amp;amp;gt; UF_CRM_1511508634350\r\n    [ENTITY_VALUE_ID] =&amp;amp;gt; 2\r\n    [VALUE] =&amp;amp;gt; Array\r\n        (\r\n            [0] =&amp;amp;gt; ехал грека через реку\r\n            [1] =&amp;amp;gt; видит грека в реке рак\r\n            [2] =&amp;amp;gt; cунул грека руку в реку\r\n            [3] =&amp;amp;gt; рак за руку грека цап\r\n        )\r\n\r\n    [MULTIPLE] =&amp;amp;gt; Y\r\n    [MANDATORY] =&amp;amp;gt; N\r\n    [XML_ID] =&amp;amp;gt; \r\n)&amp;lt;/pre&amp;gt;\r\n&amp;lt;p&amp;gt;\r\n\tКлючи:\r\n&amp;lt;/p&amp;gt;\r\n&amp;lt;table cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&amp;gt;\r\n&amp;lt;tbody&amp;gt;\r\n&amp;lt;tr bgcolor=&amp;quot;white&amp;quot;&amp;gt;\r\n\t&amp;lt;td bgcolor=&amp;quot;#8C8C8C&amp;quot;&amp;gt;\r\n\t\t&amp;lt;table cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot;&amp;gt;\r\n\t\t&amp;lt;tbody&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;silver&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\t&amp;lt;b&amp;gt;Ключ&amp;lt;/b&amp;gt;\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tОписание\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;white&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tMODE\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tРежим, в котором вызвано поле. Значения: view - просмотр, edit - редактирование\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;#EEEEEE&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tENTITY_ID\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tИдентификатор сущности, к которой привязано поле\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;white&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tFIELD_NAME\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tИдентификатор пользовательского поля\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;#EEEEEE&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tENTITY_VALUE_ID\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tИдентификатор элемента сущности, значение поля которого редактируется\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;white&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tVALUE\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tТекущее значение поля. Для множественного поля массив значений.\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;#EEEEEE&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tMULTIPLE\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tФлаг множественности поля\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;white&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tMANDATORY\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tФлаг обязательности поля\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;tr bgcolor=&amp;quot;#EEEEEE&amp;quot;&amp;gt;\r\n\t\t\t&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;\r\n\t\t\t\tXML_ID\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t\t&amp;lt;td&amp;gt;\r\n\t\t\t\tВнешний код поля\r\n\t\t\t&amp;lt;/td&amp;gt;\r\n\t\t&amp;lt;/tr&amp;gt;\r\n\t\t&amp;lt;/tbody&amp;gt;\r\n\t\t&amp;lt;/table&amp;gt;\r\n\t&amp;lt;/td&amp;gt;\r\n&amp;lt;/tr&amp;gt;\r\n&amp;lt;/tbody&amp;gt;\r\n&amp;lt;/table&amp;gt;\r\n\r\n&amp;lt;/div&amp;gt;\r\n\r\n&amp;lt;!-------&amp;gt;\r\n&amp;lt;div class=&amp;quot;tab&amp;quot;&amp;gt;\r\n\r\n&amp;lt;h3 class=&amp;quot;tab-title&amp;quot;&amp;gt;js-интерфейс&amp;lt;/h3&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;\r\n\tДля поля также доступен &amp;lt;a href=&amp;quot;https://dev.1c-bitrix.ru/rest_help/application_embedding/application_embedding/js_interface.php&amp;quot; title=&amp;quot;&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;js-интерфейс&amp;lt;/a&amp;gt; получения и установки значения:\r\n&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;Вызов метода:&amp;lt;/p&amp;gt;\r\n\r\n &amp;lt;pre class=&amp;quot;syntax&amp;quot;&amp;gt;BX24.placement.call(&#039;getValue&#039;, function(value){console.log(value)});&amp;lt;/pre&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;Результат выполнения метода:&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;pre class=&amp;quot;syntax&amp;quot;&amp;gt;[&amp;quot;ехал грека через реку&amp;quot;, &amp;quot;видит грека в реке рак&amp;quot;, &amp;quot;cунул грека руку в реку&amp;quot;, &amp;quot;рак за руку греку цап&amp;quot;]&amp;lt;/pre&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;Вызов метода:&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;pre class=&amp;quot;syntax&amp;quot;&amp;gt;BX24.placement.call(&#039;setValue&#039;, [&amp;quot;ехал грека через реку&amp;quot;, &amp;quot;видит грека в реке рак&amp;quot;, &amp;quot;cунул грека руку в реку&amp;quot;, &amp;quot;рак за руку греку цап&amp;quot;], function(){console.log(&#039;value set&#039;)});&amp;lt;/pre&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;Результат выполнения метода:&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;pre class=&amp;quot;syntax&amp;quot;&amp;gt;value set&amp;lt;/pre&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;\r\n\tНужно учитывать, что js-интерфейс служит исключительно для передачи данных в форму. Пока форма тем или иным способом не будет сохранена пользователем, значение в базу не попадет.\r\n&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;/div&amp;gt;\r\n\r\n&amp;lt;!-------&amp;gt;\r\n\r\n&amp;lt;div class=&amp;quot;tab&amp;quot;&amp;gt;\r\n\r\n&amp;lt;h3 class=&amp;quot;tab-title&amp;quot;&amp;gt;Демо-приложение&amp;lt;/h3&amp;gt;\r\n\r\n&amp;lt;p&amp;gt;\r\n\tДемо-приложение, которое регистрирует обычное текстовое поле со своим интерфейсом ввода и вывода. &amp;lt;a href=&amp;quot;/docs/chm_files/userfieldtext.zip&amp;quot; title=&amp;quot;userfieldtext.zip&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Скачать&amp;lt;/a&amp;gt;\r\n&amp;lt;/p&amp;gt;\r\n\r\n&amp;lt;/div&amp;gt;\r\n\r\n&amp;lt;!-------------&amp;gt;\r\n\r\n\r\n &amp;lt;br&amp;gt;"
<https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=99&LESSON_ID=8633&LESSON_PATH=8771.5380.2535.8633>