Přerozdělené zdroje zpomalují projekty a spalují týmy. Aspose.Tasks for .NET,Můžete rychle detekce konfliktů se, vizualizace v PDF formátu a Monitorování Tento článek destiluje praktické kroky a kompletní příklad C#, který můžete spustit do svého nástroje.

Klíčové Takeaways

  • Rychle zjistíte: iterace Přidělení zdrojů a kontrolovat Overallocated Na povrchové konflikty.
  • Nejdříve se přepočítá: Set CalculationMode = Automatic nebo volání project.Recalculate() Vlajky jsou čerstvé.
  • Komunikujte jasně: Vývoz do Přerozdělené zdroje Zpráva a Použití zdrojů Podívejte se na PDF.
  • Soustřeďte se na svůj názor: nastavení časového rozsahu, velikosti stránky a rozsahu dat pro čitelný výstup na velkých plánech.

Proč se celkové situace vyskytují (a co zkontrolovat)

  • Paralelní úkoly naplánované bez dostatečného slaku
  • Nereálné přidělovací jednotky nebo kalendáře
  • Rozsah růstu bez aktualizací zdrojů
  • Dovolená / odjezdové kalendáře chybějící v plánu

Programováno na celostátní úrovni

Pomocí modelu projektu můžete vyjmenovat úkoly a vytisknout stručný seznam konfliktů, které můžete sdílet s potenciálními uživateli.

Vizualizace & Sdílení

Exportování vestavěných Přerozdělené zdroje Zpráva pro jeden pohled a Použití zdrojů V každodenním kontextu.

Kompletní, kompilovatelný příklad (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}");
        }
    }
}

Jak běhat

  1. dotnet new console -n OverallocatedResourcesDemo
  2. cd OverallocatedResourcesDemo
  3. dotnet add package Aspose.Tasks
  4. nahradit Program.cs S výše uvedeným kódem
  5. dotnet run -- "path-to-input.mpp"

Co tento kód dělá

  • Loadů MPP a umožňuje Automatické výpočty Vlajky jsou přesné.
  • detekce Skenování pomocí skeneru Přidělení zdrojů.
  • Exporty První highlight Přerozdělené zdroje PDF a A Použití zdrojů PDF pro vyšetřování.

Operační tipy

  • Tune časová (Dny/Týdny/Měsíce) pro splnění potřeb publika a snížení počtu stránek.
  • Omezit okno Via StartDate/EndDate Když potřebujete jen část plánu.
  • Zdroje: nainstalujte požadované písma na serveru nebo nastavte vlastní složky písma, aby se zabránilo chybějícímu glyfu.

FAQ

Q1.Jak programově zkontrolovat celkovou místa? Iterace project.ResourceAssignments a testování ra.Overallocated.Pro úkoly, inspektor Task.Get(Tsk.IsOverallocated).

Q2.Potřebuji nainstalovat Microsoft Project pro zobrazování zpráv? Úkoly fungují nezávisle; nainstalujte Aspose.Tasks Nulový balíček.

Q3.Mohu automaticky opravit celkové umístění pomocí kódu? Strategie automatizovaného vyrovnávání se liší podle organizace. Bezpečným prvním krokem je Detekce + komunikace;Mnoho týmů preferuje manuální úpravu dat/jednotek po přezkoumání.

Q4.Jaký je nejlepší PDF sdílet se zúčastněnými stranami? Začněte s Přerozdělené zdroje Zpráva o zvýraznění, pak zahrnuje Použití zdrojů PDF pro případné případné případné případné případy.

Q5.Jak mohu udržet PDF na velkých projektech čitelné? Používejte coarser Timescale,Set FitContent = true,a omezit rozsah dat.

Závěr

Díky rychlé detekci, ostré komunikaci ve formátu PDF a zaměřenému sledování můžete rizika zdrojů udržovat viditelná a zvládnutelná. 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í.

More in this category