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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2016, 17:10   #1  
MIzantrop is offline
MIzantrop
Участник
 
11 / 10 (1) +
Регистрация: 11.04.2016
Собственно, нужно программно получить текущую дату в Навике. И еще, было бы не плохо получать название месяца по его номеру (если есть такой встроенный функционал, чтобы не писать велосипед). Нарыл где-то слова TODAY и WORKDATE, но гуглы по этому поводу ничего не сказали. Надеюсь, кто-то подскажет, что да как.
Старый 27.04.2016, 17:15   #2  
MIzantrop is offline
MIzantrop
Участник
 
11 / 10 (1) +
Регистрация: 11.04.2016
Тему можно закрыть. Хоть в msdn ни слова об этом (поиск, по крайней мере, ничего не нашел), но TODAY и WORKDATE таки возвращают текущую дату.
Старый 27.04.2016, 17:25   #3  
Case is offline
Case
Участник
 
89 / 10 (1) +
Регистрация: 26.09.2005
Адрес: Москва
Аккуратней)
Today - это текущая, а Workdate это все же рабочая дата, которая может меняться пользователем в меню и отличаться от текущей.
Например, когда в первых числах месяца делают документы прошлым месяцем - меняют рабочую дату, чтобы в новых документах по-умолчанию проставлялась именно Рабочая, а не текущая дата.
Старый 28.04.2016, 05:17   #4  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
По поводу названия месяца - поизучайте табличку Date
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 28.04.2016, 09:38   #5  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Цитата:
Сообщение от Дуд Посмотреть сообщение
По поводу названия месяца - поизучайте табличку Date
Название месяца можно ведь и функцией FORMAT получить?
Код:
FORMAT(TODAY,0,'<Month Text>')
Старый 28.04.2016, 10:53   #6  
MIzantrop is offline
MIzantrop
Участник
 
11 / 10 (1) +
Регистрация: 11.04.2016
С названием месяца я тоже разобрался. Сейчас вопрос в другом. Как получить дату последнего дня месяца (текущего, предыдущего и т.п.)? Чтобы это было как-то полаконичнее.
Старый 28.04.2016, 11:14   #7  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
DATE2DMY(CALCDATE('<CM>',MyLovelyDate),1);
Старый 28.04.2016, 11:40   #8  
MIzantrop is offline
MIzantrop
Участник
 
11 / 10 (1) +
Регистрация: 11.04.2016
Цитата:
Сообщение от Sancho Посмотреть сообщение
DATE2DMY(CALCDATE('<CM>',MyLovelyDate),1);
Для DATE2DMY(CALCDATE('<CM - 1М>',MyLovelyDate),1); выводит 30. А в прошлом месяце был 31 день
Старый 28.04.2016, 11:54   #9  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Надо не так. Надо DATE2DMY(CALCDATE('<-CM - 1D>',MyLovelyDate),1)
Старый 28.04.2016, 11:54   #10  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
В предыдущем варианте Вы от 30-го апреля отнимаете один месяц и получаете 30-е марта.
Старый 28.04.2016, 12:33   #11  
Captain is offline
Captain
Участник
Лучший по профессии 2017
 
300 / 81 (3) ++++
Регистрация: 28.02.2003
Цитата:
Сообщение от Eugeny_F Посмотреть сообщение
Надо не так. Надо DATE2DMY(CALCDATE('<-CM - 1D>',MyLovelyDate),1)

CALCDATE('<CM+1D-1D>');
__________________
---------------------------------------------------------------------------------------------
"Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица
Старый 28.04.2016, 14:12   #12  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Цитата:
Сообщение от MIzantrop Посмотреть сообщение
Цитата:
Сообщение от Sancho Посмотреть сообщение
DATE2DMY(CALCDATE('<CM>',MyLovelyDate),1);
Для DATE2DMY(CALCDATE('<CM - 1М>',MyLovelyDate),1); выводит 30. А в прошлом месяце был 31 день
это для текущего, для предыдущего месяца по-другому:
DATE2DMY(CALCDATE('<CM>',CALCDATE('<-1M>',MyLovelyDate)),1);
 


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

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

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