Sviluppo di modelli di progetto con Copia progetto

Completato

Se nell'organizzazione sono presenti progetti con attributi e struttura di suddivisione del lavoro simili, è possibile accelerare il processo di creazione del progetto con l'uso di modelli di progetto.

È possibile impostare uno o più modelli di progetto con proprietà di progetto e altre informazioni comuni, come membri del team, attività di progetto, stime e così via. Per altre informazioni, consultare Modelli di progetto.

Quando un modello di progetto è stato impostato in Project Operations, è possibile creare un nuovo progetto copiandolo dal modello di progetto. Le entità seguenti vengono copiate dal modello di progetto:

  • Progetto

  • Elenchi di controllo del progetto

  • Bucket di progetto

  • Membri del team di progetto

  • Attività di progetto

  • Dipendenza dell'attività di progetto

  • Assegnazione delle risorse

  • Stime di progetto (incluse stime di manodopera, spese e materiali)

È possibile usare il modello di progetto insieme all'API Copia progetto. È possibile prendere in considerazione l'uso di questa funzionalità durante la migrazione dei dati per migrare i progetti e copiare i dati da un progetto modello, come discusso in precedenza.

Esempio di codice

L'esempio seguente mostra come chiamare l'azione personalizzata CopyProjectV3 con il set di parametri removeNamedResources.

using System;
using Microsoft.Xrm.Sdk;

public class CopyProjectSample
{
    private IOrganizationService organizationService;

    public CopyProjectSample(IOrganizationService organizationService)
    {
        this.organizationService = organizationService;
    }

    public void SampleRun()
    {
        // Example source project GUID
        Guid sourceProjectId = new Guid("11111111-1111-1111-1111-111111111111");
        var sourceProject = new Entity("msdyn_project", sourceProjectId);

        Entity targetProject = new Entity("msdyn_project");
        targetProject["msdyn_subject"] = "Example Project - Copy";
        targetProject.Id = organizationService.Create(targetProject);

        CallCopyProjectAPI(sourceProject.ToEntityReference(),
            targetProject.ToEntityReference(),
            true,
            false);
        Console.WriteLine("Done ...");
    }

    private void CallCopyProjectAPI(
        EntityReference sourceProject,
        EntityReference TargetProject,
        bool replaceNamedResources = true,
        bool clearTeamsAndAssignments = false)
    {
        OrganizationRequest req = new OrganizationRequest("msdyn_CopyProjectV3");
        req["SourceProject"] = sourceProject;
        req["Target"] = TargetProject;

        if (replaceNamedResources)
        {
            req["ReplaceNamedResources"] = true;
        }
        else
        {
            req["ClearTeamsAndAssignments"] = true;
        }

        OrganizationResponse response = organizationService.Execute(req);
    }
}

Per altre informazioni, consultare Sviluppo di modelli di progetto con Copia progetto.