19.05.2015, 17:25 | #1 |
Участник
|
Помощь с SOAP
Добрый день, коллеги. Зашли в тупик, а поскольку хороших джаваскриптеров среди нас нет, просим помощи.
На форме поручения по кнопке вызывается диалоговая веб-формочка, состоящая из двух полей: для ввода даты-времени и текстового, а также двух кнопок Ок-Отмена. На кнопке "Ок" - простыня кода, суть которого сводится к апдейту поручения новым сроком из поля веб-формы и созданию письма-уведомления о переносе срока. Пока вопрос об апдейте, привожу код: var explanation = $("#textbox").val(); var newdead = Date.parseExact($("#NewDead").val(), "dd.MM.yyyy HH:mm"); var taskId = window.location.search.substring(20, 56); var updateTask = new XrmServiceToolkit.Soap.BusinessEntity("task", taskId); updateTask.attributes["navicon_explanation"] = explanation; updateTask.attributes["navicon_new_scheduledend"] = newdead; var updateResponse = XrmServiceToolkit.Soap.Update(updateTask); ... Сначала обнаружили, что вычисления стопорятся на функции parseExact - никаких сообщений об ошибке, просто выполнение прекращается и далее ничего не происходит. Функцию закомментили, попробовали подставить в переменную конкретную дату - вычисления таким же образом спотыкаются на апдейте, т.е. опять никаких ошибок, просто выполнение прекращается. Сталкивался кто-нибудь с подобным? Есть мысли, в какую сторону копать? |
|
19.05.2015, 17:30 | #2 |
Еда - топливо, Одежда - н
|
как по мне, это можно было решить диалогами
зачем писать что-то надо было ?
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... |
|
20.05.2015, 11:22 | #3 |
Участник
|
|
|
20.05.2015, 11:43 | #4 |
Чайный пьяница
|
Всё крайне просто. Объект Date не содержит реализации parseExact. Для того, чтобы ваш код заработал вам необходимо реализовать этот метод или же переписать ваш код.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
20.05.2015, 15:39 | #5 |
Участник
|
Спасибо. Мы, собственно, в ходе экспериментов пробовали обходиться без этой функции, подсовывая в переменную даты в разных форматах ("10.05.2015", "2015-05-10", "2015-05-20 00:00:00.000"), как и записывать значение поля даты-времени напрямую - разница только в том, что вычисления спотыкаются на апдейте. Неужели апдейт обязательно требует использования этой функции? Сомнительно что-то. На чём может спотыкаться апдейт?
|
|
20.05.2015, 19:03 | #6 |
Чайный пьяница
|
Попробуйте положить просто new Date() и дальше от этого плясать. Если сработает, то сможете сами формировать дату/время и передавать.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Skel (1). |
21.05.2015, 11:59 | #7 |
Участник
|
Действительно, проблема была с форматом даты. Решение:
var newdead = $("#NewDead").val(); //записываем в переменную значение поля даты-времени из формы updateTask.attributes["navicon_new_scheduledend"] = new Date(newdead.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1')); //приводим формат даты к буржуинскому, иначе не работает var updateResponse = XrmServiceToolkit.Soap.Update(updateTask); |
|