Uddelte ressourcer til at bremse projekter til et brændende hold. Aspose.Tasks for .NET,Du kan hurtigt Detektion Konflikter er der, Visualisering PDF-format i A Overvågning Denne artikel destillerer praktiske skridt til en komplet C#-prøve, som du kan spustit til dit værktøj.
Nøgleoptagelser
- Du finder hurtigt ud af: iteration Fordeling af ressourcer at kontrollere
OverallocatedOverflade konflikter i verden. - Først og fremmest vil det blive beregnet: Set af
CalculationMode = AutomaticEller ringerproject.Recalculate()Flagene er friske. - Kommunikér klart: Eksport til Uddelte kilder Rapport A Brug af ressourcer Se det i PDF.
- Fokusér på din mening: - at sætte en tidsramme, en tidsramme på en side, og at sætte en tidsramme på en plan.
Hvorfor man overvejer at gøre det hele (A co zkontrolovat)
- Planlægning af opgaver uden tilstrækkelig slagtning
- Udelukkende tildeling af enhed eller kalender
- Udbredelse uden opdatering af ressourcer
- Ferie / afrejsetid mangler i planlægningen
Program på nationalt plan
Ved hjælp af en model kan du udpege en kort liste over konflikter, som du kan dele med potentielle brugere.
Visualisering og deling
Eksport af tøj Uddelte kilder En kommentar til A Brug af ressourcer I hverdagen sammenhæng.
Komplet, kompileret og udarbejdet (C#)
using System;
using Aspose.Tasks;
using Aspose.Tasks.Saving;
using Aspose.Tasks.Visualization;
namespace OverallocatedResourcesDemo
{
internal static class Program
{
// How to run:
// 1) dotnet new console -n OverallocatedResourcesDemo
// 2) cd OverallocatedResourcesDemo
// 3) dotnet add package Aspose.Tasks
// 4) Replace Program.cs with this file's contents
// 5) dotnet run -- "path-to-input.mpp"
private static void Main(string[] args)
{
if (args.Length == 0)
{
Console.WriteLine("Usage: dotnet run -- <path-to-input.mpp>");
return;
}
string input = args[0];
// Load the project and ensure calculations are current
var project = new Project(input)
{
CalculationMode = CalculationMode.Automatic
};
project.Recalculate();
// 1) Detect & list conflicts
Console.WriteLine("— Overallocated assignments —");
int count = 0;
foreach (var ra in project.ResourceAssignments)
{
if (ra.Overallocated)
{
count++;
string resName = ra.Resource?.Get(Rsc.Name) ?? "(Unnamed Resource)";
string taskName = ra.Task?.Get(Tsk.Name) ?? "(Unnamed Task)";
var start = ra.Get(Asn.Start);
var finish = ra.Get(Asn.Finish);
Console.WriteLine($"#{count}: {resName} on '{taskName}' ({start:d} → {finish:d})");
}
}
if (count == 0) Console.WriteLine("No overallocated assignments found.");
// 2) Communicate clearly with PDFs
string baseName = System.IO.Path.GetFileNameWithoutExtension(input);
// a) One‑glance report designed to highlight conflicts
string reportPdf = $"{baseName}-overallocated-resources.pdf";
project.SaveReport(reportPdf, ReportType.OverallocatedResources);
Console.WriteLine($"Saved: {reportPdf}");
// b) Time‑phased context: Resource Usage view
var usageOptions = new PdfSaveOptions
{
PresentationFormat = PresentationFormat.ResourceUsage,
Timescale = Timescale.Days,
FitContent = true,
ReduceFooterGap = true
};
string usagePdf = $"{baseName}-resource-usage.pdf";
project.Save(usagePdf, usageOptions);
Console.WriteLine($"Saved: {usagePdf}");
}
}
}
Hvordan løber
dotnet new console -n OverallocatedResourcesDemocd OverallocatedResourcesDemodotnet add package Aspose.Tasks- Erstatter
Program.csMed ovenstående kode dotnet run -- "path-to-input.mpp"
Hvad denne kode gør
- Lade MPP giver mulighed for Automatisk beregning Flagene er præcise.
- Detektion Scan med scanner Fordeling af ressourcer.
- Eksporten Første højdepunkt Uddelte kilder PDF A A A Brug af ressourcer PDF til efterforskning.
Operationstimer
- Tune tid (Dag/Uddag/Måned) for at opfylde behovene offentliggør en nedsættelse af antallet af sider.
- Begræns vinduet Via af
StartDate/EndDateNår du har brug for en plan. - Kilde: installere ønskede skriftlige oplysninger på serveren eller indstille egne skriftlige oplysninger for at forhindre fejl i sprog.
FAQ
Q1.Hvordan programmæssigt tjekke det samlede sted? Iterace project.ResourceAssignments En afprøvning ra.Overallocated.For opgaver, inspektør Task.Get(Tsk.IsOverallocated).
Q2.Potřebuji nainstalovat Microsoft Project pro zobrazování zpráv? Arbejd uafhængigt; installér Aspose.Tasks Nul pakker.
Q3.Kan jeg automatisk reparere hele rummet ved hjælp af kode? Strategien for automatiseret udligning af opgaver afhænger af organisationen. Kommunikation + kommunikation;Mange hold foretrækker manuelle ændringer af data/enheder efter undersøgelse.
Q4.Hvilken er den bedste PDF, der kan deles med de involverede parter? Begynd med s Uddelte kilder Udvidelse af udbuddet, herunder Brug af ressourcer PDF til eventuelle eventuelle tilfælde.
Q5.Hvordan kan jeg holde PDF’en læst på store projekter? Brug af coarser Timescale,Set af FitContent = true,Og så er der en omgang.
Konklusion
Takket være hurtig detektion, øget kommunikation og formatering PDF en foranstaltning til at overvåge, kan du risikere at bevare en sikkerhedskopiering. Overallocated,sdílet vestavěnou zprávu a iterovat se svým týmem o datech, jednotkách nebo kalendářích, abyste mohli konflikty řešit bez překvapení.