Команды Telegram.

Команды Telegram позволяют с помощью клиента Telegram просматривать и управлять задачами.

Количество команд зависит нужд пользователя и его роли. Каждая команда имеет список ролей для разделенного доступа пользователей к командам. Чтобы команда была доступна абоненту Telegram, у абонента должна быть соответствующая роль.

Например у Команды есть роль CRM. Чтобы абонент Telegram имел доступ к данной команде у него тоже должна быть роль CRM.

Для настроек команд необходимо перейти в Настройки Techspot:CRM далее выбрать вкладку Telegram и выбрать ссылку Команды.

В списке будут две команды по умолчанию /start и /task. Данные команды предопределенные в системе.

Команда /start. #

Данная команда позволяет начать работу с Techspot:CRM. Необходима для регистрации абонентов Telegram в Techspot:CRM.

Наименование: /start
Команда: /start
На закладке Код быстрого ответа нужно вставить код для выполнения.

ОтветСистемы = "Отправьте свой контакт (по кнопке ниже) для регистрации в Телеграмм БОТ TECHSPOT:CRM";

Настройка закладки Код быстрого ответа.

Команда /task. #

Данная команда формирует меню под задачей.

Наименование: /task
Команда: /task
Параметр команды: Код
Имя команды в сообщении: Подробнее…

На закладке Код быстрого ответа нужно вставить код для выполнения.

Задача = Справочники.стс_Задачи.НайтиПоКоду(Параметры);
ОтветСистемы = "Текущая задача: "+Задача.Наименование;

Настройка закладки Меню в сообщении.

Команда Показать информацию. #

Наименование: 1.1. Показать информацию.
Команда: show_task_info
Параметр команды: Код
Имя команды в сообщении: ℹ︎Инфо

На закладке Код быстрого ответа нужно вставить код для выполнения.

Задача = Справочники.стс_Задачи.НайтиПоКоду(Параметры);

ОтветСистемы = "<b>Информация по задаче:</b> "+"     
|<b>✽ Задача:</b> "+Задача.Наименование; 

ОтветСистемы = ОтветСистемы + "
|<b>Создана:</b> " + Задача.ДатаСоздания + "
|<b>Статус:</b> " + ?(Задача.Выполнена,"<b>Выполнена:</b> " + Задача.ДатаВыполнения,"не выполнена") + "
|<b>Дедлайн:</b> " +   ?(СокрЛП(Задача.ВыполнитьПо)<>"01.01.0001 0:00:00",Задача.ВыполнитьПо  ," ") + "
|<b>Автор: </b>" + Задача.Автор+ "|<b>Объект задачи: </b>" + Задача.Объект+ "
|<b>Основание:</b> " + Задача.Основание+ "|";

ОтветСистемы =ОтветСистемы + "<b>Теги:</b> "; 

Для Каждого ТекСтр Из Задача.Теги Цикл    
ОтветСистемы = ОтветСистемы + "    
|▪︎ " + ТекСтр.Тег;
КонецЦикла;
ОтветСистемы = ОтветСистемы+ "|";

ОтветСистемы = ОтветСистемы + "<b>Гиперссылки:</b> "; 

Для Каждого ТекСтр Из Задача.ГиперСсылки Цикл    
ОтветСистемы = ОтветСистемы + "    |⎋ "  + ТекСтр.Наименование +" - "+ ТекСтр.Гиперссылка;
КонецЦикла;

Настройка закладки Меню в сообщении.

Команда Показать ответственных. #

Наименование: 1.2. Показать ответственных.
Команда: show_task_employee
Параметр команды: Код
Имя команды в сообщении: ✪ Ответственные

На закладке Код быстрого ответа нужно вставить код для выполнения.

Задача = Справочники.стс_Задачи.НайтиПоКоду(Параметры);

Запрос = Новый Запрос;
Запрос.Текст = "    
  |ВЫБРАТЬ    
      |	стс_ОтветственныеПоЗадаче.Ответственный КАК Ответственный,    
      |	стс_ОтветственныеПоЗадаче.ТипОтветственного КАК ТипОтветственного    
      |ИЗ    
      |	РегистрСведений.стс_ОтветственныеПоЗадаче КАК стс_ОтветственныеПоЗадаче    
      |ГДЕ    
      |	стс_ОтветственныеПоЗадаче.Задача = &Задача    
      |УПОРЯДОЧИТЬ ПО    
      |	стс_ОтветственныеПоЗадаче.Ответственный";

Запрос.УстановитьПараметр("Задача",Задача);
ТЗ = Запрос.Выполнить().Выгрузить();

ОтветСистемы = "<b>Ответственные по задаче:</b> "+"     
|<b>✽ Задача:</b> "+Задача.Наименование; 

ОтветСистемы = ОтветСистемы + "|<b>Ответственные:</b>";

Для Каждого ТекСтр Из ТЗ Цикл    
 Если ТекСтр.ТипОтветственного = Перечисления.стс_ТипыОтветственныхЛиц.Ответственный 
 Тогда         
  ОтветСистемы = ОтветСистемы + "         
     |✪ "+ТекСтр.Ответственный;    
 КонецЕсли;
