Т2 Интеграция. Настройка модели интеграции

1
solutions
N

Т2 Интеграция. Настройка модели интеграции


  • Александр Дудорев (ESB Team)
  • 8/12/2020 5:18:02 PM

Как сделать так, чтобы отслеживать в системе изменения по объектам одного типа, а передавать объекты другого типа?


1 Solutions


  • Александр Дудорев (ESB Team)
  • 8/12/2020 5:28:04 PM

Сразу после операции "Загрузить объекты ИС" необходимо добавить операцию-фильтр (например, с именем "Условия публикации"), в которой должен быть подобный код (в примере отслеживаются изменения по отпускным единицам измерения (KATOTPED), а публикуются связанные с ними матценности (KATMC)):


...
        public override async Task ExecuteAsync(FilterContext context)
        {
            var toPublish = context.EntityData.Where(r => r.AppEntity.PRMC == 1 && r.AppEntity.CMCUSL != 0);
            
            using (var trackingContext = new T2.DIP.Adapter.Abstractions.TrackingContext<T2.DIP.ERP.DataTypes.Storage.KATMC>())
            {
                trackingContext.AppDataService = context.AppDataService;

                trackingContext.Changes = toPublish.Select(p => new T2.DIP.AppStorage.Abstractions.TransferDataItem() 
                    {
                        Id = p.AppEntity.CMCUSL.ToString(),
                        TypeOperation = T2.DIP.Common.Enums.TypeStorageOperation.Update,
                        AppEntityName = "T2.DIP.ERP.DataTypes.Storage.KATMC"
                    });

                if (_creator.CreatedPipe != null)
                    await _creator.CreatedPipe.Send(trackingContext);
            }            

            context.EntityData.Clear();
        }
...



TID:
T10109

Created On:
8/12/2020 5:18:02 PM