Sviluppo di modelli di progetto con Copia progetto
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.