Коллеги, добрый день.
Возникла задача: при публикации сообщения в Ленту в карточке обращения, выполнять определенные действия.
Делаю бизнес-процесс, у которого в качестве входного элемента - сигнал, который срабатывает на добавление записи в объект "Сообщение\комментарий". Далее, как я понимаю, мне надо указать Id_Схемы, в которой было опубликовано сообщение (у меня это id раздела Обращение). Указываю Id_Схемы в фильтре входного элемента. Процесс не срабатывает.
Может кто-нибудь подскажет что я делаю не так? Как отловить только нужные мне сообщения?
P.S.: если указываю этот же Id_Схемы при вставке комментария в ленту из процесса (через элемент добавления данных -> в поле Схема указываю Id_Схемы), все отлично отрабатывает
Нравится
Здравствуйте!
Нужно указывать не Id схемы, а UId.
UId можно получить следующим запросом:
select distinct UID from SysSchema where Name = 'Case' /*Указываем название схемы*/ and ExtendParent = 0 /*Указываем, что нужна незамещенная схема*/
В разных конфигурациях Id схемы будет разным, но UId будет совпадать.
Также обращаю внимание, что если сообщение является комментарием, тогда у него будет заполнено поле ParentId, а поле EntitySchemaUId останется пустым.
"Демьяник Алексей" написал:Нужно указывать не Id схемы, а UId.
Доброе утро. Спасибо, указала UId вместо Id_Схемы и получилось отловить комментарий, который был опубликован в обращении!
Но теперь возник другой вопрос - а как мне узнать в каком именно обращении было опубликовано сообщение?
Пробовала элементом "чтение данных" прочитать сообщение в ленте и у него поле "Экземпляр объекта" и потом найти обращение, у которого Id = экземпляр_объекта (который я получила при чтении данных). Но что-то не срабатывает.
Здравствуйте!
Скриншоты чтений данных предоставьте, пожалуйста.
"Демьяник Алексей" написал:Скриншоты чтений данных предоставьте, пожалуйста.
Добрый день. Скриншот прикрепила.
Здравствуйте!
Такая реализация будет работать, если было добавлено обычное сообщение, которое не является комментарием другого сообщения.
Если сообщение является комментарием, тогда необходимо дополнительно прочитать значение поля "Родительское сообщение". Сообщение является комментарием, если:
- У сообщения не заполнено поле "Экземпляр объекта"
- У сообщения заполнено поле "Родительское сообщение"
Также, такой процесс будет запускаться при добавлении сообщения в любом разделе системы (зависит от настроек стартового сигнала). Таким образом, если сообщение было добавлено в раздел "Активности", то чтение данных по объекту "Обращение" наврядли что-то прочитает.
Также хочу обратить внимание, что для раздела "Обращения" есть два объекта, которые хранят обычные сообщения и портальные сообщения. В зависимости от бизнес-задачи необходимо вычитывать данные из разных объектов.
"Демьяник Алексей" написал:Также, такой процесс будет запускаться при добавлении сообщения в любом разделе системы (зависит от настроек стартового сигнала).
Стартовый сигнал срабатывает именно на добавление сообщения в ленте в разделе обращения (проверяла много раз, писала в разных карточках различных разделов сообщения в ленту, срабатывает процесс именно на сообщении, которое было написано в обращении).
"Демьяник Алексей" написал:Такая реализация будет работать, если было добавлено обычное сообщение, которое не является комментарием другого сообщения.
Именно, данный процесс сделан для того, чтобы читать просто сообщение, написанное в ленту, не комментарий сообщения. Но по какой-то причине процесс не работает, не могу понять почему.
Обратитесь в поддержку, описав кейс воспроизведения и предоставив обезличенную базу данных.