Получение объекта
get-object.md
В данной постобработке пользователь может переопределять получение целевого объекта из прикладной системы, на который мапируется каноническая сущность. Созданный объект необходимо возвращать в поле Result.CreatedObject. Если пользователь не хочет, чтобы для созданного объекта были выполнены мапирования полей, а также предобработка и постобработка преобразования, то он должен установить флаг Result.CreationHandled = true. Пример:
var xafSession = ((Galaktika.ESB.Adapter.XAF.XafSession)Session).ObjectSpace as DevExpress.ExpressApp.Xpo.XPObjectSpace;
Galaktika.PRM.ATP.Module.БазовыйДокументУчета doc = null;
if (!String.IsNullOrEmpty(MainEntity.doc_id))
{
var doc_mainEntityTypeId = locator.GetMainEntityTypeId(typeof(#currentModelNS#.doc_002_01));
var doc_appEntityTypeId = locator.GetAppEntityTypeId(parameters.AdapterId, typeof(Galaktika.PRM.ATP.Module.ПолучениеВПроизводстве));
var doc_appEntityKey = locator.GetExistAppEntityKey(doc_mainEntityTypeId, MainEntity.doc_id, doc_appEntityTypeId);
Guid doc_oid;
var isParse = Guid.TryParse(doc_appEntityKey, out doc_oid);
if (isParse)
doc = xafSession.FindObject<Galaktika.PRM.ATP.Module.ПолучениеВПроизводстве>(
DevExpress.Data.Filtering.CriteriaOperator.Parse("Oid = ?", doc_appEntityKey));
}
if (doc == null)
Result.CreationHandled = true;
else
{
if (doc is Galaktika.PRM.ATP.Module.ПолучениеВПроизводстве)
if (doc.ВышестоящийДокумент != null)
doc = doc.ВышестоящийДокумент;
var barCode = new Galaktika.Core.Module.BarCode.BarCode(xafSession.Session, doc);
barCode.Code = MainEntity.bcode;
Result.CreatedObject = barCode;
}
Сгенерированный код попадает в файл MI__CAEG.cs.