26.11.2013, 17:04 | #1 |
Участник
|
Add hours to Date in CRM 2013
Д обрый день!
Извините за примитивный вопрос, но как в СРМ добавить два часа к дате одного из поля (формат Дата и Время). С днями, месяцами и годами проблем нет. Но когда использую метод setHours, то СРМ выдает ошибку: Не поддерживается метод. Помогите плиз разобраться. |
|
26.11.2013, 19:47 | #2 |
Чайный пьяница
|
Код, который не работает - покажите, пожалуйста.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
27.11.2013, 12:43 | #3 |
Участник
|
Добрый день!
Вот код Цитата:
var InsuredEventDate = Xrm.Page.data.entity.attributes.get("erpc_insured_ivent_date");
1) InsuredEventDate = InsuredEventDate.setHours(InsuredEventDate.getHours()+h); 2) InsuredEventDate = InsuredEventDate.setValue(InsuredEventDate.getValue().setHours(5, 0, 0)); |
|
27.11.2013, 13:12 | #4 |
Еда - топливо, Одежда - н
|
для 2011 я делал так. Заполняет и дату и время (текущее)
X++: function setDate() { var ToDay = new Date(); var dd = ToDay.getDate(); var mm = ToDay.getMonth() + 1; var year = ToDay.getYear(); var DateTime = Xrm.Page.getAttribute("scheduledend").setValue(ToDay); }
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... |
|
27.11.2013, 13:37 | #5 |
Участник
|
Thx, но у меня проблемы с методом setHours. Надо к времени добавить пару часов.
|
|
27.11.2013, 14:26 | #6 |
Еда - топливо, Одежда - н
|
Ну как-то так можно.
извините за красоту кода X++: function setDate() { var ToDay = new Date(); var hh = ToDay.setHours(ToDay.getHours()+3); Xrm.Page.getAttribute("scheduledend").setValue(ToDay); }
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... |
|
27.11.2013, 14:28 | #7 |
Участник
|
Код: var d = Xrm.Page.getAttribute("erpc_insured_ivent_date").getValue(); 1) Xrm.Page.getAttribute("erpc_insured_ivent_date").setValue(d.setHours(d.getHours()+h)); 2) Xrm.Page.getAttribute("erpc_insured_ivent_date").setValue(d.setHours(5,0,0,0)); Последний раз редактировалось spectr; 27.11.2013 в 14:30. |
|
|
За это сообщение автора поблагодарили: Ion (1). |
27.11.2013, 17:17 | #8 |
Участник
|
Цитата:
Сообщение от spectr
Код: var d = Xrm.Page.getAttribute("erpc_insured_ivent_date").getValue(); 1) Xrm.Page.getAttribute("erpc_insured_ivent_date").setValue(d.setHours(d.getHours()+h)); 2) Xrm.Page.getAttribute("erpc_insured_ivent_date").setValue(d.setHours(5,0,0,0)); Пишет, что объект не поддерживает метод |
|
27.11.2013, 17:42 | #9 |
Еда - топливо, Одежда - н
|
Я сначала думал, что прибавить к текущей дате... Но не доглядел..
Сделайте так, что не подходит? У меня все работает... X++: function setDate() { var a = Xrm.Page.getAttribute("scheduledend").getValue(); var b= a.setHours(a.getHours() + 3); Xrm.Page.getAttribute("scheduledend").setValue(b); }
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... Последний раз редактировалось -O_o-; 27.11.2013 в 17:54. |
|
27.11.2013, 18:12 | #10 |
Участник
|
1) erpc_insured_ivent_date поле типа datetime ?
2) Xrm.Page.getAttribute("erpc_insured_ivent_date").getValue() что-то возвращает (я же написал что без проверки на null код и если там будет null то к нему применить методы даты нет возможности потому и эрор) ? Дайте полный код в студию, а то это алхимия у меня такой код работает и в 2011 и в 2013 в 4.0 синтаксис другой но принцип тот же. |
|
27.11.2013, 19:59 | #11 |
Чайный пьяница
|
Попробуйте такой код:
Код: var InsuredEventDate = Xrm.Page.getAttribute("erpc_insured_ivent_date").getValue(); if (InsuredEventDate != null){ InsuredEventDate.setHours(InsuredEventDate.getHours() + 2); Xrm.Page.getAttribute("erpc_insured_ivent_date").setValue(InsuredEventDate); }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Ion (1). |
|
|