Imagesforyou.ru

IMG FOR YOU — ИНТЕРЬЕРНАЯ ФОТОСТУДИЯ
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Статьи 1С Битрикс | Пример создания компонента

Компоненты в битрикс размещаются по пути от корня вашего сайта /bitrix/components В этой папке всегда есть каталог bitrix нем расположены компоненты, которые достались вам при установки Битрикса и количество этих компонентов варьируется в зависимости от используемой вами редакцией продукта.

В папке /bitrix/components можно создавать свои папки, в терминах битрикса это называется “пространством имен”, так например при установке модулей из Маркетплейс модули партнеров скопируют свои компоненты именно в эту папку, предварительно создав в ней свое “пространство имен”.

Не путайте термин “пространства имен” в рамках Битрикса и пространства имен PHP этот термин остался в Битриксе исторически и нам придется с этим мириться.

Так же компоненты можно разместить в каталоге /local/components в этой папке нужно так же создать свое “пространство имен” в виде отдельного каталога в котором и разместить свой компонент.

Для размежения локальных компонентов, которые пишутся под конкретный проект, а так же для кастомизации стандартных компонентов Битрикса нужно использовать именно папку /local/components

Для нашего примера будем использовать папку ‘example’ в качестве “пространства имен”, а назовем компонент compsimple таким образом итоговый путь к файлам разрабатываемого компонента будет таким: /local/components/example/compsimple .

Битрикс24: методы для работы с чатами через API

Обратите внимание на возвращаемый методом массив данных, так как он позволяет решить сразу несколько задач:

  • список участников чата (ключ userInChat )
  • список участников чата отключивших уведомления (ключ mute_list )
  • иконка чата (ключ avatar )
  • идентификатор владельца/модератора чата (ключ owner )
  • название чата (ключ name )
  • внешний/внутренний чат (ключ extranet )

Пример вызова метода:

Добавление пользователя в чат

Метод CIMChat::AddUser достаточно специфичный, подробности — в документации.

Для добавления пользователя в чат без системного уведомления о добавлении нового пользователя:

В данном примере пользователь добавляется без доступа к истории сообщений чата. За это отвечает третий параметр, который задан как null . Для добавления пользователя в чат с доступом к старой переписке — этот параметр нужно убрать.

Для добавления пользователя с системным комментарием вида «Иванов Иван присоединился к чату»:

Удаление пользователя из чата

Используем метод CIMChat::DeleteUser . Ссылка на документацию.

Открыть чат по клику на ссылку

Данное решение будет полезно для того, чтобы добавить ссылку на определенный чат в документацию или Базу Знаний вашего портала. Все просто:

где [CHAT_ID] — уникальный идентификатор чата.

Получить сообщения из чата

Массив $message будет содержать выборку списка сообщений чата.

Механизмы работы с сообщениями в чате

Рассмотрим несколько методов для работы с сообщениями по их уникальному идентификатору. ID сообщения можно посмотреть через исходный код страницы:

Получение сообщения по ID

Редактирование сообщения по ID

Стоит обратить внимание на параметры функции:

  • $id — идентификатор редактируемого сообщения
  • $text — новый текст сообщения
  • $urlPreview — показывать превью ссылок
  • $editFlag — показывать что сообщение было отредактировано
  • $userId — идентификатор пользователя (автора)

Если в качестве $text передать пустое значение, то это будет равносильно удалению сообщения. Однако, это не совсем полноценное удаление, так как в чате останутся следы в виде фразы «Это сообщение было удалено».

Для редактирования сообщения других пользователей обязательно передавать ID автора сообщения в параметре $userId .

Пример вызова метода:

Удаление сообщения по ID

  • $id — идентификатор удаляемого сообщения
  • $userId — идентификатор пользователя (автора)
  • $completeDelete — полное удаление / замена на сообщение-заглушку

Здесь все по аналогии с редактированием сообщения, если сообщение нужно удалить полностью, то третьим параметром передаем значение true . Если передать false , то будет выполнена замена текста сообщения на «Это сообщение было удалено». Исходный код метода.

Читайте так же:
Вайбер на нокиа 5228

Есть и альтернативный вариант, в котором требуется указать только идентификатор сообщения:

