AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.11.2006, 13:06   #1  
AVX is offline
AVX
Участник
 
17 / 10 (1) +
Регистрация: 21.11.2006
Не могу найти по дате номер недели.
Использую таблицу 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  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
а Posting date какой?
Старый 21.11.2006, 13:15   #3  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Если Posting Date <> 0D, то должен находить
Старый 21.11.2006, 13:15   #4  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Цитата:
Сообщение от randrews Посмотреть сообщение
Если Posting Date <> 0D, то должен находить
полностью поддерживаю
Старый 21.11.2006, 13:18   #5  
AVX is offline
AVX
Участник
 
17 / 10 (1) +
Регистрация: 21.11.2006
"Posting Date" и "Week Number" - это поля таблицы (Rec), и допустим пишу это на Validate "Posting Date "- хочу, чтобы при вводе даты учета проставлялся номер недели
Старый 21.11.2006, 13:25   #6  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
так надо посмотреть в дебагере какое значение "Posting Date" в случае когда "не работает"
Старый 21.11.2006, 13:25   #7  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от AVX Посмотреть сообщение
"Posting Date" и "Week Number" - это поля таблицы (Rec), и допустим пишу это на Validate "Posting Date "- хочу, чтобы при вводе даты учета проставлялся номер недели
Могу предположить только, что форму не апдейтите и не видите, что неделя проставилась... больше ничего в голову не приходит, так как код, написанный Вами, полностью соответствует желаемому результату.
Смотрите в дебагере
Старый 21.11.2006, 13:27   #8  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
"Week Number" := DATE2DWY("Posting Date", 2 {week number})
Старый 21.11.2006, 13:30   #9  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от romeo Посмотреть сообщение
"Week Number" := DATE2DWY("Posting Date", 2 {week number})


Хорошо, когда человек смотрит вглубь проблемы.
Старый 21.11.2006, 13:30   #10  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Цитата:
Сообщение от romeo Посмотреть сообщение
"Week Number" := DATE2DWY("Posting Date", 2 {week number})
хотя первый пример тоже должен работать
Старый 21.11.2006, 13:36   #11  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
romeo - молоток

остальным - пример не рабочий
надо писать
tDate.SETFILTER(tDate."Period End",'>=%1',CLOSINGDATE("Posting Date"));
Старый 21.11.2006, 13:41   #12  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
все работает - не обязательно писать tDate.SETFILTER(tDate."Period End",'>=%1',CLOSINGDATE("Posting Date")) так как дело не в этом
Старый 21.11.2006, 13:44   #13  
AVX is offline
AVX
Участник
 
17 / 10 (1) +
Регистрация: 21.11.2006
Не работает и с CLOSINGDATE
Старый 21.11.2006, 13:58   #14  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
да, и без 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  
Greggy_imported is offline
Greggy_imported
Участник
Аватар для Greggy_imported
 
291 / 10 (1) +
Регистрация: 24.09.2004
Приведи пример какого либо "Posting Date" в случае которого твой пример не работает?
Старый 21.11.2006, 13:58   #16  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
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  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Рома не выпендривайся, все равно короче чем DATE2DWY() не выйдет :-D
Старый 21.11.2006, 14:17   #18  
AVX is offline
AVX
Участник
 
17 / 10 (1) +
Регистрация: 21.11.2006
В общем, проблема то была в таблице, для которой вычислялось поле Week Number. Импортировал объект - эту таблицу в неизмененном виде. После этого код с tDate заработал
Спасибо всем. Воспользуюсь методом romeo
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:20.