Последняя версия DataExpress 3 beta от 12 февраля 2020 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Модуль напоминаний о событиях

Расширение функционала и существующих возможностей программы с помощью модулей расширений и плагинов от сторонних разработчиков.

Модератор: Разработчики расширений

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Вт янв 21, 2020 9:08 pm

Решил поделиться своим творением, писал для своих нужд. Сразу оговорюсь, на гуру программирования я не тяну, поэтому тапками не бить, а советам буду рад. :)
Итак, Данное расширение подключается в действиях при запуске, предварительно нужно создать форму для хранения напоминаний (пример на скрине).
В выражениях добавятся соответствующие функции, для добавления напоминаний через выражения.
Вложения
МОДУЛЬ НАПОМИНАНИЙ.7z
(64.58 КБ) 15 скачиваний
Reminder.7z
(12.1 КБ) 12 скачиваний
2020-01-21_21-07-24.png
2020-01-21_21-07-24.png (24.14 КБ) 1010 просмотров
2020-01-21_21-05-13.png
2020-01-21_21-05-13.png (44.12 КБ) 1010 просмотров
2020-01-21_21-04-20.png
2020-01-21_21-04-20.png (115.58 КБ) 1010 просмотров
2020-01-21_20-49-55.png
2020-01-21_20-49-55.png (16.57 КБ) 1010 просмотров

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Пт янв 31, 2020 12:38 pm

Обновил файлы расширения и примеров.
Пока из изменений только работа с переносом напоминания на месяц. Теперь работает более менее корректно (по крайней мере предсказуемо).
Если кто будет пользоваться, обратите внимание, на установку заданий в крайние дни месяца (29,30,31), эти дни есть не в каждом месяце, и напоминания будут переносится, при необходимости, в конец месяца.

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Пт янв 31, 2020 4:46 pm

cordek писал(а):Хорошо бы было добавить пользователя в напоминания.

Обновил вложения. Пароль к примеру "1"
Добавлена проверка на пользователя. Т.е. сообщения будут выводится пользователю, который их создал.
Поле при подключении не обязательное.
Если уже есть напоминания, то желательно через функцию "Установить значение" выставить в форме текущего или нужного пользователя.

Macheti
Заглянувший
Сообщения: 7
Зарегистрирован: Вт июл 09, 2019 1:45 pm
Благодарил (а): 33 раза

Модуль напоминаний о событиях

Сообщение Macheti » Сб фев 08, 2020 5:40 pm

Vofka18 писал(а):
cordek писал(а):Хорошо бы было добавить пользователя в напоминания.

Обновил вложения. Пароль к примеру "1"
Добавлена проверка на пользователя. Т.е. сообщения будут выводится пользователю, который их создал.
Поле при подключении не обязательное.
Если уже есть напоминания, то желательно через функцию "Установить значение" выставить в форме текущего или нужного пользователя.


Доброго времени суток! А возможно добавить еще период - "квартал" ?

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Сб фев 08, 2020 6:39 pm

Macheti писал(а):Доброго времени суток! А возможно добавить еще период - "квартал" ?

Думаю да. Попробую.

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Вс фев 09, 2020 4:23 pm

Macheti писал(а):Доброго времени суток! А возможно добавить еще период - "квартал" ?

Обновил вложения.
Добавил периодичность "Квартал". + мелкие исправления.
По поводу кварталов, прилагаю код для возможного изучения и проверки, может я чего-то не учел в квартальности.
За квартал принимаю разницу между датами в три месяца.
Данный код будет переносить выполненное задание в следующий квартал. Если есть в этом какие-то нюансы, то скажите.
И еще раз напомню с последними днями месяца, будьте аккуратнее, если в месяце нет, например, 31-го числа, то дата переместится на 30, или 28(если февраль)

Код: Выделить всё

function moveToNextQuarter(StartDate,EndDate: Variant):tDateTime;
var
  SD,ED,tempD:TDateTime;
  SQuMonth,EQuMonth:integer;
begin
  if (StartDate=null) OR (EndDate=null) then
  begin
    RaiseException(erCustomError, 'Не указана дата');
  end;

  SD:=TDateTime(StartDate); // Начальная дата
  ED:=TDateTime(EndDate);   // Конечная дата (дата проведения расчета)

  // запоминаем месяц по счету в квартале по начальной дате
  if(MonthOf(SD)=MonthOf(beginQuarter(SD)))then
    SQuMonth:=0
  else if(MonthOf(SD)=MonthOf(endQuarter(SD)))then
    SQuMonth:=2
  else
    SQuMonth:=1;

  EQuMonth:=MonthOf(AddMonth(beginQuarter(ED),SQuMonth));// Запоминаем месяц по счету в текущем квартале
  // Т.е. месяц в текщем квартале который соответствует месяцу в начальном квартале.

  if(tryEncodeDate(YearOf(ED),EQuMonth,DayOf(SD),tempD))then
  // Пытаемся переместится в нужный месяц в текущем квартале, на заданое число
  begin
    tempD:=tempD+Frac(SD);
    //debug('Encode-OK  '+varToStr(tempD));
  end
  else
  begin
  // Если не получилось, перемещаемся в последний день месяца
    tempD:=EncodeDate(YearOf(ED),EQuMonth,DayOf(EndMonth(ED)));
    tempD:=tempD+Frac(SD);
    //debug('Encode-NOT '+varToStr(tempD));
  end;

  // Проверяем наступление события в текущем квартале.
  if(tempD<ED)then // Если дата уже прошла
  begin
    tempD:=addMonth(tempD,3); // Перемещаемся в следующий квартал (на 3 месяца вперед)
    //debug('Add_OK  '+varToStr(tempD));
  end;

  Result:=tempD;
end;

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Вт фев 11, 2020 4:13 pm

В шапке пока не обновляю, но не удержался поделиться :)
Прикрутил системный трей, не забудьте поставить галочку в подключении расширения.
Сейчас пока тестирую.
Вложения
Reminder.7z
(12.06 КБ) 18 скачиваний

Vofka18
Опытный
Сообщения: 309
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Модуль напоминаний о событиях

Сообщение Vofka18 » Пт фев 14, 2020 9:56 am

Обновил вложения в шапке.
Поддерживается трей, + немного поправил код.


Вернуться в «Расширения и плагины»