MyChat Scripts: функция mKanbanGetProjectIDByTaskID — получить идентификатор канбан-проекта по ID задачи
Получить идентификатор канбан-проекта по номеру задачи, размещённой одном из его этапов.
Синтаксис
function mKanbanGetProjectIDByTaskID(const iTaskID: integer): integer;
Параметры и возвращаемые значения
| 
    Параметр  | 
  
    Тип  | 
  
    Значение  | 
 
| 
    iTaskID  | 
  
    integer  | 
  
    идентификатор задачи, число.  | 
 
Результат функции
| 
    >0  | 
  
    идентификатор найденного проекта;  | 
 
| 
    -1  | 
  
    указан неправильный или несуществующий ID задачи на канбан-доске.  | 
 
Пример
Пример для автоматического поздравления пользователей чата с днём рождения. Поздравления размещаются на доске объявлений, скрипт "навешивается" на событие "User defined script", "Every hour".
// ---------------------------------------
// Script created by Alexey Pikurov ([email protected])
// 18.01.2021 20:45:13
// ---------------------------------------
var
  iUIN: integer;
  dtExpired: double;
  sUsersList, sUserFullName, sMsg, sGender, sToday: string;
begin
  dtExpired := Now; // получаем текущую дату
  sToday := FormatDateTime('ddmmyyyy', dtExpired);
    // если мы уже работали сегодня, то ничего не делаем, чтобы
    // не поздравить одних и тех же людей по второму кругу
    if mDBStorageGetData('birthday-script') = sToday then exit
      else mDBStorageSetData('birthday-script', sToday);
  
  sUsersList := mGetBirthdayUsers(dtExpired); // получаем список UIN-ов людей, у которых сегодня день рождения
                                  
    while length(sUsersList) > 0 do begin
      iUIN := StrToInt(Fetch(sUsersList, ',')); 
      sUserFullName := mGetUserFullNameByPreset(iUIN, 0); // 0 — "Александр Сергеевич Пушкин"
      
        if mGetUserAttribute(iUIN, 'Sex') = '2' then sGender := 'её' // получение пола пользователя
          else sGender := 'его'; 
        
      // формируем строку для поздравления
      sMsg := 'Сегодня ' + sUserFullName + ' празднует день рождения!' +
              CRLF +
              'Подравляем ' + sGender + ' с этим праздником и желаем всего самого ' +
              'светлого и доброго!';
        
        // если сегодня суббота или воскресенье, то добавляем нужное количество дней до понедельника
        case DayOfTheWeek(dtExpired) of
          6: IncDay(dtExpired, 2);
          7: IncDay(dtExpired, 1);
        end;
      // ...и размещаем поздравление на доске объяалений, чтобы было видно всем пользователям
      mAddNewBBSMessage(sMsg, dtExpired, false);
    end;
end.
Результат работы
