Расширенная функциональность
19
Сен
12

Стандартные кастомные алерты

Маленький пример JS-кода, как пользоваться «стандартным» функционалом по выводу предупреждений пользователю в виде желтенькой полоски:

if (typeof (MyFunctionsPack) == "undefined") {MyFunctionsPack = {}; }

MyFunctionsPack.MyFunctions = {
    set_alert: function (id, type, source, text) {
        var notificationsArea = document.getElementById('crmNotifications');
        notificationsArea.AddNotification(id, type, source, text);
    },
    clear_alert: function (source) {
        var notificationsArea = document.getElementById('crmNotifications');
        notificationsArea.SetNotifications(null, source);
    },
    clear_all_alerts: function () {
        var notificationsArea = document.getElementById('crmNotifications');
        notificationsArea.SetNotifications(null, null);
    }
}

Собственно код состоит из трех функций:

  • set_alert – добавляет новое сообщение. Принимает четыре параметра:
    • id – идентификатор сообщения;
    • type – тип сообщения (по важности). Может быть трех видов:
      • 1 – критический;
      • 2 – предупреждение;
      • 3 – информирование.

      Тип сообщения влияет на иконку выводимую рядом с сообщением.

    • source – тоже что то вроде id’ишника. Важный параметр, т.к. используется в функции clear_alert;
    • text – текст сообщения, который будет выведен в желтой полоски.
  • clear_alert – удаляет одно или несколько сообщений. Принимает параметр «source», заданный с помощью функции set_alert. Сообщения с заданным source’ом и будут удалены;
  • clear_all_alerts – удаляет все выведенные сообщения, никаких параметров не принимает.


Комментарии (12)
  • Lexx 19.09.2011

    Этот код для CRM2011? У меня почему то в элементе notificationsArea нет метода AddNotification

  • slivka_83 19.09.2011

    Ну скриншоты вроде из CRM 2011 🙂 И скриншоты работоспособности тоже приведены 🙂 Может правда ролапы разные… и они чего то там поменяли…

  • HSpirit 19.09.2011

    Меня вот мучает вопрос: у всех ли при появлении скрола на форме эти нотификации скрываются верхним фреймом? Скрол конечно же горизонтальный.

  • slivka_83 19.09.2011

    >Меня вот мучает вопрос: у всех ли при появлении скрола на форме эти нотификации скрываются верхним фреймом?

    Ничего не понял 🙂

  • HSpirit 19.09.2011

    Первый пост был чисто посмотреть читает ли кто-нибудь тут:).
    Поясню.
    Берем форму например Клиент.
    Открываем ее не в полный экран. Так чтобы появился скролл — горизонтальный. Т.е. когда форма не вмещается в окно браузера полностью по горизонтали.
    Вешаем любую нотификацию.
    Выставляем курсор на самый верхний элемент инпут.
    Далее, с помощью кнопки tab смещаемся по строчкам вниз.
    В результате видим, что часть нотификации скрылась под шапкой формы.

  • slivka_83 19.09.2011

    Я такого эксперимента не проводил, но этоо неподдерживаемая кастомизация. И если что-то работает не так, тут уже ничего не поделаешь 🙂 разве что писать какую-либо другую кастомизацию 🙂

  • HSpirit 19.09.2011

    Это баг мелкософта, ведь это их реализация уведомления и даже если не писать своих скриптов, а просто добиться их уведомления(любого) баг будет существовать. По тому и вопрос, существует ли решение. На данный момент я не нашел такового.
    Или может есть мысли, как это исправить, по html видно, что размер таблицы выходит за размеры дива, внутри которого эта таблица находится.

  • slivka_83 19.09.2011

    Тогда Вам нужно заводить Инцидент в MS 🙂

  • kseniya 19.09.2011

    Скажите кто-нибудь пробовал выводить Notification на другие формы (главные формы) по определенному условию?

  • slivka_83 19.09.2011

    А в чем проблема? 🙂 Более-менее простой if.

  • Михаил 19.09.2011

    а не выполнения этих требований, не даст пользователю продолжить действия? например перейти на другой этап в.сделки

  • slivka_83 19.09.2011

    О каких требованиях речь?

*

code