Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
Запрет быстрого закрытия Действий
Запись от Артем Enot Грунин размещена 12.10.2010 в 09:45
Теги dom, java script, status, unsupport
Существует два способа закрыть Действие на форме объекта. Первый и наиболее удобный - нажать кнопку "Сохранить как завершенное" (deactivate) после чего действие будет переведено в неактивное Состояние (со Статусом по умолчанию), а его форма будет закрыта. Второй способ - в меню "Действия" выбрать пункт "Закрыть объект". В этом случае будет открыт диалог, в котором можно указать Статус с которым Действие будет закрыто.
В случае когда необходимо учитывать Состояние с которым закрывается некоторое действие, например, если стандартный список состояний был дополнен исходя из требований заказчика (например, "Провал" или "Перенесено клиентом"), может потребоваться запретить быстрое закрытие. Удалить кнопку через JS DOM - задача вполне тривиальная, но исчезновение кнопочки может повергнуть пользователя в шок, поэтому я решил просто подменить действие которое она выполняет, на правильное с точки зрения заказчика:
Данный код необходимо поместить в код загрузки формы. После его выполнения результат нажатия на кнопку будет идентичен выбору пункта меню Действия.
В случае когда необходимо учитывать Состояние с которым закрывается некоторое действие, например, если стандартный список состояний был дополнен исходя из требований заказчика (например, "Провал" или "Перенесено клиентом"), может потребоваться запретить быстрое закрытие. Удалить кнопку через JS DOM - задача вполне тривиальная, но исчезновение кнопочки может повергнуть пользователя в шок, поэтому я решил просто подменить действие которое она выполняет, на правильное с точки зрения заказчика:
Код:
var deactivateButton = document.all._MBSaveAsCompleted; if (deactivateButton != null) { deactivateButton.action = "changeState('deactivate', '" + crmForm.ObjectTypeCode + "', '5');"; }
Всего комментариев 0