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