Show / Hide Table of Contents

Маппирование 001.001.unit - Единица измерения

Адаптер Идентификатор Роль
ERP ERP_01 Источник
EAM EAM_01 Приемник

Источник ERP

Сопоставление с сущностями ИС адаптера ERP

Основная Сущность ИС Отслеживать операции Полное наименование Отключено
True KATED Создание;Изменение;Удаление Galaktika.ESB.Adapter.Atlantis.Api.KATED False

KATED

Сопоставление

Сопоставление свойств unit в ERP_01.KATED

Свойство приложения Тип свойства приложения Свойство модели Тип свойства модели Не используется
NAME Свойство name Свойство False
ABBR Свойство abbr_name Свойство False

Условие публикации

  
// Если операция удаления
if (OperationType == Galaktika.ESB.Contract.TypeStorageOperation.Delete)
{
  LogService.Info("Публикация удаления (D---1): unit");
  return true;
}

// Если операция создания или изменения

// Проверка на существование объекта
if (AppEntity == null)
{
  LogService.Error("Условие публикации (D---1): unit => AppEntity == null");
  return false;
}

// Публикация
if (!String.IsNullOrWhiteSpace(AppEntity.CODE)) // Передаются только те ЕИ, у которых заполнено свойство CODE
{
  LogService.Info("Публикация (D---1): unit => NREC = {0}", AppEntity.NREC);
  return true;
}

После сопоставления


Logger.LogInformation("После сопоставления (B): unit");

// Получение значения для атрибута «divisibility»
if (appEntity.DISKRET == (System.Int32)1)
  mainEntity.divisibility = (System.Int32)0;
else
  mainEntity.divisibility = (System.Int32)1;

// Получение значения для атрибута «Код»
int wTable = 1412; // KatEd
mainEntity.code = T2.DIP.ERP.Functions.ExtAttr_sGetAttr(wTable, appEntity.NREC, "Код");

Logger.LogInformation("После сопоставления (E): unit");

Приемник EAM

Сопоставление с сущностями ИС адаптера EAM

Основная Сущность ИС Отслеживать операции Полное наименование Отключено
True ЕдиницаИзмерения Не задано PromAktiv.Core.CD.Module.ITM.ЕдиницаИзмерения False

Сопоставление

Сопоставление свойств unit в EAM_01.ЕдиницаИзмерения

Свойство приложения Тип свойства приложения Свойство модели Тип свойства модели Не используется
ExternalID Свойство object_id Свойство False
Наименование Свойство name Свойство False
АББР Свойство abbr_name Свойство False
Код Свойство code Свойство False
Делимость Свойство divisibility Свойство False

После сопоставления

  
Logger.LogInformation("После сопоставления (B): unit");

// Установка статуса объекта
appEntity.СтатусОбъекта = Xafari.BC.StatusTypes.Published;

Logger.LogInformation("После сопоставления (E): unit");

Получение объекта

  
LogService.Info("Получение объекта (B): unit");

//
Result.CreationHandled = false; // Не финальная обработка
Result.CreatedObject = null;

// Поиск существующей ЕИ по коду АСУ НСИ
var ed = ((Galaktika.ESB.Adapter.XAF.Adapter.XafContext)Session.EsbContext).ObjectSpace.FindObject<PromAktiv.Core.CD.Module.ITM.ЕдиницаИзмерения>(
  DevExpress.Data.Filtering.CriteriaOperator.Parse("Код = ?", MainEntity.code_asu_nsi));
  
if (ed != null)
  Result.CreatedObject = ed;
else
{
  Result.CreatedObject = restier.CreateAppEntity<PromAktiv.Core.CD.Module.ITM.ЕдиницаИзмерения>(Session); 

  ed = (PromAktiv.Core.CD.Module.ITM.ЕдиницаИзмерения)Result.CreatedObject;
  ed.ExternalID   = MainEntity.object_id;
  ed.Код          = MainEntity.code_asu_nsi;
  ed.OKEI         = MainEntity.okei_code;
  ed.АББР         = MainEntity.name;
  ed.Наименование = MainEntity.full_name;
}

LogService.Info("Получение объекта (E): unit => {0}", !Result.CreationHandled);
  • Improve this Doc
In This Article
Back to top Все права защищены (C) 1994-2022 ООО Топ Софт.