Нам в компании необходимо простое решение по уведомлению сотрудников о днях рождениях клиентов.
Выбор пал на гугл таблицы+гугл календарь.
Было найдено решение:
https://ignatov-script.blogspot.com/2017/04/google...
Решение работает, НО!
События в календаре создает почему-то предыдущим днём.
Подскажите, пожалуйста, как это возможно поправить?
Код, который используется для гугл таблицы:
function saveBirthdays() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var calname = CalendarApp.getCalendarsByName("Дни рождения клиентов");
if (calname.length > 0)
{
var currentCalendar = calname[0];
}
else
{
var currentCalendar = CalendarApp.createCalendar("Дни рождения клиентов");
}
var events = currentCalendar.getEvents(new Date(2020,01,01),new Date(2023,01,01));
for (var j = 0 ; j < events.length; j++)
{
events[j].deleteEvent();
}
for (var i = 1; i < data.length; i++)
{
var Data = new Date(data[i][1]);
var now = new Date().getMonth();
var month = now+1;
if ((Data.getMonth()<=month)&&(Data.getMonth()>=month-1)){
var Name = data[i][0];
var Phone = data [i][2];
var event = currentCalendar.createAllDayEventSeries("Сегодня "+Name+" празднует день рождения. Не забудь поздравить \n"+", номер(-а) телефона: "+Phone,Data,CalendarApp.newRecurrence().addYearlyRule());
event.addEmailReminder(0);
event.addPopupReminder(0)
}
}
}