Kleara · Библиотека
Избегайте повторных событий в перекрывающихся выгрузках уборки
У двух перекрывающихся календарей уборки на четыре недели 21 общее событие. Сравните идентификаторы и даты до импорта второго файла, чтобы не считать работу дважды.
Почему перекрывающиеся файлы считают дважды
Допустим, вы сохраняете календарь уборки на четыре недели сейчас и второй через две недели, оба из одного плана для кухни и спальни. Файлы охватывают часть одних и тех же дней, поэтому некоторые повторения есть в обоих. Если сложить строки обоих файлов, запланированной работы окажется больше, чем на самом деле.
У каждого события в календарном файле Kleara есть идентификатор из комнаты, дела, его позиции в комнате и даты, например kitchen.taskSink.0.2026-11-10@kleara.vomcore.com. Одно и то же повторение имеет одинаковый идентификатор в обоих файлах.
Пара файлов из примера
Первый файл охватывает период с 26 октября по 22 ноября 2026 года и содержит 46 событий. Второй охватывает период с 9 ноября по 6 декабря и содержит 44. Двадцать один идентификатор есть в обоих, остаётся 69 разных повторений — ровно столько, сколько даёт одно развёртывание того же плана на 42 дня.
Общие события приходятся на 9–22 ноября — две недели, которые охватывают оба файла. Каждое из них — событие на весь день: конец 20261110 после начала 20261109 означает один день, а не два дня работы.
Проверьте до импорта второго файла
- Сначала сравните диапазоны дат: любое перекрытие означает, что общие события, скорее всего, есть.
- Сравнивайте идентификаторы, а не заголовки: два события «Кухня: Почистить раковину» в разные дни — это разные повторения.
- Сохраните первый исходный файл, пока не увидите, как ваша календарная программа обработала второй импорт: программы по-разному решают, обновлять ли событие с известным идентификатором или добавлять копию.
- Если перекрытия не должно быть совсем, выберите второй диапазон, который начинается на следующий день после окончания первого.
Пределы идентификатора
Идентификатор называет дело и дату, а не версию плана. Если между двумя скачиваниями вы поменяли периодичность, повторение может сохранить дату и идентификатор, а более поздние даты изменятся; сравнивайте и настройки дел.
Предпросмотр планировщика всегда охватывает 28 дней от выбранной вами даты начала, и каждый новый расчёт заново выравнивает дни старта. Поэтому файлы с разными датами начала не обязательно совпадут по датам для одного и того же дела. Само приложение календари не экспортирует; в нём ведётся один текущий план.
Запланированные повторения задач
| A, B | Запланированные повторения задач |
|---|---|
| |A| | 46 |
| |B| | 44 |
| |A ∩ B| | 21 |
| |A ∪ B| | 69 |
Результаты
| UID | DTSTART | DTEND |
|---|---|---|
| kitchen.taskMop.1.2026-10-26@kleara.vomcore.com | 20261026 | 20261027 |
| kitchen.taskSink.0.2026-10-26@kleara.vomcore.com | 20261026 | 20261027 |
| bedroom.taskVacuum.1.2026-10-27@kleara.vomcore.com | 20261027 | 20261028 |
| kitchen.taskTrash.2.2026-10-27@kleara.vomcore.com | 20261027 | 20261028 |
| bedroom.taskDust.2.2026-10-28@kleara.vomcore.com | 20261028 | 20261029 |
| kitchen.taskDishwasher.3.2026-10-28@kleara.vomcore.com | 20261028 | 20261029 |
| bedroom.taskSheets.0.2026-10-29@kleara.vomcore.com | 20261029 | 20261030 |
| kitchen.taskSink.0.2026-10-29@kleara.vomcore.com | 20261029 | 20261030 |
| kitchen.taskFridge.4.2026-10-30@kleara.vomcore.com | 20261030 | 20261031 |
| kitchen.taskTrash.2.2026-10-30@kleara.vomcore.com | 20261030 | 20261031 |