КонецЦикла;

ОтветСистемы = ОтветСистемы + "|<b>Наблюдатели:</b>";

Для Каждого ТекСтр Из ТЗ Цикл    
  Если ТекСтр.ТипОтветственного = Перечисления.стс_ТипыОтветственныхЛиц.Наблюдатель 
Тогда         ОтветСистемы = ОтветСистемы + "         
|● "+ТекСтр.Ответственный;    
  КонецЕсли;
КонецЦикла;

Настройка закладки Меню в сообщении.

Команда Показать расположение в канбане. #

Наименование: 1.3. Показать расположение в канбане.
Команда: show_task_kanban
Параметр команды: Код
Имя команды в сообщении: ⎈ В канбане

На закладке Код быстрого ответа нужно вставить код для выполнения.

Задача = Справочники.стс_Задачи.НайтиПоКоду(Параметры);

ОтветСистемы = "<b>Расположение задачи в канбане:</b> "+"     
|<b>✽ Задача:</b> "+Задача.Наименование; 

Запрос = Новый Запрос;
Запрос.Текст = "    
    |ВЫБРАТЬ    
      |	стс_Канбан.Проект КАК Проект,    
      |	стс_Канбан.Доска КАК Доска,    
      |	стс_Канбан.Колонка КАК Колонка    
    |ИЗ    
      |	РегистрСведений.стс_Канбан КАК стс_Канбан    
    |ГДЕ    
      |	стс_Канбан.Задача = &Задача";

Запрос.УстановитьПараметр("Задача",Задача);
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл    
  ОтветСистемы = ОтветСистемы + "    
  |⎈"+Выборка.Проект + " ➤ " + Выборка.Доска + " ➤ " + Выборка.Колонка;
КонецЦикла;

Настройка закладки Меню в сообщении.

Команда Показать Чек лист. #

Наименование: 1.4. Показать Чек лист.
Команда: show_task_check
Параметр команды: Код
Имя команды в сообщении: ☑ Чек лист

На закладке Код быстрого ответа нужно вставить код для выполнения.

Задача = Справочники.стс_Задачи.НайтиПоКоду(Параметры);

ОтветСистемы = "<b>Чек лист по задаче:</b> "+"     
|<b>✽ Задача:</b> "+Задача.Наименование; 

Для Каждого ТекСтр Из Задача.ЧекЛист Цикл    
  ОтветСистемы = ОтветСистемы + "    
  |" + ?(ТекСтр.Выполнено=1,"☑ ","<b>☐</b> ") + ТекСтр.Наименование;
КонецЦикла;

Настройка закладки Меню в сообщении.

Команда Добавить сообщение в ленту. #

Наименование: 1.5. Добавить сообщение в ленту.
Команда: comment_task
Имя команды в сообщении: ⊕ В ленту
Показать окно ответа на сообщение: Да


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

Задача = Справочники.стс_Задачи.НайтиПоКоду(Параметры);

текСотрудник = СтруктураПараметров.АбонентТелеграмм.Объект;		

  ОписаниеВЛенту = Новый ФорматированныйДокумент;		
  ОписаниеВЛенту.Добавить(, 
ТипЭлементаФорматированногоДокумента.ПереводСтроки);		
  ЭлементФД = ОписаниеВЛенту.Добавить("	<< "+ТекущаяДата()+" "+текСотрудник + " >>", ТипЭлементаФорматированногоДокумента.Текст);		
  ЭлементФД.ЦветТекста = WebЦвета.Серый;		
  ЭлементФД.НавигационнаяСсылка = ""+ТекущаяДата(); 		
  ОписаниеВЛенту.Добавить(, ТипЭлементаФорматированногоДокумента.ПереводСтроки);		
  ОписаниеВЛенту.Добавить(ОтветПользователя, ТипЭлементаФорматированногоДокумента.Текст);

Запись = РегистрыСведений.стс_ЛентаЗадачи.СоздатьМенеджерЗаписи();
Запись.Период = ТекущаяДата();
Запись.Задача = Задача;
Запись.Сотрудник = текСотрудник;
Запись.Описание = Новый ХранилищеЗначения(ОписаниеВЛенту);    
Запись.Записать();

//ВзаимодействиеМассивОтветственных = стс_ЗадачаСервер.ПолучитьМассивОтветственныхСотрудниковПоЗадаче(Задача,Истина,Истина);
стс_Обсуждение.ДобавитьСообщение(Задача,"Добавлен комментарий ч/з телеграмм",,МассивОтветственных);

//Телеграмм//ТелеграммУведомления = стс_Уведомления.Инициализировать_ПринудительноТелеграммУведомления();
//стс_Уведомления.УведомитьПоПоНастройкеИзЗадачи(Задача,Ложь,"Добавлен комментарий ч/з телеграмм",ТелеграммУведомления);

//Событие по задачестс_ЗадачаСервер.ДобавитьСобытиеПоЗадаче(Задача,,Ложь,Истина);

ОтветСистемы = "Сообщение добавлено в ленту";

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

Оцените документ