
MPP არის Microsoft Project-ის ერთ-ერთი ძირითადი ფორმატი, რომელიც ხშირად გამოიყენება დატვირთვის, განრიგისა და ფინანსების შესანახად. 1984 წელს Microsoft Project-ის ადრეული გამოშვების შემდეგ, იგი გამოიყენება პროექტების მართვისთვის, განრიგის შემუშავებისთვის, ბიუჯეტის დასაყენებლად და რესურსების გასანაწილებლად. ამიტომ, MPP ფორმატი არის ფაილის ტიპი, რომელიც დაკავშირებულია Microsoft Project-თან და ინახავს პროექტის ინფორმაციას პროექტის შენახვისას. ანალოგიურად, XER ფაილის ფორმატი არის საკუთრების პროექტის ფაილის ფორმატი, რომელსაც იყენებს Primavera P6 პროექტის დაგეგმვისა და მართვის აპლიკაცია. ასე რომ, იმ შემთხვევაში, თუ არსებობს MPP ფაილების სხვა ფორმატში გადაქცევის მოთხოვნა, ჩვენ უნდა დავაინსტალიროთ და დააკონფიგურიროთ შიდა გადაწყვეტა, ან ავირჩიოთ ღრუბელზე დაფუძნებული გადაწყვეტა.
- Microsoft Project დამუშავების API
- MPP-დან XER-მდე C#-ში
- გადაიყვანეთ MPP Primavera P6-ზე cURL-ის გამოყენებით
Microsoft Project დამუშავების API
Microsoft Project და Primavera P6 არის ერთ-ერთი პოპულარული ფაილის ფორმატი, რომელიც გამოიყენება პროექტის დავალებების, ამოცანების, რესურსების, კალენდრების, ატრიბუტებისა და ინფორმაციის დაგეგმვისთვის. იმისათვის, რომ ხელი შევუწყოთ ჩვენს მომხმარებლებს ამ დოკუმენტების პროგრამულად დამუშავებაში, ჩვენ შევიმუშავეთ Aspose.Tasks Cloud API, რომელიც არის REST-ზე დაფუძნებული გადაწყვეტა, რომელიც საშუალებას გაძლევთ მიიღოთ პროექტის დავალების ელემენტები, დაამატოთ ახალი დავალებები პროექტებში, მიიღოთ პროექტის ყველა დავალება, შეცვალოთ დავალების პოზიცია, დაამატოთ კალენდარი პროექტში, მიიღოთ დროში გათვლილი მონაცემები და მრავალი სხვა. შეასრულეთ ყველა ეს ოპერაცია მესამე მხარის პროგრამული უზრუნველყოფის ინსტალაციის გარეშე.
გარდა ამისა, ჩვენ შევიმუშავეთ Aspose.Tasks Cloud SDK for .NET, რომელიც არის შეფუთვა Aspose.Tasks Cloud-ის გარშემო და საშუალებას გაძლევთ განახორციელოთ პროექტის მენეჯმენტთან დაკავშირებული ყველა დავალება .NET აპლიკაციის ფარგლებში.
ინსტალაცია
.NET Cloud SDK-ის გამოსაყენებლად, პირველი ნაბიჯი არის მისი სისტემაზე ინსტალაცია. ის ხელმისაწვდომია NuGet და GitHub-ით ჩამოსატვირთად. გთხოვთ, შეასრულოთ შემდეგი ბრძანება ტერმინალში, რათა დააინსტალიროთ SDK NuGet-ის საშუალებით:
nuget install Aspose.Tasks-Cloud
თუ დაგჭირდებათ ინსტალაცია NuGet Package Manager-იდან, გთხოვთ შეასრულოთ შემდეგი ბრძანება:
PM> Install-Package Aspose.Tasks-Cloud
ვიზუალური სტუდიის მიდგომა
კიდევ ერთი მიდგომა არის ინსტალაცია პირდაპირ Visual Studio-ში:
- გახსენით Solution Explorer.
- გააფართოვეთ პროექტი და დააწკაპუნეთ მარჯვენა ღილაკით Packages საქაღალდეში თქვენს გადაწყვეტაში.
- აირჩიეთ Manage NuGet Packages… ოფცია.
- დააწკაპუნეთ ჩანართზე „Browse“ და მოძებნეთ „Aspose.Tasks-Cloud“.
- დააწკაპუნეთ მოსანიშნი ველზე Aspose.Tasks-Cloud პაკეტის გარდა, აირჩიეთ შესაბამისი ვერსია მარჯვენა ჩანართში და დააწკაპუნეთ ღილაკზე პაკეტის დამატება.

