Вопрос

Всем привет!

Есть необходимость кастомизировать формат отображения даты в гридах (например в гриде секции). Никак не могу докопаться до места в коде, где задается формат отображения даты (в данных хранится объект типа Date). Кто подскажет, в какую сторону копать?

Заранее спасибо за ответ.

У меня такой же вопрос

3 комментария

Дмитрий, добрый день!

Формат отображения даты можно настраивать, изменив значение типа данных у колонки в конфигурации - http://prntscr.com/jhqv2n. Но настоятельно не рекомендуется менять тип данных базовых колонок, так как у них может быть реализована дополнительная логика (связи с другими сущностями системы, индексы/триггеры в БД и т. п.).

Также есть вариант создать текстовую колонку, и, например, бизнес процессом записывать туда значение даты из нужной колонки в любом формате (варианты формата есть, к примеру, здесь).

Изменить формат в схеме страницы пока возможности нет, он установлен хардкодом.

Одеяненко Юлия,

Спасибо за ответ!

А может всё-таки кто-то докопался до места где это захардкожено ? :)

Тёскин Дмитрий Валерьевич,

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

Войдите или зарегистрируйтесь, чтобы комментировать
Идея

Так как во многих компаниях принято недельный цикл планирования, то графики строятся по неделям. 
Но в начале года невозможно нормально отобразить результаты, так как сортировка идет по номеру недели.
Предлагаю добавить формат Year&Week, чтобы отображать в нужном порядке результаты по неделям.

Одобрена
2 комментария

Здравствуйте, Владимир!

Мы передали Вашу идею аналитикам продукта, они рассмотрят возможность ее реализации в последующих релизах приложения.

Спасибо, что помогаете улучшать наши продукты!

Владимир, спасибо за проявленный интерес. Зарегистрировали ваше пожелание по развитию приложения.

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

Если складываете View для активностей с группировкой, например, по началу и концу и при этом есть процессные активности, у которых начало расчитывается как временной интервал между now и некоей датой, можете получить проблемы с секундами и милисекундами. Поэтому при группировке активностей по дате лучше всего применять вот такой каст в sql:

CAST(CONVERT(varchar(16), [StartDate], 20) AS datetime)

где StartDate - поле с датой до милисекунд.

Поделиться

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

В датасете по умолчанию дата хранится в расширенном виде.
Задача: записать в переменную дату без времени.

Если в переменной только дата, можно привести к формату dd.mm.yyyy следующим образом:

ExtractDateAsStr(new Date(Dataset.ValAsDateTime('Date'))).getVarDate);

Если дата должна выводиться в строке:

DateToStr(Dataset.ValAsDateTime('Date'));

Поделиться

3 комментария

Пример на эту тему :
Задача : Как в скрипте получить дату в виде XXXX-XX-XX XX:XX:XX из поля даты в датасете

Пример кода:

var theDate = new Date(Date.parse(Dataset.ValAsDateTime('Date')))
MessageBox( theDate.getFullYear() + "-" + (theDate.getMonth()+ 1) + "-" + theDate.getDate() + " "+theDate.getHours() + ":" + theDate.getMinutes() + ":" + theDate.getSeconds() );

где Date - поле с датасета

Результат работы : 2011-6-27 12:45:0

При выводе таким способом в строку даты, минуты и часы до 10 (0-9) выводятся без ноля.

Например:

theDate = new Date();
theDate.setMinutes(09);
 
Log.Write(1, theDate.getMinutes(09));

Результат: 9

Можно ли как-то это побороть без парсинга?

Метод getMinutes не имеет параметров, его стоит вызывать просто theDate.getMinutes(). И он возвращает число.

Чтобы получить строку с нулём, можно обернуть функцией:

function AddZero(number) {
	return (number < 10) ? '0' + number : number;
}
 
theDate = new Date();
theDate.setMinutes(9);
 
Log.Write(1, AddZero(theDate.getMinutes()));
Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

В БД значение даты храниться в формате dd.mm.yyyy hh:mm:ss

В шаблоне письма должна быть дата в формате dd.mm.yyyy. Дата вставляется в шаблон письма из пользовательского запроса. Как конвертировать дату в нужный формат в пользовательском запросе?

Может быть есть ещё какие-то варианты?

Поделиться

4 комментария

Попробуйте изменить свойство Kind для нужного поля в шаблоне:
dtkDate - Дата.
dtkTime - Время.
dtkDateTime - Дата / Время.

"Вадим_" написал:В БД значение даты храниться в формате dd.mm.yyyy hh:mm:ss

Вадим, а как Вы это определили? Вы храните в текстовом поле?

Fishi, спасибо.

Понял, как сделать проще. Даблклик на значении колонки открывает её свойства. В поле "Формат отображения дат" нужно просто выбрать необходимое.

"Осауленко Александр" написал:Вы храните в текстовом поле?

Нет, конечно. Я беру это поле в пользовательский запрос, и оно выводится в этом формате.

Вадим, ну так это формат представления данных на клиенте, в БД поле дата - это число с плавающей запятой. А то как его уже интерпретирует клиент, зависит от региональных настроек и самого клиента.

Войдите или зарегистрируйтесь, чтобы комментировать