Страница 1 из 1

Праздничные даты - можно ли учитывать в формулах/записях?

Добавлено: 21 янв 2019, 18:26
alcompstudio
Есть возможность исключать праздничные даты в поле Разница в днях (часах, годах), настроенные в специальном модуле Праздничные даты.
А можно ли (как?) вычислить время работы (в записи, имеющей поля Дата начала и Дата окончания, с выбором времени), приходящееся на праздничную дату?
Т.е. к примеру, есть сущность Учет рабочего времени и там рассчитывается разница между 2-мя полями дата со временем (часы работы). Но вот нужно посчитать это время работы в любом случае, особенно, если день работы припадает на праздничную дату. Вот нужно сделать отчет, сколько часов сотрудник отработал в праздничные дни и т.п. с выводом этих праздничных дат и временем работы по ним.
В случае с выходными - там просто, можно поставить формулу в поле MySQL, которая будет проверять на совпадение текущего дня с днем недели (суббота, воскресенье - т.е. 5 и 6 день по MySQL) и назначить 1, если выходные, и 0 - если не выходные.

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

IF(WEEKDAY(FROM_UNIXTIME([223],'%Y-%m-%d'))=5 OR WEEKDAY(FROM_UNIXTIME([223],'%Y-%m-%d'))=6,1,0)
вот что-то типа такого, и тут уже можно эти 1 и 0 использовать в дальнейших подсчетах.

А вот как быть с праздничными днями, назначаемыми в модуле Руководителя? Их как-то можно вытянуть и сделать подобную проверку?

что-то типа этого, может чтобы получалось:

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

IF([223]=[дата из диапазона значений в записях модуля Праздничные даты],1,0)
или может есть какое-то решение, которое сможет решить данный вопрос (а я просто не заметил), подскажите, Сергей, или ув. специалисты, кто в курсе как такое сделать :)

Re: Праздничные даты - можно ли учитывать в формулах/записях?

Добавлено: 21 янв 2019, 18:55
support
Это вам нужно писать под-запрос. Попробуйте вот так:

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

if( (select count(*) from app_holidays h where h.start_date<= [223] and h.end_date>=[223])>0 , 1,0)

Re: Праздничные даты - можно ли учитывать в формулах/записях?

Добавлено: 21 янв 2019, 19:12
alcompstudio
не получается... поставил формулу в поле MySQL http://prntscr.com/ma5hsn, выводит все нули. В Праздничных датах поставил такие записи:

http://prntscr.com/ma5g7w

в результате - "0"... http://prntscr.com/ma5h0r

Может что-то не так сделал?

Re: Праздничные даты - можно ли учитывать в формулах/записях?

Добавлено: 21 янв 2019, 19:18
alcompstudio
Все, получилось) нужно было преобразовать значение даты, вот такая формула срабатывает:

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

if((select count(*) from app_holidays h where h.start_date <= FROM_UNIXTIME([223],'%Y-%m-%d') and h.end_date >= FROM_UNIXTIME([223],'%Y-%m-%d'))>0,1,0)
Сергей, спасибо за подсказку ;)

Re: Праздничные даты - можно ли учитывать в формулах/записях?

Добавлено: 13 июл 2021, 13:32
nruslan2
Немного переосмыслил данную тему и сделал просто доработку чтоб не мучаться с SQL, а использовать динамическую Дату
viewtopic.php?f=3&t=4487