Image 1:- Aspose.Tasks-Cloud as NuGet package.
უფასო Cloud გამოწერა
Cloud API-ებზე წვდომისთვის, ჯერ უნდა შევქმნათ უფასო ღრუბლოვანი გამოწერის ანგარიში. დიახ, სწორად გსმენიათ. უფასო სააბონენტო ანგარიში, რომელიც უზრუნველყოფს 150-მდე უფასო დოკუმენტის დამუშავების მოთხოვნას. არ არის საჭირო საკრედიტო ბარათი ან სხვა გადახდის დეტალები. ასე რომ, ამ პროცესის დასასრულებლად, გთხოვთ, ეწვიოთ Aspose.Cloud dashboard. თუ გაქვთ GitHub ან Google ანგარიში, უბრალოდ დარეგისტრირდით. წინააღმდეგ შემთხვევაში, დააწკაპუნეთ ღილაკზე Create a new Account და მიაწოდეთ საჭირო ინფორმაცია. ახლა შედით საინფორმაციო დაფაზე რწმუნებათა სიგელების გამოყენებით და გააფართოვეთ აპლიკაციების განყოფილება დაფიდან და გადადით ქვემოთ კლიენტის სერთიფიკატების განყოფილებისკენ, რომ ნახოთ კლიენტის ID და კლიენტის საიდუმლო დეტალები.

