X++ :24- Extension ile Standart Bir Tabloya Metot eklemek.
Bu yazıda Visual Studio üzerinden Extension mantığıyla standart bir tabloya yeni bir metot nasıl eklenir anlatmaya çalışacağım.
Önceki yazımda smmActivities’e bir alan eklemiştik. Şimdi yine smmActivities’e bir FDActivityTable kaydı oluşturan bir metot ekleyelim. Öncelikle bir sınıf oluşturalım. Sonrasında aşağıdaki kodu yazalım.
[ExtensionOf(Tablestr(smmActivities))] // Burası önemli bu sınıfın smmActivities tablosunun bir Extension’ı olduğunu söylüyor.
final class FDSmmActivities_Extension // Final olması gerekiyor ve _Extension ile bitirmek lazım.
{
public void createFDActivityTable(smmActivities _smmActivities) // Kayıt oluşturan metodumuz.
{
FDActivityTable activityTable;
smmActivities smmActivitiesUp;
NumberSeq numberSeq;
FDActivityId activityId;
;
ttsbegin;
numberSeq = numberSeq::newGetNum(NumberseqmoduleFDActivity::numRefActivityId());
activityId = numberSeq.num();
activityTable.clear();
activityTable.ActivityId = activityId;
activityTable.ActivityDate = DateTimeUtil::date( _smmActivities.ActualEndDateTime);
activityTable.Employee = _smmActivities.ResponsibleWorker;
activityTable.insert();
smmActivitiesUp = smmActivities::findWithRecId(_smmActivities.RecId , true);
smmActivitiesUp.FDActivityId = activityTable.ActivityId;
smmActivitiesUp.update();
ttscommit;
}
}
Artık bu metodu smmActivities’te kullanabiliriz. Bir job yazıp deneyebiliriz.
class FDJob3
{
public static void main(Args _args)
{
smmActivities smmActivities;
;
Select firstonly smmActivities;
smmActivities.createFDActivityTable(smmActivities);
}
}
Bu yazıda Extension mantığıyla standart bir tabloya nasıl metot ekleyebileceğinizi anlattım. Burada dikkat etmeniz gereken bir konu bu sınıfların isimlendirmesi ve tekilleştirme.
Selamlar.
www.fatihdemirci.net
TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Extension, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365