Начало недели

Автор Placidus, 2 августа 2016, 17:27

0 Пользователи и 1 гость просматривают эту тему.

Placidus

Всем прекрасного здоровья!
Подскажите, пожалуйста, как в LO глобально задать начальный день недели? Проблема проявляется при условном форматировании. При задании условия "Дата" - "Эта неделя", функция считает воскресенье первым днём недели.
З.Ы. Дополнительно подскажите, пожалуйста, как изменить уже заданный стиль? При всём желании не могу его изменить :( В диалоге "Стили и форматирование" выбираю правой мышкой на стиле "изменить" и... ничего не происходит (стиль уже задействован в условном форматировании)
Всем заранее спасибо!

kompilainenn

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

TimSha

Надо учитывать следующее (из справки): "Тип недели: тип вычисления. Если тип=1, отсчёт дней недели начинается с воскресенья (этот отсчёт используется по умолчанию, даже если аргумент "тип" опущен). Если тип=2, отсчёт дней недели начинается с понедельника=1. Если тип=3, отсчёт начинается с понедельника=0."
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

Placidus

#3
Версия ЛО 5.1.4.2
To TimSha: Это встроенная ф-ция, в ней нельзя добавить тип

upd: Проблема с изменением стиля решилась: если защитить от изменения хоть один из листов изменения стилей становятся недоступными, даже при условии, что этот стиль не используется на защищённом листе! (вероятно это не самый ожидаемый тип поведения, и он совершенно не очевиден)

kompilainenn

хех, а это нельзя изменить. я не нашел
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Placidus

Цитата: kompilainenn от  2 августа 2016, 23:33
хех, а это нельзя изменить. я не нашел
И я не нашёл, а хотелось бы! Косячок-с!

JohnSUN

Ну, если так уж хочется, то можно найти обходной путь
"Значение ячейки" "между" "TODAY()-WEEKDAY(TODAY();0)" "TODAY()-WEEKDAY(TODAY();0)+6"
(Возможно, вторую формулу можно и упростить, но сейчас просто лень этим заморачиваться - и так работает)
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Placidus

Цитата: JohnSUN от  3 августа 2016, 10:42
Ну, если так уж хочется, то можно найти обходной путь
"Значение ячейки" "между" "TODAY()-WEEKDAY(TODAY();0)" "TODAY()-WEEKDAY(TODAY();0)+6"
(Возможно, вторую формулу можно и упростить, но сейчас просто лень этим заморачиваться - и так работает)
Спасибо, это вариант, но к сожалению это также "костыль". В общем, как я понял, прямого пути нет, только обходные :( Жаль.

JohnSUN

Вообще-то есть два прямых пути.
Написать "хотелку" разработчикам и дождаться, когда в одной из следующих версий появится пунктик "Эта неделя(пнд)"
Принять закон, по которому во всём мире началом недели будет не "трудный день - понедельник", а "воскресенье - радостный день"  ;)
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

TimSha

Цитата: plalcidus от  2 августа 2016, 20:06To TimSha: Это встроенная ф-ция, в ней нельзя добавить тип
А как бы "потерзать" ваш конкретный файл с проблемным УФ?!. ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

Placidus

#10
Цитата: TimSha от  3 августа 2016, 18:30
Цитата: plalcidus от  2 августа 2016, 20:06To TimSha: Это встроенная ф-ция, в ней нельзя добавить тип
А как бы "потерзать" ваш конкретный файл с проблемным УФ?!. ;)
Дык зачем его "терзать". Создаёте диапазон ячеек с датами следующими одна за другой (например текущий месяц) и задаёте этому диапазону условное форматирование (Формат - условное форматирование: дата = эта неделя) Присваиваете этому форматированию некий стиль (например выделение цветом) и наслаждаетесь результатом: даты приходящиеся на текущую неделю будут выделены необходимым Вам цветом. Проблема будет в том, что LibreOffice выделит даты этой недели исходя из формата "1 день недели = Воскресенье". Соответственно для нынешней недели будут выделены даты с 31.07 по 06.08, т.е. Воскресенье 07.08 LibreOffice считает началом следующей недели а не концом текущей недели. (Для читателей-потомков в момент написания дата=03.08.2016)
Upd: См вложенный файл

rami

Кстати, на Маке есть возможность в системных настройках установить любой день как начало недели, но LibreOffice на системные настройки "пилюёт"

kompilainenn

Цитата: rami от  3 августа 2016, 20:54
Кстати, на Маке есть возможность в системных настройках установить любой день как начало недели, но LibreOffice на системные настройки "пилюёт"
неудивительно, ЛО должен иметь свои настройки на этот счет. И поэтому ТС'у надо было бы завести багу
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

TimSha

Еще вариант извращения для УФ - =WEEKNUM(A1;21)=WEEKNUM(TODAY();21)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)

rami

Цитата: TimSha от  4 августа 2016, 16:49Еще вариант извращения для УФ - =WEEKNUM(A1;21)=WEEKNUM(TODAY();21)
Привязка условного формата к определённой ячейке — сомнительное извращение