<script type=»text/javascript»>
$(document).keyup(function(event) <
event = event || window.event;
var link = null;

if (!event.ctrlKey)
return;

var key = (event.keyCode ? event.keyCode : (event.which ? event.which : null));

if (key == 39)
link = $(‘.next-prev-pager .ts-next-page’);
else if (key == 37)
link = $(‘.next-prev-pager .ts-prev-page’);

if (link && link.attr(‘href’))
document.location = link.attr(‘href’);
else if(key == 39 || key == 37)
alert(‘Дальше новостей пока нет, заходите попозже или подпишитесь на мои статьи в форме в самом низу!’);

jQuery-код добавьте в самом конце шаблона, самым последним.

Вот, собственно и весь код, навигация по соседним элементам инфоблока готова!

Получение элементов со страницы — Методы getElementById, getElementsByTagName и getElementsByClassName

Здесь мы будем использовать JavaScript для работы c веб-страницей.

Как получать элементы со страницы?

Это начало важной темы . Здесь формируется понимание того, как работает JavaScript.

При этом первым делом нужно знать, что такое DOMОбъектная модель документа. Об этом далее.

DOM — Объектная модель документа

О том, что такое DOMОбъектная модель документа — читайте здесь.

Итак, веб-страница — это некий документ , который имеет определенную структуру. И когда документ (страница) существует, то к нему можно обратиться как к объекту . Отсюда и название Объектная модель документа.

У любого объекта есть методы. Таким образом применительно к веб-странице , как к объекту , используются определенные методы : для получения доступа к элементам страницы и для какого-либо взаимодействия с ними.

Глобальный объект document

Чтобы обратиться к DOM используется объект document — это глобальный объект веб-страницы. Это и есть сама страница.

Об объекте document — читайте здесь и немного здесь (для лучшего понимания).

Если набрать в консоли браузера document. то мы увидим список всех свойств и методов глобального объекта document, которые можно использовать применительно к веб-странице.

Для практики, чтобы иметь навыки получения элементов с веб-страницы и взаимодействия с ними, мы будем работать с простой страницей — вот так она выглядит в браузере.

Это ссылка на архив с исходными файлами.

Методы для получения элементов с веб-страницы

Методы для получения элементов с веб-страницы можно разделить на 2 категории :

1) Это методы которые существуют уже давно. Они будут рассмотрены на этой странице.

2) Методы которые появились относительно недавно. О них читайте здесь.

Итак, начнем с 1-ой группы методов , которые существуют уже давно и используются для получения элементов с веб-страницы.

1) Это методы которые существуют уже давно. Они будут рассмотрены далее.

2) Методы которые появились относительно недавно.

Итак, начнем с 1-ой группы методов , которые существуют уже давно и используются для получения элементов с веб-страницы.

Метод getElementById — Выборка по id

Метод getElementById существуют уже давно и отвечает за выбор элемента страницы по id идентификатору.

Напомним, что id-идентификатор уникален и может быть только один на странице.

Дополнительно о методе getElementById читайте здесь.

Пример 1.1

Результат в консоли

В результате мы видим элемент страницы — это блок div с id="box" . Так работает метод getElementById. Это довольно простой метод.

Метод getElementsByTagName — Выборка по имени тега

Рассмотрим примеры того, как работает метод getElementsByTagName.

Метод getElementsByTagName существуют уже давно и отвечает за выбор элементов страницы по имени тега.

Таких элементов может быть не один, не два, а десятки, сотни и даже тысячи. Метод getElementsByTagName возвращает псевдомассив из указанных элементов.

Дополнительно о методе getElementsByTagName читайте здесь.

Продолжим работать с кодом из примера 1.1 и сделаем выборку всех кнопок — это тег button .

Читайте так же:
Видеоролики на ютубе хостинг бесплатно
Пример 2.1

Результат в консоли

В результате мы получили HTMLCollection (HTML-коллекцию): псевдомассив из элементов button — из 5-ти кнопок.

Как получить доступ к конкретному элементу — к конкретной кнопке?

Для этого нужно обратиться к ней как к элементу массива .

Продолжим работать с html-кодом из примера 2.1.

И получим доступ ко 2-ой кнопке , то есть к элементу массива с индексом 1 .

Пример 2.2

Результат в консоли

Это был первый способ: на этапе формирования запроса при помощи метода getElementsByTagName, было указано, к какому элементу псевдомассива, мы хотим получить доступ.

Мы увидим тот же результат, если сделаем так:

Пример 2.3

Результат в консоли

Здесь мы с начала сформировали псевдомассив , сделав выборку всех кнопок. И после этого указали, какая кнопка (какой элемент массива) нас интересует.

Что если на странице будет один элемент/один тег? В данном случае — одна кнопка (один тег button). Что в этом случае возвращает метод getElementsByTagName?

Пример 2.4

Результат в консоли

