Плагін Outlook та автозапуск бізнеспроцесів, Спільнота Террасофт
При роботі із системою через плагін Outlook не працює механізм автозапуску процесів. Тобто, наприклад, під час створення інциденту має запускатися процес. Якщо інцидент створити через стандартний інтерфейс, процес запуститься. Якщо ж інцидент створити через плагін у процесі прив'язки нового листа (відкривши довідник інцидентів і додавши запис у вікні зв'язків повідомлення), то процес не запуститься.
Розібравшись з механізмом автозапуску виявив, що в методі OnPrepare scr_Main ініціалізується об'єкт DatasetTriggers і на об'єкт Services вішається обробник події Deserialize, який у свою чергу перевіряє, що об'єкт, що десеріалізується, є датасетом і входить до списку автозапуску і вішає на події BeforePost.
Спробував повторити той самий трюк під час ініціалізації плагіна Outlook. Не працює. Обробник десеріалізації не спрацьовує. Максимума вдалося досягти такого коду
при ініціалізації плагіна var Wnd = Services.GetSingleItemByUSI('wnd_Main'); Wnd.Prepare(); Connector.Atributes('MainWindow') = wnd;
потім у потрібному місці вручну встановити на потрібний датасет обробник DatasetTriggers.Install(MyDataset);
Тоді спрацьовує автозапуск процесів на датасеті. Причому якщо замість wnd_Main використовувати інше вікно та ініціалізацію DatasetTriggers робити вручну, то взагалі не працює.
Як змусити працювати автозапуск процесів у плагіні Outlook? ServiceDesk 3.4
PS У реєстрах довідників, що відкриваються через плагін, не працюють гарячі клавіші на кшталт швидкого пошуку тощо. Можливо, пов'язано.