|
|
#41 |
|
Участник
|
ой,я не обратила внимания что Вы ту строку процитировали, сравнила со своей и... сорри))спаибо, попробую))
|
|
|
|
|
#42 |
|
Участник
|
И у первого способа есть такой минус, что все происходит на онанлоад, поэтому там WF может и не сработать. Можно сделать на само назначение, тагда WF должен быть настроен на изменение поля, которое содержит наименование очереди, а скрипт должен быть примерно таким :
flagSave= false; window.MyRouteTo = function() { flagSave= false;//поскольку в назначении тоже идет сохранение, но при этом сохраняются старые данные assignObject(112); foronunload();//тут у нас уже корректно заполняется поле... crmForm._bSaving = false; crmForm.detachCloseAlert(); flagSave= true;//...поэтому можно сохранить crmForm.Save();//.. поле не должно поменяться, т.к. в функции есть проверка (должна быть) } var changeAction = document.getElementById('_MIassignObject112'); if(changeAction != null){ changeAction.action = 'MyRouteTo();'; } /*==============================================================*/ и на OnSave() добавить: if(flagSave) { foronunload(); } /*==============================================================*/ кроме того, если поставлен Audit (у нас второй вариант с mmcrm.ru), там корректно история изменений отображается ![]() P.S. проверьте саму функцию foronunload();!!!!!!!!!!!!!!!! а то там после чистки немного больше проверок осталось, чем надо , а может и меньше , но там уже просто![]() P.S.S. у нас с OnSave() свои заморочки были, поскольку менялось не одно поле и у нас foronunload много проверок, вполне возможно, что при более простой функции, так дублировать не надо. Последний раз редактировалось NatK; 19.05.2010 в 14:37. |
|
|
|
|
#43 |
|
Участник
|
Опять-таки, будет работать, если назначать из карточки, а если из грида (см. скриншот), то не будет работать. А запрещать пользователю назначать обращения пачками как-то нехорошо.
__________________
Опыт позволяет ошибаться гораздо увереннее. |
|
|
|
|
#44 |
|
Участник
|
Народ, а подскажите, пожалуйста, как убрать кнопки "назначить" с общих панелей???
Чтобы только из самого обращения назначать. Не могу найти их в Isv.config и SiteMap, чтобы изменить само представление, да и в файле для обращений тоже нет ничего подобного. Где искать? |
|
|
|
|
#45 |
|
Участник
|
Цитата:
Вот теперь вопрос как это сделать.А в общем можно и это событие отлавливать, где-то было оно... |
|
|
|
|
#46 |
|
Участник
|
NatK, на mmcrm был пример как скрыть кнопки меню и кнопки на панели..
|
|
|
|
|
#47 |
|
Участник
|
Был
но вот чтобы скрыть, надо их найти в файлах ... а нету их там, во всяком случае в тех, которые экспортируются из CRM ... хардкодить не очень хотелось
|
|
|
|
|
#48 |
|
Чайный пьяница
|
Их там быть и не может, потому что это - системные кнопки. Скрыть их можно только неподдерживаемыми способами. Универсальное решение - плагин.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
|
#49 |
|
Участник
|
Плагином пыталась, но вот при каких событиях его запускать? В Plugin registration Tool невозможно поставить условие запуска Create QueueItem. Assign Incident не отрабатывает, если назначать Обращение не пользователю, а Списку ожидания. Пробовала там разные комбинации, но так и не получилось поймать момент назначения Списку ожидания. Буду очень рада, если подскажете, как настроить условия запуска плагина
С самим плагином, надеюсь, проблем не будет, да и заготовка уже давно есть... только вот в нужный момент запустить не получается
|
|
|
|
|
#50 |
|
Консультант-джедай
|
Если Вы о кнопке Назначить на панели инструментов представления объекта Обращение (та что на скриншоте), то добавьте в функцию window.onload() файла <сайт CRM>\CS\home_cases.aspx такой код:
X++: // Проверяем, что представление сформировано для объкта Обращение if (document.all.divGridParams.children["otc"].value == 112) { document.getElementById('_MBiftypeofValidateAssignfunctionValidateAssigndoActioncrmGrid112assign').style.display = "none"; }
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога
|
|
|
|
| За это сообщение автора поблагодарили: NatK (1). | |
|
|
#51 |
|
Участник
|
Спасибо огромное!
![]() А как быть с этой же кнопкой в списках ожидания? У нее имя другое и само представление там другое. В этом же файле менять? |
|
|
|
|
#52 |
|
Консультант-джедай
|
Нет, Добавьте такой код на функцию онлоад файла <сайт CRM>\Workplace\home_workplace.aspx
X++: // Проверяем, что представление сформировано для объкта Обращение if (document.all.divGridParams.children["otc"].value == 2029) { document.getElementById('mnuAssign').style.display = "none"; }
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога
|
|
|
|
|
#53 |
|
Чайный пьяница
|
Цитата:
Сообщение от NatK
Плагином пыталась, но вот при каких событиях его запускать? В Plugin registration Tool невозможно поставить условие запуска Create QueueItem. Assign Incident не отрабатывает, если назначать Обращение не пользователю, а Списку ожидания. Пробовала там разные комбинации, но так и не получилось поймать момент назначения Списку ожидания. Буду очень рада, если подскажете, как настроить условия запуска плагина
С самим плагином, надеюсь, проблем не будет, да и заготовка уже давно есть... только вот в нужный момент запустить не получается![]()
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
| За это сообщение автора поблагодарили: NatK (1). | |
|
|
#54 |
|
Участник
|
Не получается - кнопка на месте.
А где можно найти список этих кодов? они соответствуют кодам объектов? Как найти название кнопки знаю, а вот в каком файле потом писать, что она невидима и какое поставить value откуда брать? можно где-то про это почитать? а то ведь не последний же раз кнопки приходится скрывать, не спрашивать же Вас каждый раз
|
|
|
|
|
#55 |
|
Консультант-джедай
|
Цитата:
Сообщение от NatK
Не получается - кнопка на месте.
А где можно найти список этих кодов? они соответствуют кодам объектов? Как найти название кнопки знаю, а вот в каком файле потом писать, что она невидима и какое поставить value откуда брать? можно где-то про это почитать? а то ведь не последний же раз кнопки приходится скрывать, не спрашивать же Вас каждый раз ![]() ![]() Коды можете найти в http://crmserver/sdk/list.aspx Да, они соответствуют кодам объектов ![]() Почитать негде и строгой закономерности к сожелению я не заметил (наверно это наследственное) нада лазить по html-структурей сайта CRM и исследовать
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога
|
|
|
|
|
#56 |
|
Участник
|
Спасибо
Все заработало![]() Самое интересное, что для первого варианта я поместила код в начало функции и все работает. В случае со списком ожидания код был помещен в конец функции, но перед комментариями и пока не поставила код после них, ничего не работало. Тут, видимо, только методом проб и ошибок нужный вариант находится
|
|
|
|
|
#57 |
|
Участник
|
Цитата:
Сообщение от a33ik
Потому что необходимо вешать на Route сообщение этот плагин.
потом обязательно разберусь но раз получилось скрыть кнопки, то пока займусь более срочными задачами.
|
|
|
|
|
#58 |
|
Участник
|
Денис,прописала абсолютный путь, не помогло...
Причем в функции getQueue guid очереди получается, ошибку не выдает никакую, а вот в GetAttributeValueFromID выдает что 1 ошибка var errorCount = resultXml.selectNodes('//error').length; alert("errorCount : "+errorCount); Последний раз редактировалось Hjvfirf; 20.05.2010 в 10:29. |
|
|
|
|
#59 |
|
Участник
|
всем спасибо за помощь! обошла по-другому: заказчик захотел отдельную кнопку "отправить на рассмотрение", а я на нее уже повесил БП который и в очередь ставит и письмо отправляет и т.д. жду рецензии заказчика))
|
|
|
|
|
|