В любом случае мы будем иметь дело с псевдомассивом. Поэтому для взаимодействия с конкретным элементом страницы, полученным в результате работы метода getElementsByTagName, к нему следует обращаться как к элементу массива.

Важно усвоить этот момент .

Следует понимать, как работает метод getElementsByTagName.

В реальной практике метод getElementsByTagName используется редко .

Метод getElementsByClassName — Использование классов

Помимо тегов для доступа к элементам страницы можно использовать и классы.

Метод getElementsByClassName существуют уже давно и отвечает за выбор элементов страницы по имени класса.

Метод getElementsByClassName работает также, как и метод getElementsByTagName и возвращает псевдомассив из элементов с указанным классом.

Продолжим работать с кодом из примера 2.1 и сделаем выборку всех элементов с классом circle .

Пример 3.1

Результат в консоли

В результате выборки по классу мы получили HTMLCollection (HTML-коллекцию): псевдомассив из 3-х элементов страницы — это теги div с классом circle .

Здесь была рассмотрена работа трех методов, предназначенных для получения элементов в веб-страницы: getElementById, getElementsByTagName и getElementsByClassName.

Далее читайте о получении элементов по CSS селектору : это методы queryselectorall и queryselector .

Универсальные списки в Битрикс24

Всё о применении универсальных списков в Битрикс24. Подробно на примерах разбираем механизм и тактику работы со списками.

Вот вы стали счастливым обладателем самого старшего тарифа облачного Битрикс24 (или коробки). Всё в нём хорошо, но не всё понятно. Так, например, в разделе «Сотрудники» вы нашли раздел «Списки». А в нём — ничего нет кроме кнопки «Создать новый». Но желания нажать на неё не появляется, потому что не понятно, зачем это делать. Давайте разберёмся с этим вопросом. Не зря же модуль «Универсальные списки» так ценится интеграторами Битрикс24.

В первую очередь модуль «Универсальные списки» нужен для хранения в себе информации. Какой — решать только вам. Примерно, как с Excel, только лучше. В момент создания списка, вы сами решаете какие данные и каких типов вы будете в нём хранить. По типам ограничений почти нет:

Привязка к другим спискам

Привязка к элементам CRM

Привязка к сотруднику

Привязка к Яндекс.Карте

По любому из полей вы сможете отфильтровать наполненный данными список и почти по всём — отсортировать.

Безусловным преимуществом универсальных списков является и то, что они позволяют настраивать права доступа к данным. Права могут быть настроены с точностью до элемента. Не получится, как с общей таблицей в excel: все всё видят и редактируют.

Так как списки являются частью инфраструктуры Битрикс24, то не использовать их в связке с другими элементами системы было бы преступлением. Если вы предусмотрите привязку элементов списка к карточкам CRM (в полях списка создадите поле с типом «Привязка к элементам CRM»), то в элементах CRM у вас появится вкладка с соответствующим списку названием. Это очень удобно, если нужно организовать связанное с элементами CRM хранилище каких-либо данных.

Читайте так же:
Водяное охлаждение для видеокарты rx 580

Ну и конечно, запуск бизнес-процессов. Универсальные списки позволяют настраивать алгоритмы автоматизированных операций с элементами списков. А это значит, что сценариев их использования становится намного больше.

Давайте рассмотрим наиболее популярные сценарии использования универсальных списков.

Быстрые ответы для открытых линий

Если вы являетесь активным пользователем открытых линий Битрикс24 и часто консультируете с внешними пользователями через чаты, то представляете, как много времени и фантазии может сэкономить список с заготовленными быстрыми ответами на часто задаваемые вопросы.

В открытых линиях Битрикс24 хранение таких фраз реализовано как раз в универсальных списках.

По кнопке «Создать» у вас создаётся список со всеми необходимыми полями, который вы просто заполняете различными вариантами ответов клиентам, группируя их по категориям. В итоге в чатах получаете прекрасную возможность не писать ответ каждый раз заново.

Хранение информации, разделённое по правам

Права доступа в списках настраиваются очень гибко. Допустим, у вас есть задача создать единое хранилище данных доступа ко всем сервисам компании (социальные сети, сервисы рассылок, программы учёта и так далее). Но хранить информацию в этом списке нужно так, чтобы маркетолог имел доступ к одним записям, а бухгалтер – к другим. А ещё они самостоятельно могли их вносить, если появляется что-то новое.

Реализуется это следующим образом: при добавлении списка или его редактировании переходите на вкладку «Доступ» и устанавливаете следующую конфигурацию.

