Skip to main content

Command Palette

Search for a command to run...

Tracking Workflow Users in Dynamics 365

Dynamics 365'te İş Akışı Kullanıcı Takibi

Updated
2 min read
Tracking Workflow Users in Dynamics 365
B

Senior Dynamics 365 Developer

Dynamics 365 Finance and Operations'ta iş akışları, kurumsal süreçlerin düzenli ve kontrol edilebilir bir şekilde ilerlemesini sağlayan kritik bileşenlerden biridir. İş akışı içinde kullanıcı hareketlerini takip etmek, bu hareketlere bağlı kurallar tanımlamak ve bu sayede süreci otomatikleştirmek mümkün olur.

Bu yazıda, iş akışına gönderen, onaylayan ve yeniden atanan kullanıcıların nasıl takip edileceğini gösteren display metotlar üreteceğiz. Bu metotları ilgili tabloya ekleyerek, kullanıcı hareketlerini anlık olarak görüntüleyebilir ve iş akışı kurallarına entegre edebilirsiniz.


1. İş Akışı Kullanıcı Hareketlerini Takip Etmek

Dynamics 365'te iş akışı hareketlerini kaydeden iki temel tablo vardır:

  • WorkflowTrackingTable: İş akışı hareketlerini saklayan tablo.

  • WorkflowTrackingStatusTable: İş akışının mevcut durumunu takip eden tablo.

Bu tabloları kullanarak iş akışına gönderen, onaylayan ve yeniden atanan kullanıcıyı bulabiliriz.

1.1 İş Akışını Onaylayan Kullanıcı

Bu metot, ilgili kayıt üzerinde iş akışını en son onaylayan kullanıcıyı getirir.

/// <summary>
/// İş akışını onaylayan kullanıcı
/// </summary>
display UserId workflowApprovalUser()
{
    WorkflowTrackingStatusTable workflowTrackingStatusTable;
    WorkflowTrackingTable       workflowTrackingTable;

    select firstOnly workflowTrackingTable order by CreatedDateTime desc
    exists join workflowTrackingStatusTable
     where workflowTrackingStatusTable.RecId == workflowTrackingTable.WorkflowTrackingStatusTable
        && workflowTrackingStatusTable.ContextTableId == this.TableId
        && workflowTrackingStatusTable.ContextRecId == this.RecId
        && workflowTrackingTable.TrackingType == WorkflowTrackingType::Approval;

    return workflowTrackingTable.User;
}

1.2 İş Akışına Gönderen Kullanıcı

Bir iş akışının kim tarafından başlatıldığını anlamak için aşağıdaki metodu kullanabiliriz:

/// <summary>
/// İş akışına gönderen kullanıcı
/// </summary>
display UserId workflowSubmittedUser()
{
    WorkflowTrackingStatusTable workflowTrackingStatusTable;
    WorkflowTrackingTable       workflowTrackingTable;

    select firstOnly workflowTrackingTable order by CreatedDateTime desc
    exists join workflowTrackingStatusTable
     where workflowTrackingStatusTable.RecId == workflowTrackingTable.WorkflowTrackingStatusTable
        && workflowTrackingStatusTable.ContextTableId == this.TableId
        && workflowTrackingStatusTable.ContextRecId == this.RecId
        && workflowTrackingTable.TrackingType == WorkflowTrackingType::Submission;

    return workflowTrackingTable.User;
}

Bu metot, iş akışını başlatan (ilk gönderen) kullanıcıyı getirir.

1.3 İş Akışına Son Atanan Kullanıcı

Bazen iş akışı bir başka kullanıcıya atanabilir. Bu durumda, son atanan kullanıcıyı bulmak için şu metodu kullanabiliriz:

/// <summary>
/// İş akışına son atanan kullanıcı
/// </summary>
display UserId workflowReassignedUser()
{
    WorkflowTrackingStatusTable workflowTrackingStatusTable;
    WorkflowTrackingTable       workflowTrackingTable;

    select firstOnly workflowTrackingTable order by CreatedDateTime desc
    exists join workflowTrackingStatusTable
     where workflowTrackingStatusTable.RecId == workflowTrackingTable.WorkflowTrackingStatusTable
        && workflowTrackingStatusTable.ContextTableId == this.TableId
        && workflowTrackingStatusTable.ContextRecId == this.RecId
        && workflowTrackingTable.TrackingType == WorkflowTrackingType::Creation;

    return workflowTrackingTable.User;
}

Bu metot, iş akışının son olarak hangi kullanıcıya atandığını getirir.


Sonuç

Bu display metotlarını kullanarak iş akışı hareketlerini kolayca takip edebilir ve bunlara dayalı çeşitli iş kuralları tanımlayabilirsiniz. Bu sayede iş akışınızı daha dinamik ve kural bazlı hale getirebilirsiniz.

Dynamics 365 FO Blog

Part 4 of 33

Microsoft Dynamics 365 for Finance and Operations ürünü ile ilgili yaptığım işler ve tecrübelerim

Up next

How to Use the LIKE Operator in Dynamics 365 Queries?

Dynamics 365 Sorgularında LIKE Operatörü Nasıl Kullanılır?