Подія, що виникає при перенесенні завдання у канбан-проєкті з одного етапу до іншого.

 

Шаблон події
function OnKanbanTaskMove(iCID: int64; iUIN: integer; var sJSONData: string): boolean;
begin
  // your own code
  result := true;
end;
begin
end.


Замість коментаря може бути будь-який ваш код.

 

Опис параметрів

Параметр

Тип

Значення

iCID

int64

Connection ID клієнта-відправника, унікальний сеансовий ідентифікатор в онлайн структурі мережевих підключень до сервера;

iUIN

integer

унікальний ідентифікатор відправника команди (число > 0);

sJSONData

string

параметр, що змінюється, вміст команди у вигляді текстової JSON-рядка.

 

Параметр sJSONData

Тип

Значення

ID

integer

ідентифікатор задачі, число;

IDStage

integer

ідентифікатор етапу, куди переміщається завдання, число.

 
Значення, що повертається

Стандартно функція повинна повертати true, проте, якщо ви повернете false, завдання не буде переміщене, а клієнтська програма отримає помилку #0332. Ви також можете відредагувати об'єкт JSON, змінивши параметри команди на інші.

 

Приклад

Перехоплюємо подію та повідомляємо про це вказаного користувача приватним повідомленням у чаті.


const


  // UIN користувача, якого повідомлятимемо про подію
  CI_USER_UIN = 17680;
  // від імені якого користувача буде надіслано приватне повідомлення
  CI_USER_FROM = 3;
  
function OnKanbanTaskMove(iCID: int64; iUIN: integer; var sJSONData: string): boolean;
var
  iTaskID, iStageID, iProjectID: integer;
  sStageName, sProjectName, sTaskName, sMsg, sUserName: string;
begin
  // отримуємо інформацію з JSON-об'єкту
  JSONGetInteger(sJSONData, 'ID', iTaskID);
  JSONGetInteger(sJSONData, 'IDStage', iStageID);
  // отримати ідентифікатор канбан-проєкту за номером етапу
  iProjectID := mKanbanGetProjectIDByStageID(iStageID);
  // отримуємо текстові назви етапу, проєкту та завдання
  sStageName := mKanbanGetStageNameByID(iStageID);
  sProjectName := mKanbanGetProjectNameByID(iProjectID);
  sTaskName := mKanbanGetTaskNameByID(iTaskID);
  // ім'я користувача, що переніс завдання
  sUserName := mGetUserAttribute(iUIN, 'DisplayName');
  // формуємо текст повідомлення для користувача, якого ми автоматично повідомляємо
  // про подію перенесення завдання на інший етап
  sMsg := 'User ' + sUserName + ' moved task "' + sTaskName + '" in the project "'
          sProjectName + '" to the stage "' + sStageName + '"';
  mSendPrivateMessage(CI_USER_FROM, CI_USER_UIN, sMsg, 1);
  // пропускаємо подію для подальшої обробки
  result := true;
end;
begin
end.


Пвідомлення про перенос задачі канбан-проєкту


Дивитися ще

JSONGetInteger

mGetUserAttribute

mKanbanGetProjectIDByStageID

mKanbanGetProjectNameByID

mKanbanGetStageNameByID

mKanbanGetTaskNameByID

mSendPrivateMessage