Показать сообщение отдельно
Старый 23.12.2011, 16:41   #3  
ashuron is offline
ashuron
Участник
 
41 / 10 (1) +
Регистрация: 25.03.2010
Спасибо за ответ, однако это не совсем то, что мне надо.
Конечно, можно сообщить пользователю, что он услышан и не стоит больше нажимать кнопку, но ведь он все-таки ее нажнмет, и получит сообщение об ошибке.
Я бы, конечно, ожидал, что в CRM была бы возможность отключить Ленту из JS, например. Однако, похоже, что Xrm.Page.ui.refreshRibbon() - единственная функция
Поэтому я не вижу другого решения, кроме создания нового поля на сущности, используемого исключительно для включения или выключения кнопки на Ленте и следующего алгоритма:
1. Перед запуском основной функции, занимающей несколько секунд, менять новый статус на сущности
2. В JS перед вызовом основной функции вызывать Xrm.Page.ui.refreshRibbon()
3. После выполнения основной функции вернуть новый статус назад
4. Потом опять вызвать Xrm.Page.ui.refreshRibbon().

Мне кажется, что этот подход все-таки немного неверен (или в корне неверен), и должны быть более "правильные" методы решения этой проблемы... ИМХО

Цитата:
Сообщение от Borisvil Посмотреть сообщение
Здравствуйте!

Сталкивался с такой бедой - при нажатии на кнопку создавалась кастомная сущность и потом она открывалась в новом окне, это занимало некое время и юзеры невничая давили на кнопку несколько раз.
Решил проблему следующим образом: из скрипта, который висит на кнопке, сразу вызывается новое окошко с новой требуемой сущностью и предварительно заполненными полями. Это происходит быстро и сразу при нажатии на кнопку открывается новое окошко IE, а уж сколько оно потом будет грузиться не так важно поскольку юзер увидел что нажатие на кнопку возымело результат.
Как такое сделать написано здесь (ищите Pop the Create form of a CRM record type):
http://gtcrm.wordpress.com/2011/03/1...enceupdated-2/