2013-03-21 17 views
0

Работая с полем даты, я получил значение даты, например /Date(1360879200000)/. Таким образом, я использовал код, чтобы получить значение даты:Как преобразовать дату в формат CRM?

var mills = parseInt(rowDate.substring(6, 19)); 
    var date = new Date(mills); 

здесь rowDate="/Date(1360879200000)/", и после того, как с помощью этого кода я получил значение даты, как date="Fri Feb 15 03:30:00 UTC+0530 2013".

Я добавил это значение в текстовое поле.

Теперь, если я вношу некоторые изменения значения в этом поле, как преобразовать это значение даты в поддерживаемую CRM-область.

Заранее спасибо.

+0

На самом деле нужна дополнительная информация здесь, так как вопрос довольно расплывчатый. Я предполагаю, что это JavaScript, судя по функции parseInt. Получали ли вы эти данные с помощью oData? Или вы читаете контроль над формой? Пройдете ли вы через Xrm.page, чтобы получить эти данные? Если нет, то почему нет? –

+0

Да, Конор, я получил эти данные, используя oData. Нет, Невозможно использовать Xrm.Page, его веб-ресурс HTML. –

+0

@TamalKantiDey Да, вы можете. См. Править. –

ответ

0

Я просто порвал свой CRM, и я делаю следующее для своего . Обращайтесь к форме (без преобразования в целое число). Я родился в феврале, но хочу быть январским ребенком.

var control = Xrm.Page.getAttribute("birthdate"); 
var birthDate; 
if(control){ 
    control.getValue(); 
} 
alert(birthDate); 

var fakeDate = new Date(birthDate.toString().replace("Feb", "Jan")); 
alert(fakeDate); 

EDIT:

Вы можете получить доступ к Xrm.Page из веб-ресурса по window.parent.Xrm.Page.etc.

+0

Привет Konrad, я создавал веб-ресурс Html, используя Odata. Я получил значение ScheduledEnd для объекта 'Task'. Думаю, Xrm.Page не может мне помочь в этом случае. –

+0

Я использовал 'Xrm.Page' для доступа к элементам управления и данным формы. oData используется при обращении к серверу (внутренне, например,) для получения некоторых данных. Но я не говорю, что вы ошибаетесь, конечно. –

0

Я нашел работу arround ... У меня было время из CRM, как /Date(1360879200000)/, из которого у меня были год, месяц, день, час, минута и секунды. с этими значениями я сделал дату, разделенную "-". Теперь при редактировании я отправил значение даты этой следующей функции. Я узнал, что CRM исключает дату создания: 2011-07-20T16:30:00Z. И он работает на меня.

function dateToCRMFormat(date) { 
    ///<summary> 
    /// function to formate normal date value to CRM supported value 
    ///</summary> 

    //debugger; 

    if (date!="") { 
     var DateArray = date.split("-"); 
     var year = DateArray[0]; 

     var monthInt = parseInt(DateArray[1], 10); 
     var month = ""; 
     if (monthInt < 10) { 
      month = "0" + monthInt.toString(); 
     } else { 
      month = monthInt.toString(); 
     } 

     var dayInt = parseInt(DateArray[2], 10); 
     var day = ""; 
     if (dayInt < 10) { 
      day = "0" + dayInt.toString(); 
     } else { 
      day = dayInt.toString(); 
     } 
     if (DateArray[3].length == 1) { 
      DateArray[3] = "0" + DateArray[3]; 
     } 
     if (DateArray[4].length == 1) { 
      DateArray[4] = "0" + DateArray[4]; 
     } 
     if (DateArray[5].length == 1) { 
      DateArray[5] = "0" + DateArray[5]; 
     } 
     var fullDate = year + "-" + month + "-" + day + "T" + DateArray[3] + ":" + DateArray[4] + ":" + DateArray[5] + "Z"; 
     return fullDate; 

    } 

} 

В любом случае, я все еще жду настоящего решения.

+0

Почему бы не использовать тот, который я предложил? Используя строковое представление, чтобы получить новый объект * Date * ... –

+0

Привет, Konrad. Это не сработало для меня. Поскольку я все еще ищу другое решение, я дам ему еще один снимок. –

+0

Не могли бы вы рассказать о том, почему это не сработало? Кажется, что преобразование прямо на обеих машинах, на которых я тестировал их ... –

Смежные вопросы