Не могу получить GUID из недавно созданной записи - PullRequest
0 голосов
/ 07 мая 2019

С помощью строки:

Guid AlertsId = service.Create(NewAlert);
NewAlert["new_alertguid"] = "Spennende: " + AlertsId.ToString();

Я пытаюсь получить вновь созданный GUID.Но ничего не происходит.Я не получаю GUID, и рабочий процесс не терпит неудачу.Это не пишет "Шпенненде" в поле ни.Но я не вижу, как узнать, что я делаю неправильно.

Что я могу сделать, чтобы решить эту проблему.Ребята, вы видите что-то не так?

Пытался вставить другие значения в том же поле.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Workflow;

namespace WordCountWorkflow
{
    public class WordCount : CodeActivity
    {



        [Input("Hvilket felt skal endres")]
        public InArgument<string> FieldToChange { get; set; }

        [RequiredArgument]
        [Input("Tekst som skal telles")]
        public InArgument<string> InputText { get; set; }

        [Output("Antall tegn")]
        public OutArgument<int> CountOfWords { get; set; }


        protected override void Execute(CodeActivityContext context)
        {
            this.CountOfWords.Set(
                context,
                this.InputText.Get<string>(context).Split(
                    new char[] { ' ', '\r', '\n' },
                    StringSplitOptions.RemoveEmptyEntries).Length);
            //------------------
            ITracingService tracingService = context.GetExtension<ITracingService>();
            IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
            IOrganizationServiceFactory serviceFactory = context.GetExtension<IOrganizationServiceFactory>();
            IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.UserId);
            Entity NewAlert = new Entity("new_alerts");
            NewAlert["new_name"] = "Navn på alert";
            NewAlert["new_message"] = "Her er beskjed";
            Guid AlertsId = service.Create(NewAlert);
            NewAlert["new_alertguid"] = "Spennende: " + AlertsId.ToString();
        }
    }
}

Я пытался изменить это:

    ITracingService tracingService = context.GetExtension<ITracingService>();
    IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
    IOrganizationServiceFactory serviceFactory = context.GetExtension<IOrganizationServiceFactory>();
    IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.UserId);
    Entity NewAlert = new Entity("new_alerts");
    Guid AlertsId = service.Create(NewAlert);
    NewAlert["new_name"] = "Navn på alert";
    NewAlert["new_message"] = "Her er beskjed " + AlertsId.ToString();
    NewAlert["new_shortmessage"] = "Spennende: " + AlertsId.ToString();

Но тогдавсе остановилосьИ ни одно из полей не было заполнено.

1 Ответ

2 голосов
/ 07 мая 2019

Вы можете использовать приведенный ниже код при создании guid для записи

Entity NewAlert = new Entity("new_alerts");
NewAlert.Id = Guid.NewGuid();
NewAlert["new_name"] = "Navn på alert";
NewAlert["new_message"] = "Her er beskjed";            
NewAlert["new_alertguid"] = "Spennende: " + NewAlert.Id.ToString();
Guid AlertsId = service.Create(NewAlert);

ИЛИ вы можете создать новый объект и затем обновить его.

Entity NewAlert = new Entity("new_alerts");
NewAlert["new_name"] = "Navn på alert";
NewAlert["new_message"] = "Her er beskjed";
Guid AlertsId = service.Create(NewAlert);        
Entity CompleteNewAlert = new Entity("new_alerts",AlertsId );
CompleteNewAlert ["new_alertguid"] = "Spennende: " + AlertsId.ToString();
service.Update(CompleteNewAlert );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...