---
journal: Рабочий отчет за квартал
journal-date: <% tp.date.now("YYYY-MM-DD") %>
---
<%*
// 1. Извлечение данных из названия заметки
const title = tp.file.title;
const regex = /^(.*?)(\d)\s*квартал\s*(\d{4})\s*года(.*)$/i;
const match = title.match(regex);

let prefix = "", quarter, year, suffix = "";

if (match) {
    prefix = match[1];
    quarter = parseInt(match[2]);
    year = parseInt(match[3]);
    suffix = match[4];
} else {
    // fallback – текущий квартал и год
    const now = new Date();
    year = now.getFullYear();
    quarter = Math.ceil((now.getMonth() + 1) / 3);
}

// 2. Предыдущий квартал (для ссылок)
let prevQuarter = quarter - 1;
let prevYear = year;
if (prevQuarter === 0) {
    prevQuarter = 4;
    prevYear = year - 1;
}
const prevTitle = `${prefix}${prevQuarter} квартал ${prevYear} года${suffix}`;

// 3. Следующий квартал
let nextQuarter = quarter + 1;
let nextYear = year;
if (nextQuarter === 5) {
    nextQuarter = 1;
    nextYear = year + 1;
}
const nextTitle = `${prefix}${nextQuarter} квартал ${nextYear} года${suffix}`;

// 4. Даты начала и конца квартала (для Dataview)
let startDate, endDate;
if (quarter === 1)      { startDate = `${year}-01-01`; endDate = `${year}-03-31`; }
else if (quarter === 2) { startDate = `${year}-04-01`; endDate = `${year}-06-30`; }
else if (quarter === 3) { startDate = `${year}-07-01`; endDate = `${year}-09-30`; }
else                    { startDate = `${year}-10-01`; endDate = `${year}-12-31`; }
-%>
# <% title %>

[[<% prevTitle %>|← Предыдущий квартал]] | [[<% nextTitle %>|Следующий квартал →]]

## Выполненные проектные задачи
```dataview
TASK 
WHERE completion != null AND completion <= date("<% endDate %>") AND completion >= date("<% startDate %>") AND contains(сфера, "работа") AND тип != "ежедневная заметка"
GROUP BY file.link
```

## Выполненные разовые задачи

```dataview
TASK 
WHERE completion != null AND completion <= date("<% endDate %>") AND completion >= date("<% startDate %>") AND contains(сфера, "работа") AND тип = "ежедневная заметка"
GROUP BY file.link
```