სურათი 2: - კლიენტის სერთიფიკატები Aspose.Cloud-ის დაფაზე.
MPP-დან XER-მდე C#-ში
გთხოვთ, მიჰყვეთ ქვემოთ მოცემულ ნაბიჯებს MPP ფაილის კონვერტაციის შესასრულებლად Primavera P6 XER-ში C# .NET აპლიკაციაში.
- უპირველეს ყოვლისა, შექმენით კონფიგურაციის ობიექტი კლიენტის ID და კლიენტის საიდუმლო დეტალების მიწოდებისას.
- მეორეც, შექმენით TasksApi ობიექტი, კონფიგურაციის ობიექტის არგუმენტად გადაცემისას.
- მესამე, წაიკითხეთ MPP ფაილი ლოკალური დისკიდან და ატვირთეთ ღრუბლოვან საცავში TasksApi-ის UploadFile(..) მეთოდის გამოყენებით.
- ახლა შექმენით GetTaskDocumentWithFormatRequest ობიექტი, სადაც განვსაზღვრავთ შეყვანის MPP სახელს და შედეგს ფორმატს ProjectFileFormat ჩამოთვლიდან.
- შემდეგ ჩვენ მოვუწოდებთ GetTaskDocumentWithFormat(…) მეთოდს TasksApi კონვერტაციის პროცესის დასაწყებად.
- ბოლოს, წესრიგში. გამომავალი XER ლოკალურ დისკზე შესანახად ვიყენებთ File.Create ობიექტის saveToDisk(…) მეთოდის შიგნით.
// მიიღეთ ClientID https://dashboard.aspose.cloud/-დან
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// შექმენით კონფიგურაციის ობიექტი
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };
// Aspose.Tasks ობიექტის ინიციალიზაცია
var tasksApi = new TasksApi(config);
String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";
try
{
// წაიკითხეთ შეყვანილი MPP ფაილი ადგილობრივი მეხსიერებიდან
using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
{
var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
// ატვირთეთ ფაილი ღრუბლოვან საცავში
tasksApi.UploadFile(uploadFileRequest);
}
// MPP-ში XER-ში გადაყვანის პროცესის ინიციალიზაცია
var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
{
Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
Name = inputFile,
Folder = null,
});
if (response != null )
{
Console.WriteLine("Successfully converted MPP to XER !");
}
// შეინახეთ მიღებული ფაილი ადგილობრივ დისკზე
saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
გადაიყვანეთ MPP Primavera P6-ზე cURL-ის გამოყენებით
cURL ბრძანებები არის REST API-ებზე წვდომის კიდევ ერთი მოსახერხებელი გზა ბრძანების ხაზის ტერმინალის საშუალებით. ასე რომ, ჩვენ ასევე შეგვიძლია წვდომა Aspose.Tasks Cloud-ზე cURL ბრძანებების მეშვეობით და შევასრულოთ ჩვენი მოთხოვნები. თუმცა, API-ებზე წვდომამდე, ჩვენ გვჭირდება JSON Web Token-ის (JWT) გენერირება, ClientID-ისა და ClientSecret დეტალების საფუძველზე, რომლებიც მოძიებულია Aspose.Cloud dashboard-დან. გთხოვთ შეასრულოთ შემდეგი ბრძანება ტერმინალში JWT ტოკენის გენერირებისთვის.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT ჟეტონის გენერირების შემდეგ, გთხოვთ, შეასრულოთ შემდეგი ბრძანება Cloud საცავში არსებული MPP ფაილის XER ფორმატში გადასაყვანად.
curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.xer
გამოყენებული ფაილის ნიმუში. ზემოთ მოყვანილი მაგალითის ჩამოტვირთვა შესაძლებელია Home move plan.mpp-დან.
დასკვნა
ამ სტატიაში განვიხილეთ ნაბიჯები, თუ როგორ უნდა გადაიყვანოთ Microsoft Project (MPP) ფაილი Oracle Primavera P6 XER ფაილად C# .NET კოდის ნაწყვეტის გამოყენებით, ასევე cURL ბრძანების გამოყენებით. გარდა ამისა, ლიცენზირების მექანიზმი იმდენად მოქნილად არის შემუშავებული, რომ თქვენ იხდით მხოლოდ იმ ინტერვალს, რომელსაც იყენებთ ჩვენი სერვისებით. ასევე, უფასო ანგარიშის გამოწერით, თქვენ გაქვთ უფლება მიიღოთ 150-მდე უფასო დოკუმენტის დამუშავების მოთხოვნა. ასე რომ, როგორც კი კმაყოფილი იქნებით API-ით, შეგიძლიათ აირჩიოთ ლიცენზიის შეძენა, რომელიც საკმაოდ მოქნილია. თქვენ ჩამოგეჭრებათ მხოლოდ სერვერზე გაკეთებული მოთხოვნები და ეს შეიძლება იყოს $0,005 / API Call. დამატებითი დეტალებისთვის შეგიძლიათ ეწვიოთ pricing გვერდს.
მიუხედავად ამისა, ჩვენი Cloud SDKS შემუშავებულია MIT ლიცენზიით, ამიტომ მათი სრული კოდის ფრაგმენტი შეიძლება ჩამოიტვირთოს GitHub-დან. თუ API-ს გამოყენებისას რაიმე პრობლემას წააწყდებით ან გაქვთ რაიმე დაკავშირებული შეკითხვა, გთხოვთ, მოგერიდებათ დაუკავშირდეთ [უფასო მხარდაჭერის ფორუმის] მეშვეობით 20.
დაკავშირებული სტატიები
ჩვენ ასევე გირჩევთ ეწვიოთ შემდეგ ბმულებს მეტის გასაგებად: