Dynamics 365 - Silinmiş Kayıtları Geri Getirme Yöntemi (AUDIT)

Bugün müşterilerimizden biriyle telefon görüşmesi yaptım ve önemli kayıtlarından ikisinin bulunmadığını, bulamadığını ve önemli kayıtlar olduğunu söyledi.

İlk başta onun deaktive ettiğini ve bir şekilde bunu göremediğini düşündüm ancak daha sonra denetleme geçmişi sayesinde onları sildiklerini anladım. Sonra kayıtları tekrar kurmanın bir yolunu aramaya başladım. Şimdilik, kayıtları geri yükleme yolunu paylaşacağım ancak ilişkileri paylaşmayacağım.

C# Kodu

            CrmServiceClient crmServ = CrmManagerStatic.GetCrmServiceClient();

            // deleted record's audit id which you want to restore
            Guid auditId = new Guid("deleted_record's_audit_guid");
            // create RetrieveAuditDetailsRequest object          
            var request = new RetrieveAuditDetailsRequest { AuditId = auditId };
            // execute request and retrieve response        
            var response = (RetrieveAuditDetailsResponse)crmServ.Execute(request);
            // create auditDetail object and assign response's auditdetail value
            AuditDetail auditDetail = response.AuditDetail;
            // cast audtitDetail as AttributeAuditDetail which contains record's attributes            
            AttributeAuditDetail attributeAuditDetail = auditDetail as AttributeAuditDetail;
            // recreate the deleted record with the same guid
            if (attributeAuditDetail != null)
                crmServ.Create(attributeAuditDetail.OldValue);

Hiç yorum yok:

Yorum Gönder