• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Номер недели во View

  • Автор темы wowa
  • Дата начала
W

wowa

Подскажите, возможно ли сделать частную папку, чтобы доки в ней выглядили след. образом?

Код:
week№1
doc1
doc2
week№2
doc3
doc4
 
O

Omh

А почему нет? :)
Посчитай, впиши (QS, кнопки или где там дата заполняется) и сортируй как угодно...
 
W

wowa

Omh , спасибо за совет, а я и не догадывался....
Хотел бы уже готовый алгоритм, чтобы не изобретать велосипед
нашел вот такой полезный источник:


Есть поле, допустим, FieldDate, в нем значения, типа 19.10.2010

Дак вот, как во вью отображать не дату, а week№42
 
N

nvyush

Код:
@Set("_yearFirstDay"; @Date(@Year(FieldDate); 1; 1));
@Set("_weekDayNumber"; @Weekday(_yearFirstDay));
@Set("_weekDayNumber"; @If(_weekDayNumber = 1; 6; _weekDayNumber - 2));
@Integer(((FieldDate - _yearFirstDay) / 86400 + _weekDayNumber) / 7) + 1))

"Правильная" формула:
Код:
_tmpDate := @Date(@Year(@Adjust(FieldDate; 0; 0; - @Weekday(@Adjust(FieldDate; 0; 0; -1; 0; 0; 0)) + 4; 0; 0; 0)); 1; 3);
@Integer(((FieldDate -_tmpDate) / 86400 + @Weekday(_tmpDate) + 5) / 7)
 
W

wowa

nvy, спасибо, вроде все правильно работает.
+1
 
N

nvyush

Прочитал по ссылке — там отмечают, что первая неделя должна содержать четверг, т.е. если начинается с пятницы — то это не первая неделя этого года, а последняя предыдущего. Мой код этот нюанс не учитывает, но допилить не сложно.
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Было это в 2003 году. Может подойдет. Перечитал - немного не в кассу топика, но, думаю, тоже полезно будет :sorry:

Код:
1 колонка
@Word("Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Дека
брь"; ","; (@Month(dDate )))+" "+@Text(@Year(dDate))

2 колонка (скрытая. для порядка)
dweek:=@If((@Weekday(dDate)-1)=0;7;@Weekday(dDate)-1);
fdate:=@Adjust(@Date(dDate);0;0;1-dweek;0;0;0 );
fdate

3 колонка (тут недели)
dweek:=@If((@Weekday(dDate)-1)=0;7;@Weekday(dDate)-1);
fdate:=@Adjust(@Date(dDate);0;0;1-dweek;0;0;0 );
ldate:=@Adjust(@Date(dDate);0;0;7-dweek;0;0;0 );
Mname:="января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,де
кабря";
tmd:=@Word(Mname; ","; (@Month(fDate )));
ntmd:=@Word(Mname; ","; (@Month(lDate)));

@If(@Month(ldate)!=@Month(fdate);"c "+@Text(@Day(fdate))+" "+tmd+" по "+@Text(@Day(ldate))+" "+ntmd;"c "+@Text(@Day(fdate))+" по "+@Text(@Day(ldate))+" "+tmd)

4 колонка (доки внутри недели)
tmd:=@Word("января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,де
кабря"; ","; (@Month(dDate )));
wday:=@Text(@Weekday(dDate));
dweek:=@If((@Weekday(dDate)-1)=0;7;@Weekday(dDate)-1);
twd:=@Word("Понедельник,Вторник,Среда,Четверг,Пятница,Суббота,Воскресенье";",";dweek);
@Text(twd+", "+@Text(@Day(dDate))+" "+tmd)
колонки соответственно сортированные. внутри опущено одна несущественная @DocChildren("";"%") перед 4-ой
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!