...и что делать, если вы его уже удалили.
В интерфейсе системы BPMonline 5.X есть иконка с конвертом, которая, согласно инструкции:
Цитата:
отображает количество непрочитанных e-mail сообщений текущего
пользователя. Нажмите на кнопку, чтобы перейти к просмотру сообщений.
Суть её работы довольно проста: при нажатии открывается первое рабочее место, в разных продуктах называемое по-разному (на рисунке — "Продажи"), а в нём раздел "Активности" с фильтром по типу "e-mail".
Проблема возникнет, если чисто пользовательскими средствами в разделе "Рабочие места" удалить первое рабочее место, либо же удалить из него раздел активности. При нажатии на иконку теперь будет банальный и некрасивый свал.
Даже если опомниться и создать заново место или раздел в месте, это не поможет, ведь Id записей теперь другие.
Отсюда простой вывод: не стоит удалять первое рабочее место. Если надо, его можно переименовать. Также раздел активностей в нём обязателен.
Если всё уже поломано, исправить ситуацию возможно. Открываем бизнес-процесс страницы MainPage, в обработчике события "Страница загружена" скрипте "Обработать Завершение Загрузки Страницы" (PageLoadCompleteScriptTask) в строке 124 находим следующий код:
string script = string.Format("{0}.on('settingstoolclick', function() {{\nthis.callPageMethod('ThrowEvent', {{signalName: 'SettingsChanged'}});\n}}, {0});", Page.MultiLevelTabs.ClientID);
script += string.Format("{0}.on('helptoolclick', function() {{\nthis.callPageMethod('ThrowEvent', {{signalName: 'HelpCalled'}});\n}}, {0});", Page.MultiLevelTabs.ClientID);
script += string.Format("{0}.on('click', function(el) {{\nlocation.replace('ViewPage.aspx?Id=5e5f9a9e-aa7d-407d-9e1e-1c24c3f9b59a&ActiveTabId=PageContainer_5ca0dabc8c894e1a9bb536407e1c4ef2_055063c98180e011afbc00155d04320c_830581929880e011afbc00155d04320c&action=selectemailfolder')}}, this)", Page.UnreadEmailCountButton.ClientID);
Тут конструкция
5ca0dabc8c894e1a9bb536407e1c4ef2_055063c98180e011afbc00155d04320c_830581929880e011afbc00155d04320c — идентификаторы записей в таблицах
- SysModuleFolder — рабочие места
- SysModule — разделы
- SysModuleInSysModuleFolder — рабочие места в разделах (развязка)
SELECT * FROM SysModule
SELECT * FROM SysModuleFolder
SELECT * FROM SysModuleInSysModuleFolder
Находим новое рабочее место, ставшее первым, записываем его Id маленькими буквами и без дефисов. Второй Id остаётся прежним, это раздел "Активности". Третий идентификатор находится в таблице развязки как Id записи, связывающей первый со вторым.
Заменяем в коде два идентификатора, публикуем страницу и получаем работающую кнопку.