Добавление — это значит, что сотрудник сможет добавить элементы.

Изменение у роли Автор значит, что то, что добавил – сможет изменить.

Далее в настройках каждого конкретного элемента списка проставляете, какие пользователи или отделы могут его читать. Так же, на вкладке «Доступ».

Записи, чтобы не забыть

Не редко появляется необходимость иметь возможность что-то быстро записать, чтобы не забыть. Списки помогут и в этом.

Так, например, у нас есть список «Бэклог», привязанный к контрагентам. Он позволяет записывать пожелания клиентов к функционалу системы, которые не срочные или просто не стоят в приоритете, но которые хотелось бы когда-нибудь выполнить. В момент, когда такое пожелание возникает, мы открываем карточку контрагента в CRM и на отдельной вкладке «Бэклог» записываем пожелания. Это занимает мало времени, а для собственного удобства мы добавили ещё «Статус» пожелания — отмечаем что реализовали, а что ещё ждёт.

Учёт связанной с CRM информации

Вообще, чем глубже вы работаете с CRM, тем больше связанной с клиентами и сделками информации вам захочется записывать. В полях сделки делать это не рационально, а вот создавать отдельные списки и прикладывать информацию в них – очень даже разумно.

Совсем свежий из реализованных примеров: информация об учащихся, прошедших обучение по сделке. Компания занимается сертификацией. На курсы к ним отправляют группы сотрудников. В контактах они не нужны, но учёт вести необходимо. Создан список, в котором указываются базовые данные об учащемся, а также результаты его сертификации. Элемент имеет одно из полей – привязка к сделкам. В результате, в сделках указывается, перечень всех учащихся по сделке, что очень удобно для анализа.

Хранение информации об объектах, требующих регулярности

Представьте, что у вас сотрудники получают сертификаты, а они имеют свой срок действия. Или клиенты приобретают товар (страховые полиса), которые требуют регулярного продления. В этом случае, такую информацию нужно сохранить. Да не просто так, а чтобы за некоторое время до превращения сертификата/полиса в тыкву, система напомнила, что нужно обратить на него внимание.

Читайте так же:
Восстановление imei 4pda mtk

Такой функционал тоже реализуется с использованием универсальных списков. Вам нужно описать объект, установить срок его действия и реализовать простой бизнес-процесс напоминания

Бизнес-процесс в своей самой простой реализации может иметь следующий вид:

  1. Подождать, пока не наступит день Х минус Y дней (заранее напоминаем же)
  2. Поставить задачу

Списки для учёта и запуска процессов обработки документов

Из двух последних примеров просто напрашивается следующий пример. Если нужно помимо учёта каких-либо данных, ещё и выполнить по ним заданную последовательность действий, то тут опять помогают бизнес-процессы. Входящие и исходящие письма, договоры, рекламации великолепно перекладываются на учёт в универсальных списках, связанных с элементами CRM, и дают множество дополнительных возможностей.

1. Регистрация документа: зашёл в карточку клиента, открыл нужную вкладку и добавил документ

2. Автоматические действия: заполнил поля, сохранил, запустился процесс, который по данным из полей понял, что нужно делать и направил задачи, запросы и уведомления всем ролям. А потом ещё подготовил решение и отправил его клиенту

Внесение информации о связанных объектах и использование её при работе с процессами

Ещё более сложный сценарии – это сценарии организации взаимозависимых элементов CRM и списков. И по элементам CRM, и по элементам списков мы можем запускать бизнес-процессы. А в конструкторе процессов есть блок «Запуск бизнес-процесса». Тем самым, процесс по одному элементу может запустить процесс по-другому, передав ему необходимые данные.

Если конкретнее, то представьте, что у вас в список загружен перечень объектов недвижимости. В сделках вы эти объекты продаёте. Из сделки у вас должна быть возможность выбрать, какой объект клиент выбрал. Он должен быть помечен, как забронированный, а в сделку передаться ключевые данные из объекта для формирования документов. Это всё реализуется связанными процессами. Какие-то запускаются автоматически на добавление/изменение, а какие-то тем самым действием «Запуск бизнес-процесса». В итоге мы имеем целостную систему по работе с объектами, а также возможность удобного генерирования документов по сделке.

И ещё несколько простых и бытовых примеров использования списков.

Использование списков, как дополнительных сквозных справочников в процессах

Этот пример не связан с бизнес-процессами, но он связан с хранением и редактированием данных. В CRM карточке сотрудника и элементах списков есть поле с типом «Привязка к элементам» и «Привязка к разделам», речь идёт именно про привязку к элементам и разделам списков.

