MyChat Scripts: функция mKanbanGetStageIDByTaskID — получить идентификатор этапа канбан-проекта по ID задачи
"Для разработчиков", "Серверные скрипты", "Описание функций", "Канбан — управление проектами", "mKanbanGetStageIDByTaskID".
Получить идентификатор этапа канбан-проекта по номеру задачи, размещённой в нём.
Синтаксис
function mKanbanGetStageIDByTaskID(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.
Результат работы