MyChat Scripts: функция mGetBirthdayUsers, получить именинников на указанную дату (число и месяц)

MyChat Scripts: функция mGetBirthdayUsers, получить именинников на указанную дату (число и месяц)

"Для разработчиков", "Серверные скрипты", "Описание функций", "Пользователи", "mGetBirthdayUsers".

 

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

 

Синтаксис

function mGetBirthdayUsers(dt: double): string;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

dt

double

дата, для которой нужно получить список именинников (число и месяц, год не важен).

 

Результат функции

Список UIN-ов пользователей через запятую, которые подпадают под условие. Если таких пользователей нет — будет возвращена пустая строка.

 

Пример

Определить дни, когда есть 2 и более дня рождения сотрудников компании и получить список UIN-ов этих пользователей.

var
  dt: double;
  i: integer;
  s: string;
begin
  dt := EncodeDate(2021, 1, 1);
  
    for i := 0 to 364 do begin
      s := mGetBirthdayUsers(dt);
      
              
        if (length(s) > 0) and (StringCharsCount(s, ',') > 1) then mLogScript(s, FormatDateTime('mmm dd', dt)); 
      
      dt := IncDay(dt, 1);
    end;
end.

Результат работы скрипта

[22:22:54] (Log "mGetBirthdayUsers"): [янв. 01] 11887,12100,15422,16294,17614

[22:22:54] (Log "mGetBirthdayUsers"): [янв. 18] 12477,15969,16658

[22:22:54] (Log "mGetBirthdayUsers"): [февр. 22] 13126,21355,21896

[22:22:54] (Log "mGetBirthdayUsers"): [март 17] 10991,11998,13608,15709

[22:22:54] (Log "mGetBirthdayUsers"): [апр. 22] 12470,13973,14010,14294,14456,14558,15018,15794

[22:22:54] (Log "mGetBirthdayUsers"): [июнь 04] 11576,13236,16701

[22:22:54] (Log "mGetBirthdayUsers"): [июль 28] 11146,14620,19067

[22:22:54] (Log "mGetBirthdayUsers"): [сент. 03] 16422,16702,16713

[22:22:54] (Log "mGetBirthdayUsers"): [сент. 12] 10895,11325,14272

[22:22:54] (Log "mGetBirthdayUsers"): [окт. 09] 6,5454,12771

[22:22:54] (Log "mGetBirthdayUsers"): [окт. 31] 11589,16665,16669

[22:22:54] (Log "mGetBirthdayUsers"): [дек. 17] 12550,13160,21313

[22:22:54] (Run "mGetBirthdayUsers"): Время выполнения скрипта: 298 мс

[22:22:54] (Run "mGetBirthdayUsers"): Скрипт выполнен успешно.

Ещё посмотреть

EncodeDate

FormatDateTime

IncDay

mLogScript

StringCharsCount