Добрый день Комрады.
В общем пытаюсь реализовать отправку уведомления.
Проблема в том что та инструкция которая есть не подходит для моего случая.
https://academy.terrasoft.ru/documents/technic-sdk/7-12/kak-sozdavat-po…
В Бизнес процессе происходит следующее, стоит событие на изменение стадии Продажи.
Потом идет Скрипт-таск. Интерпретируемый.
Проблема в том что при вызове
var remindingConfig = new RemindingConfig(campaign);
Ругается на ошибку
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в Terrasoft.Core.Entities.Entity.get_PrimaryColumnValue()
в Terrasoft.Configuration.RemindingConfig..ctor(Entity entity)
в Terrasoft.Core.Process.UsrProcess4MethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context)
в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)
var id = Get<Guid>("ProcessSchemaParameter1");
Set("Par2",id.ToString());
var userConnection = context.UserConnection;
var campaignESQ = new EntitySchemaQuery(userConnection.EntitySchemaManager, "Opportunity");
var campaignTitle = campaignESQ.AddColumn("Title").Name;
var campaignid = campaignESQ.AddColumn("Id").Name;
var campaign = campaignESQ.GetEntity(userConnection, id);
if (campaign == null)
{
return false;
}
DateTime remindTime = DateTime.Now;
IRemindingTextFormer textFormer = ClassFactory.Get<UsrLeadRemindingTextFormer1>(
new ConstructorArgument("userConnection", userConnection));
string leadName = campaign.GetTypedColumnValue<string>(campaignTitle);
string subjectCaption = textFormer.GetBody(new Dictionary<string, object> {
{"LeadName", leadName}
});
string popupTitle = textFormer.GetTitle(null);
var remindingConfig = new RemindingConfig(campaign);
remindingConfig.AuthorId = userConnection.CurrentUser.ContactId;
remindingConfig.ContactId = userConnection.CurrentUser.ContactId;
remindingConfig.NotificationTypeId = RemindingConsts.NotificationTypeRemindingId;
remindingConfig.RemindTime = remindTime;
remindingConfig.Description = subjectCaption;
remindingConfig.PopupTitle = popupTitle;
var remindingUtilities = ClassFactory.Get<RemindingUtilities>();
remindingUtilities.CreateReminding(userConnection, remindingConfig);
return true;
Может кто нибудь сделать внятную инструкцию как отправлять уведомления через БП скриптом ???