21.11.2006, 13:06 | #1 |
Участник
|
Не могу найти по дате номер недели.
Использую таблицу Date таким образом: tDate.RESET; tDate.SETRANGE(tDate."Period Type",tDate."Period Type"::Week); tDate.SETFILTER(tDate."Period Start",'<=%1',"Posting Date"); tDate.SETFILTER(tDate."Period End",'>=%1',"Posting Date"); IF tDate.FIND('-') THEN "Week Number":=tDate."Period No."; Почему не находит? |
|
21.11.2006, 13:11 | #2 |
Участник
|
а Posting date какой?
|
|
21.11.2006, 13:15 | #3 |
Участник
|
Если Posting Date <> 0D, то должен находить
|
|
21.11.2006, 13:15 | #4 |
Участник
|
|
|
21.11.2006, 13:18 | #5 |
Участник
|
"Posting Date" и "Week Number" - это поля таблицы (Rec), и допустим пишу это на Validate "Posting Date "- хочу, чтобы при вводе даты учета проставлялся номер недели
|
|
21.11.2006, 13:25 | #6 |
Участник
|
так надо посмотреть в дебагере какое значение "Posting Date" в случае когда "не работает"
|
|
21.11.2006, 13:25 | #7 |
Участник
|
Цитата:
Смотрите в дебагере |
|
21.11.2006, 13:27 | #8 |
Участник
|
"Week Number" := DATE2DWY("Posting Date", 2 {week number})
|
|
21.11.2006, 13:30 | #9 |
Участник
|
|
|
21.11.2006, 13:30 | #10 |
Участник
|
|
|
21.11.2006, 13:36 | #11 |
Участник
|
romeo - молоток
остальным - пример не рабочий надо писать tDate.SETFILTER(tDate."Period End",'>=%1',CLOSINGDATE("Posting Date")); |
|
21.11.2006, 13:41 | #12 |
Участник
|
все работает - не обязательно писать tDate.SETFILTER(tDate."Period End",'>=%1',CLOSINGDATE("Posting Date")) так как дело не в этом
|
|
21.11.2006, 13:44 | #13 |
Участник
|
Не работает и с CLOSINGDATE
|
|
21.11.2006, 13:58 | #14 |
Участник
|
да, и без Closingdate работает:
tDate.RESET; tDate.SETRANGE("Тип периода",tDate."Тип периода"::Неделя); tDate.SETFILTER(tDate."Начало периода",'<=%1',TODAY); tDate.SETFILTER(tDate."Конец периода",'>=%1',TODAY); IF tDate.FIND('-') THEN MESSAGE(FORMAT(tDate."Период Но.")); |
|
21.11.2006, 13:58 | #15 |
Участник
|
Приведи пример какого либо "Posting Date" в случае которого твой пример не работает?
|
|
21.11.2006, 13:58 | #16 |
Участник
|
tDate.RESET;
tDate.SETRANGE("Period Type", "Period Type"::Week); tDate.SETFILTER("Period Start",'<=%1',"Posting Date"); IF tDate.FIND('+') THEN "Week Number":=tDate."Period No."; |
|
21.11.2006, 13:59 | #17 |
Участник
|
Рома не выпендривайся, все равно короче чем DATE2DWY() не выйдет :-D
|
|
21.11.2006, 14:17 | #18 |
Участник
|
В общем, проблема то была в таблице, для которой вычислялось поле Week Number. Импортировал объект - эту таблицу в неизмененном виде. После этого код с tDate заработал
Спасибо всем. Воспользуюсь методом romeo |
|