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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.01.2014, 11:43   #1  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Сделал еще такую проверку:
  • Поцепил функцию на onSave
  • Проверил что onSave запускается перед повторным onChange
  • В onSave написал строчку
    Код:
    Xrm.Page.getAttribute("new_a1").removeOnChange(econsulting.TM.changeDateTime);

Получил желаемый результат поле не изменилось, но и onChange больше на нем нет тем самым в поле можно вводить что угодно

Вопрос
Что может вызывать onChange поля после сохранения ? onLoad больше не запускается.

Интересные факты
  • В CRM 2013 обновление страницы по нажатию на F5 или Ctrl+F5 вызывают функции на onSave
  • Если поле типа Дата и время было заполнено ранее и мы открыли запись и нажали сохранить то фокуса с повторным onChange нет

Последний раз редактировалось spectr; 29.01.2014 в 11:50.
Старый 29.01.2014, 17:21   #2  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Проверил на другой СРМ та же проблема
Свою проблему временно решил созданием еще одного поля которое будет эталоном и содержать дату ту которую ввел юзер.
И если эти 2 даты совпадают ничего не делаю если нет то провожу проверку.
После чего меняю или нет дату введенную юзером и вкидываю ее в второе поле.
Выглядит это так:
Код:
if (Xrm.Page.getAttribute("new_a1").getValue() != null){
	if (Xrm.Page.getAttribute("new_a2").getValue() != null && Xrm.Page.getAttribute("new_a1").getValue().getTime() == Xrm.Page.getAttribute("new_a2").getValue().getTime()){
		return;
	}
	var dd = Xrm.Page.getAttribute("new_a1").getValue();
	var cd = new Date();
		cd.setMinutes(cd.getMinutes()+15);
	if (dd.getTime() < cd.getTime()){
		Xrm.Page.getAttribute("new_a1").setValue(cd);
	}
}
Xrm.Page.getAttribute("new_a2").setValue(Xrm.Page.getAttribute("new_a1").getValue());
Но что делать с этой проблемой ХЗ
Старый 29.01.2014, 17:54   #3  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от spectr Посмотреть сообщение
Но что делать с этой проблемой ХЗ
В саппорт инцидент заводить
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 29.01.2014, 19:33   #4  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Пока делал скрипт напоролся на очень интересную штуку после чего сделал маленький тест и о БОГИ оно заработало !!!!!

И так вся проблема в типе Дата и время он принимает только до минуты а секунды режет ! Потому допускаю вот именно эта обрезка и передергивает поле.
И так получилось все очень просто:
Код:
if (Xrm.Page.getAttribute("new_a1").getValue() != null){
	var dd = Xrm.Page.getAttribute("new_a1").getValue();
	var cd = new Date();
		cd.setSeconds(0);
		cd.setMilliseconds(0);
		cd.setMinutes(cd.getMinutes()+15);
	if (dd.getTime() < cd.getTime()){
		Xrm.Page.getAttribute("new_a1").setValue(cd);
	}
}
Старый 29.01.2014, 19:42   #5  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
отключи автосохранение и все будет работать.
каждые 30 сек происходит попытка сохранить данные, но они по какой-то причине не хотят сохранятся после чейнджа... в итоге форма висит в замкнутом цикле.... и апдейтит поле.
__________________
Все что вам нужно - это мозК
Еда - топливо... Одежда - необходимость...
Старый 29.01.2014, 19:52   #6  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Цитата:
Сообщение от -O_o- Посмотреть сообщение
отключи автосохранение и все будет работать.
каждые 30 сек происходит попытка сохранить данные, но они по какой-то причине не хотят сохранятся после чейнджа... в итоге форма висит в замкнутом цикле.... и апдейтит поле.
Проблема не в автосохранении так как onChange проходил после сохранения !
И автосохранение у меня отключено.

Проблему решил в посте выше. Алогично но работает
Старый 29.01.2014, 20:08   #7  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
Цитата:
Сообщение от spectr Посмотреть сообщение
Проблема не в автосохранении так как onChange проходил после сохранения !
И автосохранение у меня отключено.

Проблему решил в посте выше. Алогично но работает
а у меня без автосейва все заработало
но рад что есть решение ))
__________________
Все что вам нужно - это мозК
Еда - топливо... Одежда - необходимость...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Gareth Tucker: CRM 2013 New Features: Using Real-time Workflow for Validation Rules Blog bot Dynamics CRM: Blogs 0 07.12.2013 08:31
Gareth Tucker: CRM 2013 New Features: Access Teams Blog bot Dynamics CRM: Blogs 0 25.11.2013 07:12
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 14 Blog bot Dynamics CRM: Blogs 0 12.07.2013 07:13
Странное исключение при создании (назначении) нового действия в CRM 4.0 Dicora Dynamics CRM: Функционал 2 14.09.2010 20:26
Ошибка бизнес-процесса Tarasov E Dynamics CRM: Разработка 9 18.02.2010 14:02

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

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

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