Удобство заключается в том, что если вам нужно организовать поле с выбором варианта, то чаще всего выбор упадёт на поле с типом «Список», в котором вы просто эти варианты перечислите. А что, если таких полей в разных элементах много, а список значений – один и тот же? Правильно: варианты значений нужно хранить в универсальном списке, а поле привязать к нему. Если что-то изменится, редактировать нужно будет в одном месте, а не во всех. Да и при работе с автоматизацией это намного удобнее, потому что идентификаторы значений одни и те же, а значит их проще анализировать.

«Привязка к элементам» отличается от «Привязки к разделам» тем, к какой сущности списка привязываетесь. На элементах хорошо строятся «плоские» списки, а на «разделах» — древовидные.

Нумераторы и роли в списках

Благодаря тому, что бизнес-процессы позволяют не только работать с объектом, на основании которого они запущены, но и получать информацию о других элементах, мы можем организовывать на универсальных списках хранилища констант и переменных, глобальных для всех процессов. От глобальных констант такая конструкция выгодно отличается тем, что глобальные константы может редактировать только администратор, а списки – тот, кому дали права.

Читайте так же:
Видео игры по сети с друзьями

Так, например, можно создать список с ролями сотрудников. Каждый элемент – роль. В роли указано её название и привязанный сотрудник. В процессе, когда нам нужно получить сотрудника для роли, мы выбираем данные по известному нам элементу списка действием «Чтение элемента списка».

Или другой пример – нумераторы. Создаётся список с нумераторами для различных типов документов. Его задача – только лишь хранить последнее значение номера. Когда нужно присвоить номер документу, запускается процесс, который получает данные из этого элемента, добавляет единичку и сохраняет новое значение в элемент списка действием «Изменение элемента списка». Полученный же номер обогащается по различным правилам данными используется, например, при генерации документа.

Ну и напоследок…

Каждая роль в Битрикс24 работает со своими инструментами. Для менеджеров это, конечно же, CRM. А вот для логистов или водителей-экспедиторов это могут быть и списки, в которые по заданным правилам из CRM подгружается информация о том, какие товары к какому дню нужно подготовить к отгрузке, а какие заказы по какому адресу и когда – доставить. Мы, опять же, используем в этом случае всё те же приёмы связи между собой списков и CRM, автоматизацию на процессах. В итоге получаем удобную передачу информации между отделами и формирование всех необходимых заявок и задач, чтобы никто ничего не забыл.

Примеров использования списков множество. Они, действительно, универсальные и очень функциональные. Нередко мы сталкиваемся с тем, что клиенты переходят на старший тариф только ради этого незаменимого инструмента. Обращайтесь за поддержкой, сопровождением и доработкой вашего портала, мы всегда рады помочь!

Что такое ID в «Телеграме» и какое у него назначение

Идентификатор в ТГ – это комбинация цифр, которая присваивается аккаунту, чату или каналу при регистрации. ID отвечает за корректное взаимодействие пользователей внутри мессенджера – загрузку диалогов, отправку сообщений, возможность вступать в группы, писать комментарии и пр.

Данные генерирует система. В отличие от ника, тегов или номера телефона, которые владелец аккаунта может редактировать, поменять код невозможно.

Идентификатор нельзя просмотреть в настройках профиля, эта информация скрыта. В старой версии мессенджера такая функция присутствовала, но затем разработчики убрали ее в целях повышения безопасности.

Однако бывают ситуации, когда знать комбинацию цифр необходимо – она потребуется при создании сообщества или настройки группового чата. Тогда и возникает вопрос, как посмотреть ID.

Легкие, небольшие, классические дачные дома. Строятся из бруса и по каркасной технологии. По вашему желанию они могут быть адаптированы и для зимнего проживания

Наши архитекторы воплотят в жизнь любые ваши идеи по проектированию дома и обустройству участка. Мы создадим для вас настоящий дом для жизни.

Станьте владельцем земельного участка и готового дома под ключ, получив преимущества заказа всех услуг в одной компании с гарантией до 25 лет.

Не нужно прилагать лишних усилий – обеспечить полноценную жизнь за городом с компаний «Теремъ» просто.

В готовый комплекс услуг уже входят обустроенный участок, огороженный по периметру забором с четырёхметровыми воротами и калиткой, в посёлке с полной инфраструктурой (дороги, вывоз мусора, магазины, охрана), и строительство комфортабельного современного дома, оснащённого водоснабжением, электричеством, отоплением и канализацией.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector