Перейти к основному контенту

Задача согласования документа в Telegram

При постановке в бизнес процессе задачи согласования документа, можно ее продублировать в Telegram:

public override void OnTaskCreate (ITaskBase task, P_SupplierAdvPayment context)
{
	// d8ef716f-f819-4578-9cde-698ba71524b1 - Uid задачи на диаграмме 
	SMSHelper.ChatBotTelegram.LinkWorkflowTask(new Guid("d8ef716f-f819-4578-9cde-698ba71524b1"), task, model =>
	{
      	// 542bdff7-8d93-4946-bbc3-e2941d210daf - Uid перехода Согласовано
		model.Buttons.Add(new TelegramButton { Name = "Согласовано", Emoji = "✅", ConnectorUid = new Guid("542bdff7-8d93-4946-bbc3-e2941d210daf") });
      	// c17b1064-0dbf-4372-b74d-38c84af7d05a - Uid перехода Не согласовано
		model.Buttons.Add(new TelegramButton { Name = "Отказано", Emoji = "❌", ConnectorUid = new Guid("c17b1064-0dbf-4372-b74d-38c84af7d05a") });

      	// Счет
		if (context.Invoice != null)
			model.Document = new TelegramDocument { Name = context.Invoice.Name, File = context.Invoice.CurrentVersion.File };
		
      	// Дополнительная информация
		model.Details.Add("Покупатель: " + context.Invoice.IEECustomer.Name);
      
      	// Лист согласования документа
		SMSHelper.ChatBotTelegram.AddApprovalList(model, context.Invoice);
	});
}

Необходимо добавить:

using ITino.ELMA.SMS.Helpers;
using ITino.ELMA.SMS.Models;

В результате в Telegram придет блок сообщений с кнопками:

image-1622009770424.png

При выборе действия "Отказано" задачу будет завершена и в бизнес процессе произойдет переход "Не согласовано":

image-1622009851749.png