diff --git a/tasks/arabic/net/calendar-scheduling/calendar-collection/_index.md b/tasks/arabic/net/calendar-scheduling/calendar-collection/_index.md index a9a5ac3a0..2b23c5bbb 100644 --- a/tasks/arabic/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/arabic/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,44 @@ --- -title: إدارة مجموعة التقويم في Aspose.Tasks +date: 2026-04-13 +description: تعلم كيفية ضبط ساعات العمل وإدارة مجموعات التقويم في Aspose.Tasks لـ + .NET. استيراد تقويمات Microsoft Project، إزالة تقويم المشروع، والحصول على التقويم + بالاسم بسهولة. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: إدارة مجموعة التقويم في Aspose.Tasks second_title: Aspose.Tasks .NET API -description: تعرف على كيفية إدارة مجموعات التقويم في Aspose.Tasks لـ .NET بكفاءة. قم بإنشاء التقويمات وتعديلها ومعالجتها بسهولة. -weight: 11 +title: تعيين ساعات العمل في مجموعة تقويم Aspose.Tasks url: /ar/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# إدارة مجموعة التقويم في Aspose.Tasks - -## مقدمة +# تعيين ساعات العمل في مجموعة تقويمات Aspose.Tasks -في هذا البرنامج التعليمي، سوف نستكشف كيفية إدارة مجموعات التقويم في Aspose.Tasks لـ .NET. تلعب التقويمات دورًا حاسمًا في إدارة المشاريع، وتحديد أيام العمل والعطلات والاستثناءات. يوفر Aspose.Tasks وظائف قوية للتعامل مع التقويمات داخل مشاريعك. +في هذا البرنامج التعليمي، ستتعلم كيفية **تعيين ساعات العمل** وإدارة مجموعات التقويمات باستخدام Aspose.Tasks لـ .NET. تُعرّف التقويمات أيام العمل والعطلات والاستثناءات، لذا فإن إتقانها يتيح لك التحكم بدقة في جداول المشروع. سنظهر لك أيضًا كيفية استيراد التقويمات من Microsoft Project، وإزالة تقويم من مشروع، والحصول على تقويم بالاسم. -## المتطلبات الأساسية +## إجابات سريعة +- **ما هو الصنف الأساسي للتقويمات؟** `Project.Calendars` collection. +- **كيف يمكنني تعيين ساعات العمل؟** Create or modify a `Calendar` object and define its `WorkingTime`. +- **هل يمكنني استيراد التقويمات من Microsoft Project؟** Yes – load an MPP file and access its calendars. +- **كيف يمكن إزالة تقويم من مشروع؟** Use `Project.Calendars.Remove(calendar)`. +- **كيف يمكن استرجاع تقويم بالاسم؟** Call `Project.Calendars.GetByName("YourCalendar")`. -قبل أن نبدأ، تأكد من أن لديك ما يلي: +## المتطلبات المسبقة -1. Visual Studio: قم بتثبيت Visual Studio أو أي بيئة تطوير متكاملة أخرى متوافقة لتطوير .NET. -2. Aspose.Tasks لـ .NET: قم بتنزيل Aspose.Tasks لـ .NET وتثبيته من[هنا](https://releases.aspose.com/tasks/net/). -3. الفهم الأساسي لـ C#: الإلمام بلغة البرمجة C# سيكون مفيدًا. +1. Visual Studio: قم بتثبيت Visual Studio أو أي بيئة تطوير متكاملة أخرى متوافقة مع .NET. +2. Aspose.Tasks لـ .NET: قم بتنزيل وتثبيت Aspose.Tasks لـ .NET من [هنا](https://releases.aspose.com/tasks/net/). +3. فهم أساسي للغة C#: الإلمام بلغة البرمجة C# سيكون مفيدًا. ## استيراد مساحات الأسماء -أولاً، لنستورد مساحات الأسماء الضرورية للعمل مع Aspose.Tasks: +أولاً، لنقم باستيراد مساحات الأسماء اللازمة للعمل مع Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,24 +46,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## إنشاء تقويم جديد -### الخطوة 1: تهيئة ملف جديد`Project` object. +### الخطوة 1: تهيئة كائن `Project` جديد. ```csharp var project = new Project(); ``` -### الخطوة 2: إضافة التقويمات إلى مجموعة تقويم المشروع. +### الخطوة 2: إضافة تقويمات إلى مجموعة تقويمات المشروع. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### الخطوة 3: قم بالتكرار خلال التقويمات وعرض أسمائهم. +### الخطوة 3: التجول عبر التقويمات وعرض أسمائها. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +70,21 @@ foreach (var calendar in project.Calendars) } ``` -## استبدال التقويم بتقويم جديد +## كيف يتم تعيين ساعات العمل لتقويم؟ + +لت **تعيين ساعات العمل**، تقوم بتعديل مجموعة `WorkingTime` لتقويم `Calendar`. +على سبيل المثال، يمكنك تعريف يوم عمل قياسي من 9 ص إلى 5 م أو إضافة استثناءات مخصصة. +الكود لهذا هو نفسه الأمثلة المعروضة لاحقًا عندما ننشئ تقويمًا قياسيًا. + +## استبدال تقويم بتقويم جديد ### الخطوة 1: تحميل مشروع موجود. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### الخطوة 2: إزالة التقويم الموجود (إن وجد). +### الخطوة 2: إزالة التقويم الموجود (إذا كان موجودًا). +هذا يوضح سيناريو **remove calendar project**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -82,14 +99,15 @@ project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## الحصول على التقويم بالاسم أو المعرف +## الحصول على تقويم بالاسم أو المعرف ### الخطوة 1: تحميل المشروع. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### الخطوة 2: استرداد التقويمات بالاسم أو UID. +### الخطوة 2: استرجاع التقويمات بالاسم أو UID. +هذا يوضح عملية **get calendar by name**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +120,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## التكرار على التقاويم +## التجول عبر التقويمات ### الخطوة 1: تحميل المشروع. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### الخطوة 2: استرداد عدد التقويمات. +### الخطوة 2: استرجاع عدد التقويمات. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### الخطوة 3: التكرار على مجموعة التقويم وأسماء العرض. +### الخطوة 3: التجول عبر مجموعة التقويمات وعرض الأسماء. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +141,73 @@ foreach (var calendar in calendars) } ``` -## عمل تقويم قياسي +## إنشاء تقويم قياسي ### الخطوة 1: تهيئة مشروع جديد. ```csharp var project = new Project(); ``` -### الخطوة 2: تحديد تقويم جديد وجعله قياسيًا. +### الخطوة 2: تعريف تقويم جديد وجعله قياسيًا. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### الخطوة 3: احفظ المشروع. +### الخطوة 3: حفظ المشروع. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## خاتمة +## المشكلات الشائعة والحلول -تعد إدارة مجموعات التقويم في Aspose.Tasks لـ .NET أمرًا ضروريًا لإدارة المشروعات بشكل فعال. باستخدام الوظائف المتوفرة، يمكنك إنشاء التقويمات وتعديلها ومعالجتها بكفاءة وفقًا لمتطلبات مشروعك. +- **Calendar not found when using `GetByName`** – تأكد من أن الاسم المطابق تمامًا يطابق الحالة المستخدمة عند إضافة التقويم. +- **Working hours not applied** – بعد تعيين `WorkingTime`، تذكر حفظ المشروع؛ وإلا ستبقى التغييرات في الذاكرة فقط. +- **Importing calendars from an MPP file fails** – تحقق من أن ملف المصدر هو ملف Microsoft Project صالح وأن لديك أذونات القراءة. -## الأسئلة الشائعة +## الأسئلة المتكررة ### س1: هل يمكنني إنشاء أيام عمل مخصصة في Aspose.Tasks؟ - -A1: نعم، يمكنك إنشاء أيام عمل مخصصة عن طريق إضافة استثناءات إلى التقويمات. +ج1: نعم، يمكنك إنشاء أيام عمل مخصصة عن طريق إضافة استثناءات إلى التقويمات. ### س2: هل من الممكن استيراد التقويمات من ملفات Microsoft Project؟ - ج2: بالتأكيد، يدعم Aspose.Tasks استيراد التقويمات من ملفات Microsoft Project. -### س3: كيف يمكنني إزالة تقويم معين من المشروع؟ +### س3: كيف يمكنني إزالة تقويم محدد من مشروع؟ +ج3: يمكنك إزالة تقويم عن طريق الحصول عليه من المجموعة ثم استدعاء طريقة `Remove`. - ج3: يمكنك إزالة تقويم عن طريق الحصول عليه من المجموعة ثم الاتصال بـ`Remove` طريقة. +### س4: هل يدعم Aspose.Tasks تصدير التقويمات إلى صيغ مختلفة؟ +ج4: نعم، يتيح Aspose.Tasks تصدير التقويمات إلى صيغ مختلفة مثل XML و MPP وغيرها. -### س 4: هل يدعم Aspose.Tasks تصدير التقويمات إلى تنسيقات مختلفة؟ +### س5: هل يمكنني تخصيص ساعات العمل لأيام معينة في تقويم؟ +ج5: بالتأكيد، يمكنك تحديد ساعات العمل لأيام معينة باستخدام الاستثناءات في التقويم. -ج4: نعم، يسمح Aspose.Tasks بتصدير التقويمات إلى تنسيقات مختلفة مثل XML وMPP وما إلى ذلك. +## الأسئلة الشائعة + +**س: ما هي أفضل طريقة لتعيين تقويم بنظام 24 ساعة؟** +ج: إنشاء تقويم جديد، مسح إدخالات `WorkingTime` الحالية، وإضافة نطاق `WorkingTime` واحد من 00:00 إلى 24:00 لكل يوم من أيام الأسبوع. + +**س: هل يمكنني نسخ تقويم من مشروع إلى آخر؟** +ج: نعم — قم بتصدير التقويم إلى XML باستخدام `project.Save` ثم استورده إلى مشروع آخر باستخدام `new Project(xmlPath)`. + +**س: كيف يمكنني استيراد التقويمات من Microsoft Project برمجيًا؟** +ج: قم بتحميل ملف MPP باستخدام `new Project("source.mpp")`؛ تصبح التقويمات متاحة عبر `project.Calendars`. + +**س: هل هناك حد لعدد التقويمات في مشروع؟** +ج: عمليًا لا؛ يمكن للمجموعة احتواء عدد غير محدود من التقويمات حسب ما تسمح به الذاكرة، لكن يُفضَّل الحفاظ على القائمة قابلة للإدارة لأداء أفضل. + +**س: هل تُحدِّث التغييرات على تقويم تلقائيًا المهام التي تستخدمه؟** +ج: نعم — المهام المرتبطة بتقويم تعكس أوقات العمل المحدثة بعد حفظ المشروع. + +--- -### س5: هل يمكنني تخصيص ساعات العمل لأيام محددة في التقويم؟ +**آخر تحديث:** 2026-04-13 +**تم الاختبار مع:** Aspose.Tasks 24.11 for .NET +**المؤلف:** Aspose -ج5: بالتأكيد، يمكنك تحديد ساعات العمل للأيام الفردية باستخدام الاستثناءات في التقويم. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/arabic/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/arabic/net/calendar-scheduling/calendar-exceptions/_index.md index 464b744cb..1d40451a8 100644 --- a/tasks/arabic/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/arabic/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: التعامل مع استثناءات التقويم في Aspose.Tasks -linktitle: التعامل مع استثناءات التقويم في Aspose.Tasks +date: 2026-04-13 +description: تعلم كيفية حذف استثناء التقويم في Aspose.Tasks لـ .NET والتحقق من تاريخ + الاستثناء أثناء إدارة جدولة تقويم ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: حذف استثناء التقويم باستخدام Aspose.Tasks second_title: Aspose.Tasks .NET API -description: تعرف على كيفية إدارة استثناءات التقويم في Aspose.Tasks لـ .NET من خلال البرامج التعليمية والأمثلة خطوة بخطوة. -weight: 12 +title: حذف استثناء التقويم باستخدام Aspose.Tasks url: /ar/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# التعامل مع استثناءات التقويم في Aspose.Tasks +# حذف استثناء التقويم باستخدام Aspose.Tasks + +## المقدمة + +في هذا البرنامج التعليمي، ستتعلم كيفية **حذف استثناء التقويم** وإدارة استثناءات التقويم الأخرى في Aspose.Tasks باستخدام إطار عمل .NET. تسمح لك استثناءات التقويم بنمذجة العطلات، الإغلاقات المؤقتة، أو أي فترات خاصة حيث يتغير جدول العمل العادي. فهم كيفية إضافة، استعلام، وإزالة هذه الاستثناءات أمر أساسي لجدولة المشاريع بدقة، خاصةً عند العمل مع سيناريوهات **جدولة تقويم ASP.NET**. + +## إجابات سريعة +- **ما هي الطريقة الأساسية لإزالة استثناء؟** استخدم طريقة `Delete()` على كائن `CalendarException`. +- **أي فئة تتحقق من تاريخ مقابل استثناء؟** `CalendarException.CheckException()` — مفيدة لـ **التحقق من تاريخ الاستثناء**. +- **هل أحتاج إلى ترخيص لتشغيل الكود؟** نعم، يلزم وجود ترخيص صالح لـ Aspose.Tasks للاستخدام في بيئة الإنتاج. +- **هل يمكنني إضافة استثناءات متعددة إلى تقويم واحد؟** بالتأكيد؛ مجموعة `Exceptions` تدعم العديد من الإدخالات. +- **الإصدارات المدعومة من .NET؟** .NET Framework 4.5+، .NET Core 3.1+، .NET 5/6/7. + +## ما هو استثناء التقويم؟ -## مقدمة +تمثل **استثناء التقويم** انحرافًا عن التقويم العملي العادي — فكر فيه كقاعدة تقول “في هذه التواريخ، ساعات العمل مختلفة أو لا توجد ساعات على الإطلاق”. في Aspose.Tasks، يمكن لكل استثناء أن يمتلك أوقات عمل خاصة به، نمط تكرار، وعلامات تشير إلى ما إذا كان اليوم عمليًا. -في هذا البرنامج التعليمي، سوف نستكشف كيفية إدارة استثناءات التقويم في Aspose.Tasks باستخدام إطار عمل .NET. تسمح لنا استثناءات التقويم بتحديد تواريخ أو فترات خاصة في تقويم المشروع حيث يتم تغيير جدول العمل العادي، مثل العطلات أو الإغلاق المؤقت. سنغطي الطرق المختلفة للتعامل مع استثناءات التقويم خطوة بخطوة، باستخدام Aspose.Tasks لـ .NET. +## لماذا إدارة استثناءات التقويم في جدولة تقويم ASP.NET؟ -## المتطلبات الأساسية +- **جداول زمنية دقيقة:** تحترم المشاريع تلقائيًا العطلات والإغلاقات الخاصة، مما يمنع المواعيد النهائية غير الواقعية. +- **المرونة:** يمكنك تعريف أنماط يومية، أسبوعية، شهرية، أو سنوية، لتطابق تقاويم الأعمال الواقعية. +- **الأتمتة:** يسمح التحقق البرمجي من تاريخ الاستثناء بإنشاء منطق جدولة ديناميكي في تطبيقات ASP.NET. -قبل أن نبدأ، تأكد من توفر المتطلبات الأساسية التالية: -- المعرفة الأساسية بلغة البرمجة C#. -- تم تثبيت Visual Studio على نظامك. -- تمت إضافة Aspose.Tasks لمكتبة .NET إلى مشروعك. +## المتطلبات المسبقة + +- معرفة أساسية ببرمجة C#. +- Visual Studio (أي نسخة حديثة). +- مكتبة Aspose.Tasks لـ .NET مضافة إلى مشروعك (عبر NuGet أو مرجع يدوي). ## استيراد مساحات الأسماء -أولاً، لنستورد مساحات الأسماء الضرورية لمشروعنا: +أولاً، استورد مساحات الأسماء التي ستحتاجها: ```csharp using Aspose.Tasks; using System; - - ``` ## الخطوة 1: حذف استثناء التقويم -لحذف استثناء التقويم، اتبع الخطوات التالية: +إزالة استثناء غير مرغوب فيه أمر بسيط. الكود التالي يقوم بتحميل مشروع، اختيار أول تقويم، عرض معلومات أساسية، حذف الاستثناء الأول، ثم إظهار العدد المحدث. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // عرض معلومات التقويم + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // إزالة الاستثناء الأول + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` +> **نصيحة احترافية:** تحقق دائمًا من وجود فهرس الاستثناء قبل استدعاء `Delete()` لتجنب `IndexOutOfRangeException`. + ## الخطوة 2: الحصول على وقت العمل لاستثناء التقويم -لاسترداد وقت العمل لاستثناء التقويم، اتبع الخطوات التالية: +إذا كنت بحاجة إلى فحص ساعات العمل المعرفة لاستثناء ما، استخدم `GetWorkingTime()`. يوضح هذا المثال أيضًا كيفية **التحقق من تاريخ الاستثناء** باستخدام `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // عرض معلومات التقويم والاستثناءات + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // الحصول على وقت العمل وعرض التفاصيل + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## الخطوة 3: تحديد استثناءات التقويم +## الخطوة 3: تعريف استثناءات التقويم -لإضافة أو إزالة استثناءات التقويم، اتبع الخطوات التالية: +فيما يلي شرح كامل يوضح كيفية **إضافة**، **التحقق**، و**إزالة** استثناءات التقويم. لاحظ استخدام `CheckException` لـ **التحقق من تاريخ الاستثناء** لوقت محدد. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // إنشاء استثناء تقويم جديد + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // تعيين تفاصيل الاستثناء + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // تحقق مما إذا كان التاريخ استثناءً + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // أضف الاستثناء إلى التقويم + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // إزالة الاستثناء إذا كان موجودا + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // إضافة استثناء جديد + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // استثناءات الطباعة + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## خاتمة +## المشكلات الشائعة والنصائح -في هذه المقالة، قمنا بتغطية الجوانب المختلفة للتعامل مع استثناءات التقويم في Aspose.Tasks لـ .NET. من خلال اتباع الخطوات المقدمة، يمكنك إدارة الاستثناءات بشكل فعال في جداول مشروعك، مما يضمن التمثيل الدقيق لساعات العمل والمناسبات الخاصة. +| المشكلة | السبب | الحل | +|-------|--------|----------| +| **`IndexOutOfRangeException` عند الحذف** | محاولة حذف استثناء غير موجود. | تحقق من أن `calendar.Exceptions.Count` > الفهرس قبل استدعاء `Delete()`. | +| **أوقات عمل غير صحيحة** | عدم تعيين `DayWorking` أو `WorkingTimes` بشكل صحيح. | استخدم `exception.WorkingTimes.Add(new WorkingTime(...))` لتحديد فترات صريحة. | +| **عدم التعرف على الاستثناء** | `CheckException` يُعيد `false` لأن التاريخ يقع خارج النطاق المحدد. | تحقق مرة أخرى من `FromDate`/`ToDate` و`Type` (يومي، أسبوعي، إلخ). | -## الأسئلة الشائعة +## الأسئلة المتكررة -### س1: هل يمكنني إضافة استثناءات متعددة إلى تقويم واحد؟ +**س: هل يمكنني إضافة استثناءات متعددة إلى تقويم واحد؟** +**ج:** نعم، يمكنك إضافة عدد غير محدود من الاستثناءات لتمثيل العطلات، فترات الصيانة، أو أي قواعد جدولة خاصة. -ج1: نعم، يمكنك إضافة استثناءات متعددة إلى تقويم لاستيعاب تواريخ أو فترات خاصة مختلفة. +**س: كيف يمكنني **التحقق من تاريخ الاستثناء** ليوم معين؟** +**ج:** استخدم طريقة `CheckException(DateTime date)` على كائن `CalendarException`. تُعيد `true` إذا كان التاريخ المحدد يقع ضمن نطاق الاستثناء. -### س2: كيف يمكنني التحقق مما إذا كان تاريخ معين يمثل استثناءً؟ +**س: هل يمكن إزالة استثناء موجود من تقويم؟** +**ج:** بالتأكيد. يمكنك الوصول إلى مجموعة `Exceptions` واستدعاء `Remove()` أو تنفيذ `Delete()` على كائن `CalendarException` المحدد. - ج2: يمكنك استخدام`CheckException()` طريقة للتحقق مما إذا كان تاريخ معين يقع ضمن الاستثناء. +**س: ما هي أنواع استثناءات التقويم المدعومة؟** +**ج:** يدعم Aspose.Tasks أنواع الاستثناء اليومي، الأسبوعي، الشهري، والسنوي، مما يمنحك مرونة لنمذجة أي نمط تكرار تقريبًا. -### س3: هل من الممكن إزالة استثناء موجود من التقويم؟ +**س: هل يمكن تخصيص ساعات العمل لتواريخ استثناء معينة؟** +**ج:** نعم. بعد إنشاء الاستثناء، قم بملء مجموعة `WorkingTimes` بكائنات `WorkingTime` التي تحدد أوقات البدء والانتهاء لهذا اليوم. - ج3: نعم، يمكنك إزالة الاستثناءات عن طريق الوصول إلى ملف`Exceptions` جمع التقويم واستخدام`Remove()` طريقة. +## الخاتمة -### س٤: ما هي أنواع استثناءات التقويم المدعومة؟ +لقد استعرضنا دورة الحياة الكاملة لعمليات **حذف استثناء التقويم**، من فحص الاستثناءات الموجودة إلى إضافة استثناءات جديدة والتحقق من التواريخ. إتقان هذه التقنيات يضمن أن جداول مشاريعك تحترم التقويمات الواقعية، مما يجعل تنفيذات جدولة التقويم في ASP.NET قوية وموثوقة. -ج4: يدعم Aspose.Tasks أنواعًا مختلفة من الاستثناءات، بما في ذلك الاستثناءات اليومية والأسبوعية والشهرية والسنوية، مما يوفر المرونة في تعريف قواعد الاستثناء. +--- -### س5: هل يمكنني تخصيص ساعات العمل لتواريخ استثناء محددة؟ +**آخر تحديث:** 2026-04-13 +**تم الاختبار مع:** Aspose.Tasks for .NET (أحدث إصدار) +**المؤلف:** Aspose -ج5: نعم، يمكنك تحديد أوقات عمل مخصصة لتواريخ الاستثناءات الفردية باستخدام الطرق المناسبة التي يوفرها Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/arabic/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/arabic/net/calendar-scheduling/child-tasks-collector/_index.md index ce6ac49cf..4e2f31755 100644 --- a/tasks/arabic/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/arabic/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: جمع مهام الطفل في Aspose.Tasks -linktitle: جمع مهام الطفل في Aspose.Tasks +date: 2026-04-13 +description: تعلم كيفية إنشاء مجموعة مهام فرعية باستخدام Aspose.Tasks لـ .NET. حسّن + إدارة المشاريع في تطبيقات .NET الخاصة بك. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: إنشاء جامع مهام فرعية في Aspose.Tasks second_title: Aspose.Tasks .NET API -description: تعرف على كيفية جمع المهام الفرعية بكفاءة باستخدام Aspose.Tasks لـ .NET. تحسين إدارة المشروعات في تطبيقات .NET الخاصة بك. -weight: 15 +title: كيفية إنشاء جامع مهام فرعية في Aspose.Tasks url: /ar/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# جمع مهام الطفل في Aspose.Tasks +# إنشاء جامع مهام فرعية في Aspose.Tasks ## مقدمة -في مجال إدارة المشاريع، يبرز Aspose.Tasks for .NET كحل قوي للتعامل مع المهام والمشاريع بكفاءة. توفر هذه المكتبة القوية للمطورين الأدوات التي يحتاجونها لإدارة المهام والمشاريع وكل شيء بينهما بسلاسة. في هذا البرنامج التعليمي، سوف نتعمق في جانب محدد من Aspose.Tasks: جمع المهام الفرعية. +إذا كنت بحاجة إلى **create child tasks collector** لملف Microsoft Project، فإن Aspose.Tasks for .NET يجعل العملية بسيطة. في هذا البرنامج التعليمي سنستعرض الخطوات الدقيقة المطلوبة لجمع كل مهمة فرعية تحت أصل، حتى تتمكن من معالجتها أو تحليلها أو تصديرها بثقة. في نهاية الدليل ستحصل على مقتطف قابل لإعادة الاستخدام يتناسب طبيعياً مع أي حل لإدارة المشاريع مبني على .NET. + +## إجابات سريعة +- **What does the ChildTasksCollector do?** إنه يتنقل عبر هيكلية المهام ويجمع جميع المهام التابعة في مجموعة. +- **Which library provides this feature?** Aspose.Tasks for .NET. +- **Do I need a license to run the sample?** نسخة تجريبية مجانية تكفي للتقييم؛ الترخيص مطلوب للإنتاج. +- **What .NET versions are supported?** .NET Framework 4.5+، .NET Core 3.1+، .NET 5/6+. +- **How long does the implementation take?** تقريباً 5‑10 دقائق بمجرد تثبيت المكتبة. + +## ما هو جامع مهام فرعية؟ + +**child tasks collector** هو كائن أداة يمشي عبر شجرة المهام في ملف Project، بدءاً من مهمة جذر محددة، ويجمع كل مهمة فرعية (sub‑task) يصادفها. هذا مفيد بشكل خاص عندما تريد تطبيق عمليات جماعية—مثل تحديث الحقول، تصدير البيانات، أو إنشاء تقارير—دون الحاجة إلى التكرار يدويًا على كل مستوى من مستويات الهيكلية. -## المتطلبات الأساسية +## لماذا إنشاء جامع مهام فرعية؟ -قبل أن نبدأ، تأكد من توفر المتطلبات الأساسية التالية: +- **Simplify recursion:** يقوم الجامع بمعالجة التجوال بعمق أولاً داخلياً، لذا تتجنب كتابة حلقاتك العودية الخاصة. +- **Boost productivity:** استرجاع جميع المهام التابعة في مجموعة واحدة، مما يجعل التعديلات أو التحليلات الجماعية سهلة. +- **Maintain clean code:** يحافظ على منطق الأعمال منفصلاً عن التنقل منخفض المستوى في بنية المشروع. -1. الفهم الأساسي لـ C#: الإلمام بلغة البرمجة C# أمر ضروري. -2. تثبيت Aspose.Tasks لـ .NET: قم بتنزيل وتثبيت Aspose.Tasks لمكتبة .NET من[رابط التحميل](https://releases.aspose.com/tasks/net/). -3. بيئة التطوير: قم بإعداد بيئة تطوير، مثل Visual Studio، لكتابة كود C# وتنفيذه. -4. الوصول إلى الوثائق: احتفظ بال[Aspose.Tasks لوثائق .NET](https://reference.aspose.com/tasks/net/) مفيد للرجوع إليها. +## المتطلبات المسبقة -الآن بعد أن قمنا بتغطية المتطلبات الأساسية، دعنا نتعمق في الدليل خطوة بخطوة لتجميع المهام الفرعية باستخدام Aspose.Tasks لـ .NET. +1. **Basic Understanding of C#** – يجب أن تكون مرتاحاً لكتابة وتشغيل تطبيقات وحدة تحكم بسيطة. +2. **Aspose.Tasks for .NET installed** – قم بتنزيله من [download link](https://releases.aspose.com/tasks/net/). +3. **A development environment** – Visual Studio أو Rider أو أي بيئة تطوير تدعم C#. +4. **Access to the official docs** – احتفظ بـ [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) قريباً للرجوع إليه. + +الآن بعد أن تم إعداد الأساس، دعنا نغوص في الشيفرة. ## استيراد مساحات الأسماء -أولاً، قم باستيراد مساحات الأسماء الضرورية إلى كود C# الخاص بك للوصول إلى الوظائف التي يوفرها Aspose.Tasks لـ .NET. +أولاً، استورد مساحات الأسماء المطلوبة حتى يعرف المترجم أين يجد الفئات التي سنستخدمها. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -الآن، دعونا نقسم المثال المقدم إلى خطوات متعددة لفهم العملية بشكل كامل. +## دليل خطوة بخطوة -## الخطوة 1: تهيئة كائن المشروع +### الخطوة 1: تهيئة كائن Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - يقوم هذا السطر من التعليمات البرمجية بتهيئة ملف جديد`Project` كائن، وتحميل ملف مشروع يسمى "ParentChildTasks.mpp" من الدليل المحدد. +هذا السطر يحمل ملف Microsoft Project موجود (`ParentChildTasks.mpp`) من مجلد `DataDir` إلى كائن `Project`، مما يمنحنا وصولاً برمجياً إلى مهامه. -## الخطوة 2: إنشاء كائن ChildTaskCollector +### الخطوة 2: إنشاء مثيل ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - هنا نقوم بإنشاء جديد`ChildTasksCollector` كائن، مما سيساعدنا في جمع المهام الفرعية من المشروع. +هنا نقوم **create child tasks collector** – وهو مثيل من `ChildTasksCollector` سيخزن كل مهمة فرعية يكتشفها. -## الخطوة 3: تطبيق Collector على المهمة الجذرية +### الخطوة 3: تطبيق الجامع على المهمة الجذرية ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - نحن نطبق`ChildTasksCollector` إلى المهمة الجذرية للمشروع، وبدء عملية التجميع بشكل متكرر. +نخبر Aspose.Tasks ببدء الجمع عند المهمة الجذرية للمشروع. طريقة `Apply` تتجول في الهيكلية بشكل متكرر، وتملأ `collector.Tasks` بجميع المهام التابعة. -## الخطوة 4: التكرار من خلال المهام المجمعة +### الخطوة 4: التكرار عبر المهام المجمعة ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -أخيرًا، نكرر المهام المجمعة ونطبع أسمائها على وحدة التحكم. - -## خاتمة +أخيراً، نقوم بالتكرار على المهام المجمعة وطباعة اسم كل مهمة إلى وحدة التحكم. في سيناريو واقعي يمكنك استبدال `Console.WriteLine` بأي معالجة مخصصة تحتاجها (مثلاً، تصدير إلى CSV، تحديث الحقول، إلخ). -في هذا البرنامج التعليمي، اكتشفنا كيفية جمع المهام الفرعية باستخدام Aspose.Tasks لـ .NET. باتباع الخطوات الموضحة أعلاه، يمكنك إدارة المهام ومعالجتها بكفاءة داخل مشاريعك، مما يعزز الإنتاجية والتنظيم. +## المشكلات الشائعة والحلول -## الأسئلة الشائعة +| المشكلة | السبب | الحل | +|-------|--------|-----| +| **No tasks are returned** | تم تطبيق الجامع على المهمة الخاطئة (مثلاً، عقدة ورقية). | قم بتطبيق `TaskUtils.Apply` على `project.RootTask` أو على الأصل المحدد الذي تريد البدء منه. | +| **NullReferenceException** | `DataDir` أو مسار الملف غير صحيح. | تحقق من أن `DataDir` يشير إلى المجلد الذي يحتوي على `ParentChildTasks.mpp`. | +| **License not set** | Aspose.Tasks يصدر تحذير ترخيص في وضع التجربة. | حمّل الترخيص الخاص بك باستخدام `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` قبل إنشاء كائن `Project`. | -### س1: هل Aspose.Tasks لـ .NET متوافق مع كافة إصدارات .NET؟ +## الأسئلة المتكررة -ج1: نعم، Aspose.Tasks for .NET متوافق مع إصدارات مختلفة من .NET Framework، مما يضمن التوافق الواسع. +**س: هل Aspose.Tasks for .NET متوافق مع جميع إصدارات .NET؟** +ج: نعم، Aspose.Tasks for .NET يعمل مع .NET Framework 4.5+، .NET Core 3.1+، و .NET 5/6+. -### س2: هل يمكنني استخدام Aspose.Tasks لـ .NET لإنشاء ملفات مشروع جديدة؟ +**س: هل يمكنني استخدام Aspose.Tasks for .NET لإنشاء ملفات مشروع جديدة؟** +ج: بالتأكيد! تتيح لك المكتبة إنشاء، قراءة، وتعديل ملفات المشروع برمجياً. -ج2: بالتأكيد! يوفر Aspose.Tasks for .NET وظائف لإنشاء ملفات المشروع وقراءتها ومعالجتها بسهولة. +**س: هل يدعم Aspose.Tasks for .NET منصات متعددة؟** +ج: على الرغم من أنه مصمم لـ .NET، يمكنك تشغيله على أي منصة تدعم بيئة تشغيل .NET، بما في ذلك Windows و Linux و macOS. -### س3: هل يدعم Aspose.Tasks لـ .NET أنظمة أساسية متعددة؟ +**س: هل الدعم الفني متاح لـ Aspose.Tasks for .NET؟** +ج: نعم، يمكنك الحصول على المساعدة عبر [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -ج3: على الرغم من أنه تم تصميمه بشكل أساسي لبيئات .NET، إلا أنه يمكن استخدام Aspose.Tasks لـ .NET في العديد من الأنظمة الأساسية التي تدعم تطوير .NET. +**س: هل يمكنني تجربة Aspose.Tasks for .NET قبل الشراء؟** +ج: بالتأكيد! نسخة تجريبية مجانية متاحة من [release page](https://releases.aspose.com/). -### س4: هل يتوفر الدعم الفني لـ Aspose.Tasks لـ .NET؟ - -ج4: نعم، يمكن للمستخدمين الوصول إلى الدعم الفني من خلال[Aspose.منتدى المهام](https://forum.aspose.com/c/tasks/15). +--- -### س5: هل يمكنني تجربة Aspose.Tasks لـ .NET قبل الشراء؟ +**آخر تحديث:** 2026-04-13 +**تم الاختبار مع:** Aspose.Tasks 24.11 for .NET +**المؤلف:** Aspose - ج5: بالتأكيد! يمكنك الاستفادة من النسخة التجريبية المجانية من[صفحة الإصدار](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/chinese/net/calendar-scheduling/calendar-collection/_index.md b/tasks/chinese/net/calendar-scheduling/calendar-collection/_index.md index b1ba54179..9e30beb58 100644 --- a/tasks/chinese/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/chinese/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,44 @@ --- -title: 在 Aspose.Tasks 中管理日历集合 +date: 2026-04-13 +description: 了解如何在 Aspose.Tasks for .NET 中设置工作时间并管理日历集合。轻松导入 Microsoft Project 日历、删除项目日历以及按名称获取日历。 +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: 在 Aspose.Tasks 中管理日历集合 second_title: Aspose.Tasks .NET API -description: 了解如何在 Aspose.Tasks for .NET 中高效管理日历集合。轻松创建、修改和操作日历。 -weight: 11 +title: 在 Aspose.Tasks 日历集合中设置工作时间 url: /zh/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# 在 Aspose.Tasks 中管理日历集合 +# 在 Aspose.Tasks 日历集合中设置工作时间 -## 介绍 +在本教程中,您将学习如何 **设置工作时间** 并使用 Aspose.Tasks for .NET 管理日历集合。日历定义工作日、假期和例外情况,掌握它们即可精确控制项目进度。我们还将演示如何从 Microsoft Project 导入日历、从项目中删除日历以及按名称获取日历。 -在本教程中,我们将探讨如何在 Aspose.Tasks for .NET 中管理日历集合。日历在项目管理、定义工作日、假期和例外情况中发挥着至关重要的作用。 Aspose.Tasks 提供了强大的功能来操作项目中的日历。 +## 快速答案 +- **日历的主要类是什么?** `Project.Calendars` 集合。 +- **如何设置工作时间?** 创建或修改 `Calendar` 对象并定义其 `WorkingTime`。 +- **我可以从 Microsoft Project 导入日历吗?** 可以——加载 MPP 文件并访问其日历。 +- **如何从项目中删除日历?** 使用 `Project.Calendars.Remove(calendar)`。 +- **如何按名称检索日历?** 调用 `Project.Calendars.GetByName("YourCalendar")`。 -## 先决条件 +## 前提条件 -在我们开始之前,请确保您具备以下条件: +在开始之前,请确保您具备以下条件: -1. Visual Studio:安装 Visual Studio 或任何其他兼容的 IDE 以进行 .NET 开发。 -2. Aspose.Tasks for .NET:从以下位置下载并安装 Aspose.Tasks for .NET[这里](https://releases.aspose.com/tasks/net/). -3. 对 C# 的基本了解:熟悉 C# 编程语言将会很有帮助。 +1. Visual Studio:安装 Visual Studio 或任何其他兼容 .NET 开发的 IDE。 +2. Aspose.Tasks for .NET:从 [此处](https://releases.aspose.com/tasks/net/) 下载并安装 Aspose.Tasks for .NET。 +3. 基本的 C# 知识:熟悉 C# 编程语言将有所帮助。 ## 导入命名空间 -首先,让我们导入必要的命名空间来使用 Aspose.Tasks: +首先,让我们导入使用 Aspose.Tasks 所需的命名空间: ```csharp using Aspose.Tasks; @@ -35,24 +46,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## 创建新日历 -### 步骤一:初始化一个新的`Project` object. +### 步骤 1:初始化一个新的 `Project` 对象。 ```csharp var project = new Project(); ``` -### 步骤 2:将日历添加到项目的日历集合中。 +### 步骤 2:向项目的日历集合添加日历。 ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### 第 3 步:遍历日历并显示它们的名称。 +### 步骤 3:遍历日历并显示其名称。 ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +70,21 @@ foreach (var calendar in project.Calendars) } ``` -## 用新日历替换日历 +## 如何为日历设置工作时间? + +要 **设置工作时间**,您需要修改 `Calendar` 的 `WorkingTime` 集合。 +例如,您可以定义标准的上午 9 点至下午 5 点工作日,或添加自定义例外。 +此代码与我们后面创建标准日历时展示的示例完全相同。 -### 第 1 步:加载现有项目。 +## 用新日历替换现有日历 + +### 步骤 1:加载现有项目。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 步骤 2:删除现有日历(如果存在)。 +### 步骤 2:删除现有日历(如果存在)。 +此示例演示了 **删除项目日历** 场景。 ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -82,14 +99,15 @@ project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## 通过名称或 ID 获取日历 +## 按名称或 ID 获取日历 -### 第 1 步:加载项目。 +### 步骤 1:加载项目。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 步骤 2:按名称或 UID 检索日历。 +### 步骤 2:按名称或 UID 检索日历。 +此示例说明了 **按名称获取日历** 操作。 ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +120,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## 迭代日历 +## 遍历日历 -### 第 1 步:加载项目。 +### 步骤 1:加载项目。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 步骤 2:检索日历的计数。 +### 步骤 2:获取日历数量。 ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### 步骤 3:迭代日历集合和显示名称。 +### 步骤 3:遍历日历集合并显示名称。 ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,14 +141,14 @@ foreach (var calendar in calendars) } ``` -## 制作标准日历 +## 创建标准日历 -### 步骤1:初始化一个新项目。 +### 步骤 1:初始化新项目。 ```csharp var project = new Project(); ``` -### 第 2 步:定义新日历并使其成为标准。 +### 步骤 2:定义新日历并将其设为标准。 ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); @@ -141,34 +159,60 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## 结论 +## 常见问题及解决方案 -在 Aspose.Tasks for .NET 中管理日历集合对于有效的项目管理至关重要。通过提供的功能,您可以根据项目要求高效地创建、修改和操作日历。 +- **使用 `GetByName` 时未找到日历** —— 确保名称完全匹配添加日历时使用的大小写。 +- **工作时间未生效** —— 设置 `WorkingTime` 后,请记得保存项目;否则更改仅保留在内存中。 +- **从 MPP 文件导入日历失败** —— 请确认源文件是有效的 Microsoft Project 文件,并且您具有读取权限。 -## 常见问题解答 +## 常见问答 ### Q1:我可以在 Aspose.Tasks 中创建自定义工作日吗? -A1:是的,您可以通过向日历添加例外来创建自定义工作日。 +A1:可以,您可以通过向日历添加例外来创建自定义工作日。 -### 问题 2:是否可以从 Microsoft Project 文件导入日历? +### Q2:是否可以从 Microsoft Project 文件导入日历? A2:当然,Aspose.Tasks 支持从 Microsoft Project 文件导入日历。 -### 问题 3:如何从项目中删除特定日历? +### Q3:如何从项目中删除特定的日历? + +A3:您可以先从集合中获取该日历,然后调用 `Remove` 方法将其删除。 + +### Q4:Aspose.Tasks 是否支持将日历导出为不同格式? + +A4:是的,Aspose.Tasks 允许将日历导出为 XML、MPP 等多种格式。 - A3:您可以通过从集合中获取日历然后调用`Remove`方法。 +### Q5:我可以为日历中的特定日期自定义工作时间吗? -### Q4:Aspose.Tasks 支持将日历导出为不同格式吗? +A5:当然,您可以通过在日历中添加例外来为单独的日期定义工作时间。 -A4:是的,Aspose.Tasks 允许将日历导出为各种格式,如 XML、MPP 等。 +## 常见问题 + +**Q:设置 24 小时轮班日历的最佳方法是什么?** +A:创建一个新日历,清除现有的 `WorkingTime` 条目,然后为每个工作日添加一个从 00:00 到 24:00 的单一 `WorkingTime` 区间。 + +**Q:我可以将日历从一个项目复制到另一个项目吗?** +A:可以——使用 `project.Save` 将日历导出为 XML,然后使用 `new Project(xmlPath)` 将其导入到另一个项目中。 + +**Q:如何以编程方式导入 Microsoft Project 的日历?** +A:使用 `new Project("source.mpp")` 加载 MPP 文件;日历可通过 `project.Calendars` 获得。 + +**Q:项目中日历的数量有上限吗?** +A:实际上没有;该集合可以容纳尽可能多的日历,只受内存限制,但为保证性能应保持列表可管理。 + +**Q:对日历的更改会自动更新使用该日历的任务吗?** +A:是的——在保存项目后,关联到该日历的任务会反映更新后的工作时间。 + +--- -### Q5:我可以在日历中自定义特定日期的工作时间吗? +**最后更新:** 2026-04-13 +**测试环境:** Aspose.Tasks 24.11 for .NET +**作者:** Aspose -A5:当然,您可以使用日历中的例外情况来定义单日的工作时间。 {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/chinese/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/chinese/net/calendar-scheduling/calendar-exceptions/_index.md index ab84673b7..056c54f55 100644 --- a/tasks/chinese/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/chinese/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,62 @@ --- -title: 处理 Aspose.Tasks 中的日历异常 -linktitle: 处理 Aspose.Tasks 中的日历异常 +date: 2026-04-13 +description: 了解如何在 Aspose.Tasks for .NET 中删除日历例外,并在管理 ASP.NET 日历调度时检查例外日期。 +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: 使用 Aspose.Tasks 删除日历例外 second_title: Aspose.Tasks .NET API -description: 通过分步教程和示例,了解如何在 Aspose.Tasks for .NET 中管理日历异常。 -weight: 12 +title: 使用 Aspose.Tasks 删除日历例外 url: /zh/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# 处理 Aspose.Tasks 中的日历异常 +# 删除日历异常(使用 Aspose.Tasks) ## 介绍 -在本教程中,我们将探讨如何使用 .NET 框架在 Aspose.Tasks 中管理日历异常。日历例外允许我们在项目日历中定义特殊日期或时期,其中常规工作时间表会发生变化,例如假期或临时关闭。我们将使用 Aspose.Tasks for .NET 逐步介绍处理日历异常的各种方法。 +在本教程中,您将学习如何 **删除日历异常** 并使用 .NET 框架在 Aspose.Tasks 中管理其他日历异常。日历异常允许您模拟假期、临时关闭或任何正常工作时间发生变化的特殊时期。了解如何添加、查询和移除这些异常对于准确的项目调度至关重要,尤其是在处理 **ASP.NET 日历调度** 场景时。 + +## 快速答案 +- **删除异常的主要方法是什么?** 使用 `CalendarException` 对象的 `Delete()` 方法。 +- **哪个类用于检查日期是否在异常范围内?** `CalendarException.CheckException()` —— 用于 **检查异常日期**。 +- **运行代码是否需要许可证?** 是的,生产环境需要有效的 Aspose.Tasks 许可证。 +- **我可以在单个日历中添加多个异常吗?** 当然可以;`Exceptions` 集合支持多个条目。 +- **支持的 .NET 版本?** .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6/7。 + +## 什么是日历异常? + +**日历异常** 表示与常规工作日历的偏离——可以将其视为一条规则,说明“在这些日期,工作时间不同或根本没有”。在 Aspose.Tasks 中,每个异常可以拥有自己的工作时间、重复模式以及指示该天是否为工作日的标志。 + +## 为什么在 ASP.NET 日历调度中管理日历异常? + +- **准确的时间线:** 项目会自动遵守假期和特殊关闭,防止出现不切实际的截止日期。 +- **灵活性:** 您可以定义每日、每周、每月或每年的模式,以匹配真实的业务日历。 +- **自动化:** 通过编程方式检查异常日期,可在 ASP.NET 应用程序中构建动态调度逻辑。 -## 先决条件 +## 前提条件 -在我们开始之前,请确保您满足以下先决条件: -- C# 编程语言的基础知识。 -- Visual Studio 安装在您的系统上。 -- Aspose.Tasks for .NET 库已添加到您的项目中。 +- 对 C# 编程的基本了解。 +- Visual Studio(任意近期版本)。 +- 已在项目中添加 Aspose.Tasks for .NET 库(通过 NuGet 或手动引用)。 ## 导入命名空间 -首先,让我们为我们的项目导入必要的命名空间: +首先,导入您需要的命名空间: ```csharp using Aspose.Tasks; using System; - - ``` -## 步骤 1:删除日历例外 +## 步骤 1:删除日历异常 -要删除日历例外,请按照下列步骤操作: +删除不需要的异常非常简单。以下代码加载项目,选择第一个日历,显示基本信息,删除第一个异常,然后显示更新后的计数。 ```csharp public void CalendarExceptionDelete() @@ -45,20 +64,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - //显示日历信息 + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - //删除第一个异常 + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## 步骤2:获取日历异常的工作时间 +> **技巧提示:** 在调用 `Delete()` 之前,请始终确认异常索引存在,以避免 `IndexOutOfRangeException`。 + +## 步骤 2:获取日历异常的工作时间 -要检索日历例外的工作时间,请按照下列步骤操作: +如果需要检查异常定义的工作时间,请使用 `GetWorkingTime()`。此示例还演示了如何使用 `CheckException` **检查异常日期**。 ```csharp [Test] @@ -68,12 +89,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - //显示日历和异常信息 + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - //获取工作时间并显示详细信息 + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +106,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## 步骤 3:定义日历例外 +## 步骤 3:定义日历异常 -要添加或删除日历例外,请按照下列步骤操作: +下面是完整的演练,展示了如何 **添加**、**检查** 和 **移除** 日历异常。请注意使用 `CheckException` 来 **检查特定时刻的异常日期**。 ```csharp [Test] @@ -96,10 +117,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - //创建新的日历例外 + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - //设置异常详细信息 + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +128,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - //检查日期是否异常 + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - //将例外添加到日历中 + // Add the exception to the calendar calendar.Exceptions.Add(exception); - //删除异常(如果存在) + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +142,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - //添加新的例外 + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - //打印异常 + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +158,44 @@ public void DefineCalendarExceptions() } ``` -## 结论 +## 常见问题与技巧 -在本文中,我们介绍了在 Aspose.Tasks for .NET 中处理日历异常的各个方面。通过遵循提供的步骤,您可以有效地管理项目进度中的异常情况,确保准确表示工作时间和特殊事件。 +| 问题 | 原因 | 解决方案 | +|-------|--------|----------| +| **`IndexOutOfRangeException` 删除时出现** | 尝试删除不存在的异常。 | 在调用 `Delete()` 之前,确认 `calendar.Exceptions.Count` 大于索引。 | +| **工作时间不正确** | `DayWorking` 或 `WorkingTimes` 未正确设置。 | 使用 `exception.WorkingTimes.Add(new WorkingTime(...))` 定义明确的时间段。 | +| **异常未被识别** | `CheckException` 返回 `false`,因为日期超出定义的范围。 | 再次检查 `FromDate`/`ToDate` 以及 `Type`(每日、每周等)。 | -## 常见问题解答 +## 常见问题 -### Q1:我可以在一个日历中添加多个例外吗? +**问:我可以在单个日历中添加多个异常吗?** +答:是的,您可以根据需要添加任意数量的异常,以表示假期、维护窗口或任何特殊调度规则。 -A1:是的,您可以向日历添加多个例外,以适应各种特殊日期或时段。 +**问:如何对特定日期**check exception date**?** +答:在 `CalendarException` 实例上使用 `CheckException(DateTime date)` 方法。如果提供的日期在异常范围内,则返回 `true`。 -### Q2:如何检查特定日期是否异常? +**问:是否可以从日历中移除已有的异常?** +答:当然可以。访问 `Exceptions` 集合并调用 `Remove()`,或在特定的 `CalendarException` 对象上调用 `Delete()`。 - A2:您可以使用`CheckException()`方法来验证特定日期是否属于例外情况。 +**问:支持哪些类型的日历异常?** +答:Aspose.Tasks 支持每日、每周、每月和每年异常类型,提供灵活性以建模几乎任何重复模式。 -### 问题 3:是否可以从日历中删除现有的例外情况? +**问:我可以为特定异常日期自定义工作时间吗?** +答:可以。在创建异常后,使用 `WorkingTime` 对象填充其 `WorkingTimes` 集合,以定义该日的开始和结束时间。 - A3:是的,您可以通过访问`Exceptions`收集日历并使用`Remove()`方法。 +## 结论 -### 问题 4:支持哪些类型的日历例外? +我们已经完整演示了 **删除日历异常** 操作的整个生命周期,从检查现有异常到添加新异常以及检查日期。掌握这些技术可确保您的项目计划遵循真实世界的日历,使您的 ASP.NET 日历调度实现更加稳健可靠。 -A4:Aspose.Tasks支持各种类型的异常,包括每日、每周、每月和每年的异常,为定义异常规则提供了灵活性。 +--- -### Q5:我可以自定义特定例外日期的工作时间吗? +**最后更新:** 2026-04-13 +**测试环境:** Aspose.Tasks for .NET(最新版本) +**作者:** Aspose -A5:是的,您可以使用 Aspose.Tasks 提供的适当方法为各个例外日期定义自定义工作时间。 {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/chinese/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/chinese/net/calendar-scheduling/child-tasks-collector/_index.md index 513c24fd6..f54793eee 100644 --- a/tasks/chinese/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/chinese/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,95 @@ --- -title: 在 Aspose.Tasks 中收集子任务 -linktitle: 在 Aspose.Tasks 中收集子任务 +date: 2026-04-13 +description: 学习如何使用 Aspose.Tasks for .NET 创建子任务收集器,提升您在 .NET 应用程序中的项目管理。 +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: 在 Aspose.Tasks 中创建子任务收集器 second_title: Aspose.Tasks .NET API -description: 了解如何使用 Aspose.Tasks for .NET 高效收集子任务。改进 .NET 应用程序中的项目管理。 -weight: 15 +title: 如何在 Aspose.Tasks 中创建子任务收集器 url: /zh/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# 在 Aspose.Tasks 中收集子任务 +# 在 Aspose.Tasks 中创建子任务收集器 ## 介绍 -在项目管理领域,Aspose.Tasks for .NET 作为高效处理任务和项目的强大解决方案脱颖而出。这个强大的库为开发人员提供了无缝管理任务、项目和所有内容所需的工具。在本教程中,我们将深入研究 Aspose.Tasks 的一个特定方面:收集子任务。 +如果您需要为 Microsoft Project 文件 **创建子任务收集器**,Aspose.Tasks for .NET 能让这一步变得简单直观。在本教程中,我们将逐步演示如何收集父任务下的所有子任务,以便您能够自信地进行处理、分析或导出。完成本指南后,您将拥有一段可在任何基于 .NET 的项目管理解决方案中自然使用的可复用代码片段。 + +## 快速答案 +- **ChildTasksCollector 做什么?** 它遍历任务层次结构并将所有后代任务收集到一个集合中。 +- **哪个库提供此功能?** Aspose.Tasks for .NET。 +- **运行示例是否需要许可证?** 免费试用可用于评估;生产环境需要许可证。 +- **支持哪些 .NET 版本?** .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6+。 +- **实现需要多长时间?** 安装库后大约 5‑10 分钟。 + +## 什么是子任务收集器? + +**子任务收集器** 是一种实用对象,它从指定的根任务开始遍历 Project 文件的任务树,并聚合它遇到的每一个子任务(子任务)。当您希望批量操作——例如更新字段、导出数据或生成报告——而不必手动遍历层级的每一级时,这个工具尤其有用。 + +## 为什么要创建子任务收集器? + +- **简化递归**:收集器在内部处理深度优先遍历,避免编写自己的递归循环。 +- **提升生产力**:在单个集合中检索所有后代任务,使批量编辑或分析变得轻而易举。 +- **保持代码整洁**:将业务逻辑与项目结构的底层导航分离。 ## 先决条件 -在我们开始之前,请确保您具备以下先决条件: +在开始之前,请确保您具备以下条件: -1. 对 C# 的基本了解:熟悉 C# 编程语言至关重要。 -2. 安装 Aspose.Tasks for .NET:从以下位置下载并安装 Aspose.Tasks for .NET 库:[下载链接](https://releases.aspose.com/tasks/net/). -3. 开发环境:设置开发环境,例如 Visual Studio,用于编写和执行 C# 代码。 -4. 获取文档:保留[.NET 文档的 Aspose.Tasks](https://reference.aspose.com/tasks/net/)方便参考。 +1. **对 C# 的基本了解**——应能够编写和运行简单的控制台应用程序。 +2. **已安装 Aspose.Tasks for .NET**——从[下载链接](https://releases.aspose.com/tasks/net/)获取。 +3. **开发环境**——Visual Studio、Rider 或任何支持 C# 的 IDE。 +4. **官方文档访问权限**——请随时参考[Aspose.Tasks for .NET 文档](https://reference.aspose.com/tasks/net/)。 -现在我们已经满足了先决条件,让我们深入了解使用 Aspose.Tasks for .NET 收集子任务的分步指南。 +准备工作就绪后,让我们进入代码实现。 ## 导入命名空间 -首先,将必要的命名空间导入到您的 C# 代码中,以访问 Aspose.Tasks for .NET 提供的功能。 +首先,将所需的命名空间引入作用域,以便编译器能够找到我们将使用的类。 ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -现在,让我们将提供的示例分解为多个步骤,以彻底理解该过程。 +## 分步指南 -## 第 1 步:初始化项目对象 +### 步骤 1:初始化 Project 对象 ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` -这行代码初始化一个新的`Project`对象,从指定目录加载名为“ParentChildTasks.mpp”的项目文件。 +此行代码从 `DataDir` 文件夹加载现有的 Microsoft Project 文件(`ParentChildTasks.mpp`),并将其装入 `Project` 对象,以便我们以编程方式访问其任务。 -## 第2步:创建ChildTasksCollector对象 +### 步骤 2:创建 ChildTasksCollector 实例 ```csharp var collector = new ChildTasksCollector(); ``` -在这里,我们创建一个新的`ChildTasksCollector`对象,这将帮助我们从项目中收集子任务。 +在这里我们 **创建子任务收集器**——即 `ChildTasksCollector` 的实例,用于存储它发现的每一个子任务。 -## 步骤 3:将收集器应用到根任务 +### 步骤 3:将收集器应用于根任务 ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` -我们应用`ChildTasksCollector`到项目的根任务,递归地启动收集过程。 +我们指示 Aspose.Tasks 从项目的根任务开始收集。`Apply` 方法递归遍历层级,将所有后代任务填充到 `collector.Tasks` 中。 -## 第 4 步:迭代收集的任务 +### 步骤 4:遍历收集的任务 ```csharp foreach (var task in collector.Tasks) @@ -75,36 +98,40 @@ foreach (var task in collector.Tasks) } ``` -最后,我们迭代收集的任务并将其名称打印到控制台。 - -## 结论 - -在本教程中,我们探讨了如何使用 Aspose.Tasks for .NET 收集子任务。通过执行上述步骤,您可以有效地管理和操作项目中的任务,从而提高生产力和组织性。 - -## 常见问题解答 +最后,我们遍历收集到的任务并将每个任务的名称打印到控制台。在实际项目中,您可以将 `Console.WriteLine` 替换为任意自定义处理(例如导出为 CSV、更新字段等)。 -### Q1:Aspose.Tasks for .NET 是否与所有版本的 .NET 兼容? +## 常见问题及解决方案 -A1:是的,Aspose.Tasks for .NET 与.NET 框架的各个版本兼容,确保了广泛的兼容性。 +| 问题 | 原因 | 解决方案 | +|-------|--------|-----| +| **未返回任务** | 收集器应用于错误的任务(例如叶子节点)。 | 将 `TaskUtils.Apply` 应用于 `project.RootTask` 或您想要开始的特定父任务。 | +| **NullReferenceException** | `DataDir` 或文件路径不正确。 | 确认 `DataDir` 指向包含 `ParentChildTasks.mpp` 的文件夹。 | +| **License not set** | Aspose.Tasks 在试用模式下抛出许可证警告。 | 在创建 `Project` 对象之前使用 `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` 加载许可证。 | -### Q2:我可以使用 Aspose.Tasks for .NET 创建新的项目文件吗? +## 常见问题 -A2:当然! Aspose.Tasks for .NET 提供了轻松创建、读取和操作项目文件的功能。 +**Q: Aspose.Tasks for .NET 是否兼容所有 .NET 版本?** +A: 是的,Aspose.Tasks for .NET 支持 .NET Framework 4.5+、.NET Core 3.1+ 和 .NET 5/6+。 -### Q3:Aspose.Tasks for .NET 支持多个平台吗? +**Q: 我可以使用 Aspose.Tasks for .NET 创建新项目文件吗?** +A: 当然可以!该库允许您以编程方式创建、读取和操作项目文件。 -A3:虽然Aspose.Tasks for .NET主要是为.NET环境设计的,但它可以在支持.NET开发的各种平台中使用。 +**Q: Aspose.Tasks for .NET 是否支持多平台?** +A: 虽然它面向 .NET 设计,但您可以在任何支持 .NET 运行时的平台上运行,包括 Windows、Linux 和 macOS。 -### Q4:Aspose.Tasks for .NET 是否提供技术支持? +**Q: 是否提供 Aspose.Tasks for .NET 的技术支持?** +A: 是的,您可以通过[Aspose.Tasks 论坛](https://forum.aspose.com/c/tasks/15)获取帮助。 -A4:是的,用户可以通过[Aspose.Tasks 论坛](https://forum.aspose.com/c/tasks/15). +**Q: 在购买前我可以试用 Aspose.Tasks for .NET 吗?** +A: 当然!免费试用可在[发布页面](https://releases.aspose.com/)获取。 -### Q5:我可以在购买前试用 Aspose.Tasks for .NET 吗? +**最后更新:** 2026-04-13 +**测试版本:** Aspose.Tasks 24.11 for .NET +**作者:** Aspose - A5:当然!您可以从以下网站获得免费试用[发布页面](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/czech/net/calendar-scheduling/calendar-collection/_index.md b/tasks/czech/net/calendar-scheduling/calendar-collection/_index.md index 13ca2613c..4f9b47a22 100644 --- a/tasks/czech/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/czech/net/calendar-scheduling/calendar-collection/_index.md @@ -1,31 +1,44 @@ --- -title: Správa kolekce kalendářů v Aspose.Tasks +date: 2026-04-13 +description: Zjistěte, jak nastavit pracovní hodiny a spravovat kolekce kalendářů + v Aspose.Tasks pro .NET. Importujte kalendáře z Microsoft Project, odstraňte kalendář + projektu a snadno získávejte kalendář podle názvu. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Správa kolekce kalendářů v Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Naučte se efektivně spravovat kolekce kalendářů v Aspose.Tasks for .NET. Vytvářejte, upravujte a manipulujte s kalendáři snadno. -weight: 11 +title: Nastavte pracovní hodiny v kolekci kalendářů Aspose.Tasks url: /cs/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Správa kolekce kalendářů v Aspose.Tasks +# Nastavení pracovních hodin v kolekci kalendářů Aspose.Tasks -## Úvod +V tomto tutoriálu se naučíte, jak **nastavit pracovní hodiny** a spravovat kolekce kalendářů pomocí Aspose.Tasks pro .NET. Kalendáře definují pracovní dny, svátky a výjimky, takže jejich ovládnutí vám umožní přesně řídit harmonogramy projektů. Také vám ukážeme, jak importovat kalendáře z Microsoft Project, odstranit kalendář z projektu a získat kalendář podle názvu. -V tomto tutoriálu prozkoumáme, jak spravovat kolekce kalendářů v Aspose.Tasks pro .NET. Kalendáře hrají klíčovou roli v řízení projektů, definují pracovní dny, svátky a výjimky. Aspose.Tasks poskytuje robustní funkce pro manipulaci s kalendáři ve vašich projektech. +## Rychlé odpovědi +- **Jaká je hlavní třída pro kalendáře?** `Project.Calendars` collection. +- **Jak nastavit pracovní hodiny?** Vytvořte nebo upravte objekt `Calendar` a definujte jeho `WorkingTime`. +- **Mohu importovat kalendáře z Microsoft Project?** Ano – načtěte soubor MPP a přistupujte k jeho kalendářům. +- **Jak odstranit kalendář z projektu?** Použijte `Project.Calendars.Remove(calendar)`. +- **Jak získat kalendář podle názvu?** Zavolejte `Project.Calendars.GetByName("YourCalendar")`. ## Předpoklady Než začneme, ujistěte se, že máte následující: -1. Visual Studio: Nainstalujte Visual Studio nebo jakékoli jiné kompatibilní IDE pro vývoj .NET. -2. Aspose.Tasks for .NET: Stáhněte si a nainstalujte Aspose.Tasks for .NET z[tady](https://releases.aspose.com/tasks/net/). -3. Základní znalost C#: Výhodou bude znalost programovacího jazyka C#. +1. Visual Studio: Nainstalujte Visual Studio nebo jiné kompatibilní IDE pro vývoj v .NET. +2. Aspose.Tasks pro .NET: Stáhněte a nainstalujte Aspose.Tasks pro .NET z [zde](https://releases.aspose.com/tasks/net/). +3. Základní znalost C#: Znalost programovacího jazyka C# bude užitečná. -## Importovat jmenné prostory +## Importování jmenných prostorů Nejprve importujme potřebné jmenné prostory pro práci s Aspose.Tasks: @@ -35,12 +48,11 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Vytvoření nového kalendáře -### Krok 1: Inicializujte nový`Project` object. +### Krok 1: Inicializujte nový objekt `Project`. ```csharp var project = new Project(); ``` @@ -52,7 +64,7 @@ var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Krok 3: Iterujte kalendáře a zobrazte jejich jména. +### Krok 3: Projděte kalendáře a zobrazte jejich názvy. ```csharp foreach (var calendar in project.Calendars) { @@ -60,6 +72,12 @@ foreach (var calendar in project.Calendars) } ``` +## Jak nastavit pracovní hodiny pro kalendář? + +Pro **nastavení pracovních hodin** upravíte kolekci `WorkingTime` objektu `Calendar`. +Například můžete definovat standardní pracovní den od 9 do 17 hodin nebo přidat vlastní výjimky. +Kód pro toto je stejný jako příklady uvedené níže, když vytváříme standardní kalendář. + ## Nahrazení kalendáře novým kalendářem ### Krok 1: Načtěte existující projekt. @@ -67,7 +85,8 @@ foreach (var calendar in project.Calendars) var project = new Project(DataDir + "Project5.mpp"); ``` -### Krok 2: Odeberte existující kalendář (pokud existuje). +### Krok 2: Odstraňte existující kalendář (pokud existuje). +Toto demonstruje scénář **odstranění kalendáře z projektu**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -82,14 +101,15 @@ project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Získání kalendáře podle jména nebo ID +## Získání kalendáře podle názvu nebo ID ### Krok 1: Načtěte projekt. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Krok 2: Načtěte kalendáře podle jména nebo UID. +### Krok 2: Získejte kalendáře podle názvu nebo UID. +Toto ilustruje operaci **získání kalendáře podle názvu**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +122,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Iterace přes kalendáře +## Procházení kalendářů ### Krok 1: Načtěte projekt. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Krok 2: Načtěte počet kalendářů. +### Krok 2: Získejte počet kalendářů. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Krok 3: Iterujte kolekci kalendářů a zobrazované názvy. +### Krok 3: Projděte kolekci kalendářů a zobrazte názvy. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -130,7 +150,7 @@ foreach (var calendar in calendars) var project = new Project(); ``` -### Krok 2: Definujte nový kalendář a udělejte jej standardním. +### Krok 2: Definujte nový kalendář a nastavte jej jako standardní. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); @@ -141,34 +161,55 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Závěr - -Správa kolekcí kalendářů v Aspose.Tasks for .NET je nezbytná pro efektivní řízení projektů. S poskytnutými funkcemi můžete efektivně vytvářet, upravovat a manipulovat s kalendáři podle požadavků vašeho projektu. +## Časté problémy a řešení -## FAQ +- **Kalendář nebyl nalezen při použití `GetByName`** – Ujistěte se, že přesný název odpovídá velikosti písmen použité při přidání kalendáře. +- **Pracovní hodiny nebyly použity** – Po nastavení `WorkingTime` nezapomeňte projekt uložit; jinak změny zůstanou pouze v paměti. +- **Import kalendářů z MPP souboru selže** – Ověřte, že zdrojový soubor je platný soubor Microsoft Project a že máte oprávnění ke čtení. -### Q1: Mohu vytvořit vlastní pracovní dny v Aspose.Tasks? +## Často kladené otázky +### Q1: Mohu v Aspose.Tasks vytvořit vlastní pracovní dny? A1: Ano, můžete vytvořit vlastní pracovní dny přidáním výjimek do kalendářů. -### Q2: Je možné importovat kalendáře ze souborů aplikace Microsoft Project? +### Q2: Je možné importovat kalendáře ze souborů Microsoft Project? +A2: Rozhodně, Aspose.Tasks podporuje import kalendářů ze souborů Microsoft Project. + +### Q3: Jak mohu odstranit konkrétní kalendář z projektu? +A3: Kalendář můžete odstranit tak, že jej získáte z kolekce a poté zavoláte metodu `Remove`. -Odpověď 2: Aspose.Tasks rozhodně podporuje import kalendářů ze souborů aplikace Microsoft Project. +### Q4: Podporuje Aspose.Tasks export kalendářů do různých formátů? +A4: Ano, Aspose.Tasks umožňuje export kalendářů do různých formátů, jako XML, MPP atd. -### Q3: Jak mohu odebrat konkrétní kalendář z projektu? +### Q5: Mohu přizpůsobit pracovní hodiny pro konkrétní dny v kalendáři? +A5: Samozřejmě, můžete definovat pracovní hodiny pro jednotlivé dny pomocí výjimek v kalendáři. - A3: Kalendář můžete odebrat tak, že jej získáte z kolekce a poté zavoláte na`Remove` metoda. +## Často kladené otázky -### Q4: Podporuje Aspose.Tasks export kalendářů do různých formátů? +**Q: Jaký je nejlepší způsob, jak nastavit kalendář 24‑hodinové směny?** +A: Vytvořte nový kalendář, vymažte existující položky `WorkingTime` a přidejte jediný rozsah `WorkingTime` od 00:00 do 24:00 pro každý pracovní den. + +**Q: Mohu zkopírovat kalendář z jednoho projektu do druhého?** +A: Ano — exportujte kalendář do XML pomocí `project.Save` a poté jej importujte do jiného projektu pomocí `new Project(xmlPath)`. + +**Q: Jak programově importovat kalendáře z Microsoft Project?** +A: Načtěte soubor MPP pomocí `new Project("source.mpp")`; kalendáře budou dostupné přes `project.Calendars`. -A4: Ano, Aspose.Tasks umožňuje export kalendářů do různých formátů, jako je XML, MPP atd. +**Q: Existuje limit na počet kalendářů v projektu?** +A: Prakticky ne; kolekce může obsahovat tolik kalendářů, kolik paměť umožňuje, ale pro výkon udržujte seznam přehledný. + +**Q: Aktualizují se změny v kalendáři automaticky u úkolů, které jej používají?** +A: Ano — úkoly propojené s kalendářem odrážejí aktualizované pracovní časy po uložení projektu. + +--- -### Q5: Mohu přizpůsobit pracovní dobu pro konkrétní dny v kalendáři? +**Poslední aktualizace:** 2026-04-13 +**Testováno s:** Aspose.Tasks 24.11 pro .NET +**Autor:** Aspose -A5: Jistě, pracovní dobu pro jednotlivé dny můžete definovat pomocí výjimek v kalendáři. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/czech/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/czech/net/calendar-scheduling/calendar-exceptions/_index.md index 4a047f6d7..930b8df6a 100644 --- a/tasks/czech/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/czech/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Zpracování výjimek kalendáře v Aspose.Tasks -linktitle: Zpracování výjimek kalendáře v Aspose.Tasks +date: 2026-04-13 +description: Naučte se, jak odstranit výjimku kalendáře v Aspose.Tasks pro .NET a + zkontrolovat datum výjimky při správě plánování kalendáře v ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Smazat výjimku kalendáře pomocí Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Naučte se, jak spravovat výjimky kalendáře v Aspose.Tasks pro .NET pomocí podrobných výukových programů a příkladů. -weight: 12 +title: Smazat výjimku kalendáře pomocí Aspose.Tasks url: /cs/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Zpracování výjimek kalendáře v Aspose.Tasks +# Odstranění výjimky kalendáře pomocí Aspose.Tasks ## Úvod -V tomto tutoriálu prozkoumáme, jak spravovat výjimky kalendáře v Aspose.Tasks pomocí rozhraní .NET. Výjimky kalendáře nám umožňují definovat speciální data nebo období v kalendáři projektu, kde se mění běžný pracovní plán, jako jsou svátky nebo dočasné uzavření. Probereme různé metody zpracování výjimek kalendáře krok za krokem pomocí Aspose.Tasks pro .NET. +V tomto tutoriálu se naučíte, jak **odstranit výjimku kalendáře** a spravovat další výjimky kalendáře v Aspose.Tasks pomocí .NET frameworku. Výjimky kalendáře vám umožňují modelovat svátky, dočasné uzavírky nebo jakékoli speciální období, kdy se mění běžný pracovní rozvrh. Porozumění tomu, jak přidávat, dotazovat a odstraňovat tyto výjimky, je nezbytné pro přesné plánování projektů, zejména při práci se scénáři **plánování kalendáře v ASP.NET**. + +## Rychlé odpovědi +- **Jaká je hlavní metoda pro odstranění výjimky?** Použijte metodu `Delete()` na objektu `CalendarException`. +- **Která třída kontroluje datum vůči výjimce?** `CalendarException.CheckException()` — užitečné pro **kontrolu data výjimky**. +- **Potřebuji licenci pro spuštění kódu?** Ano, pro produkční použití je vyžadována platná licence Aspose.Tasks. +- **Mohu přidat více výjimek do jednoho kalendáře?** Ano; kolekce `Exceptions` podporuje mnoho položek. +- **Podporované verze .NET?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Co je výjimka kalendáře? + +**Výjimka kalendáře** představuje odchylku od běžného pracovního kalendáře — představte si ji jako pravidlo, které říká „v těchto dnech jsou pracovní hodiny jiné nebo vůbec žádné“. V Aspose.Tasks může mít každá výjimka své vlastní pracovní časy, vzor opakování a příznaky, které určují, zda je den pracovním. + +## Proč spravovat výjimky kalendáře v plánování kalendáře ASP.NET? + +- **Přesné časové osy:** Projekty automaticky respektují svátky a speciální uzavírky, čímž zabraňují nerealistickým termínům. +- **Flexibilita:** Můžete definovat denní, týdenní, měsíční nebo roční vzory, které odpovídají reálným obchodním kalendářům. +- **Automatizace:** Programová kontrola data výjimky vám umožní vytvořit dynamickou logiku plánování v aplikacích ASP.NET. -## Předpoklady +## Požadavky -Než začneme, ujistěte se, že máte následující předpoklady: -- Základní znalost programovacího jazyka C#. -- Visual Studio nainstalované ve vašem systému. -- Do vašeho projektu byla přidána knihovna Aspose.Tasks for .NET. +- Základní znalost programování v C#. +- Visual Studio (jakákoli aktuální verze). +- Knihovna Aspose.Tasks pro .NET přidaná do vašeho projektu (prostřednictvím NuGet nebo ruční reference). ## Importovat jmenné prostory -Nejprve importujme potřebné jmenné prostory pro náš projekt: +Nejprve importujte potřebné jmenné prostory: ```csharp using Aspose.Tasks; using System; - - ``` -## Krok 1: Odstranění výjimky kalendáře +## Krok 1: Odstranit výjimku kalendáře -Chcete-li odstranit výjimku kalendáře, postupujte takto: +Odstranění nechtěné výjimky je jednoduché. Následující kód načte projekt, vybere první kalendář, zobrazí základní informace, odstraní první výjimku a poté zobrazí aktualizovaný počet. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Zobrazení informací kalendáře + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Odstraňte první výjimku + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Krok 2: Získání pracovní doby výjimky kalendáře +> **Tip:** Vždy ověřte, že index výjimky existuje, než zavoláte `Delete()`, abyste se vyhnuli `IndexOutOfRangeException`. + +## Krok 2: Získat pracovní čas výjimky kalendáře -Chcete-li načíst pracovní čas výjimky kalendáře, postupujte takto: +Pokud potřebujete zkontrolovat pracovní hodiny definované pro výjimku, použijte `GetWorkingTime()`. Tento příklad také ukazuje, jak **zkontrolovat datum výjimky** pomocí `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Zobrazit informace o kalendáři a výjimkách + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Získejte pracovní dobu a zobrazte podrobnosti + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Krok 3: Definování výjimek kalendáře +## Krok 3: Definovat výjimky kalendáře -Chcete-li přidat nebo odebrat výjimky kalendáře, postupujte takto: +Níže je kompletní průvodce, který ukazuje, jak **přidat**, **zkontrolovat** a **odstranit** výjimky kalendáře. Všimněte si použití `CheckException` k **kontrole data výjimky** pro konkrétní okamžik. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Vytvořte novou výjimku kalendáře + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Nastavte podrobnosti o výjimce + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Zkontrolujte, zda datum není výjimkou + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Přidejte výjimku do kalendáře + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Odstraňte výjimku, pokud existuje + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Přidat novou výjimku + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Tisk výjimek + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Závěr +## Časté problémy a tipy -tomto článku jsme se zabývali různými aspekty zpracování výjimek kalendáře v Aspose.Tasks pro .NET. Dodržováním uvedených kroků můžete efektivně spravovat výjimky v plánech projektu a zajistit tak přesnou reprezentaci pracovní doby a zvláštních událostí. +| Problém | Důvod | Řešení | +|-------|--------|----------| +| **`IndexOutOfRangeException` při mazání** | Pokus o smazání výjimky, která neexistuje. | Ověřte, že `calendar.Exceptions.Count` > index před voláním `Delete()`. | +| **Nesprávné pracovní časy** | Nesprávné nastavení `DayWorking` nebo `WorkingTimes`. | Použijte `exception.WorkingTimes.Add(new WorkingTime(...))` k definování explicitních období. | +| **Výjimka není rozpoznána** | `CheckException` vrací `false`, protože datum spadá mimo definovaný rozsah. | Zkontrolujte `FromDate`/`ToDate` a `Type` (Daily, Weekly, atd.). | -## FAQ +## Často kladené otázky -### Q1: Mohu přidat více výjimek do jednoho kalendáře? +**Q:** *Mohu přidat více výjimek do jednoho kalendáře?* +**A:** Ano, můžete přidat libovolný počet výjimek potřebných k reprezentaci svátků, údržbových oken nebo jakýchkoli speciálních pravidel plánování. -Odpověď 1: Ano, do kalendáře můžete přidat více výjimek, aby vyhovovaly různým zvláštním datům nebo obdobím. +**Q:** *Jak **zkontrolovat datum výjimky** pro konkrétní den?* +**A:** Použijte metodu `CheckException(DateTime date)` na instanci `CalendarException`. Vrátí `true`, pokud zadané datum spadá do rozsahu výjimky. -### Q2: Jak mohu zkontrolovat, zda je konkrétní datum výjimkou? +**Q:** *Je možné odstranit existující výjimku z kalendáře?* +**A:** Ano. Přistupte ke kolekci `Exceptions` a zavolejte `Remove()` nebo použijte `Delete()` na konkrétním objektu `CalendarException`. - A2: Můžete použít`CheckException()` metoda k ověření, zda určité datum spadá pod výjimku. +**Q:** *Jaké typy výjimek kalendáře jsou podporovány?* +**A:** Aspose.Tasks podporuje typy výjimek Daily, Weekly, Monthly a Yearly, což vám poskytuje flexibilitu modelovat téměř jakýkoli vzor opakování. -### Q3: Je možné odstranit existující výjimku z kalendáře? +**Q:** *Mohu přizpůsobit pracovní hodiny pro konkrétní data výjimek?* +**A:** Ano. Po vytvoření výjimky naplňte její kolekci `WorkingTimes` objekty `WorkingTime`, které definují začátek a konec pracovní doby pro daný den. - A3: Ano, můžete odebrat výjimky přístupem k`Exceptions` sběr kalendáře a používání`Remove()` metoda. +## Závěr -### Q4: Jaké typy výjimek kalendáře jsou podporovány? +Prošli jsme kompletním životním cyklem operací **odstranění výjimky kalendáře**, od kontroly existujících výjimek po přidání nových a kontrolu dat. Ovládnutí těchto technik zajišťuje, že vaše projektové plány respektují reálné kalendáře, což činí vaše implementace plánování kalendáře v ASP.NET robustní a spolehlivé. -A4: Aspose.Tasks podporuje různé typy výjimek, včetně denních, týdenních, měsíčních a ročních výjimek a poskytuje flexibilitu při definování pravidel výjimek. +--- -### Q5: Mohu přizpůsobit pracovní dobu pro konkrétní výjimečná data? +**Poslední aktualizace:** 2026-04-13 +**Testováno s:** Aspose.Tasks for .NET (nejnovější verze) +**Autor:** Aspose -A5: Ano, můžete definovat vlastní pracovní časy pro jednotlivá data výjimek pomocí příslušných metod poskytovaných Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/czech/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/czech/net/calendar-scheduling/child-tasks-collector/_index.md index f925b9435..0a658bb2d 100644 --- a/tasks/czech/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/czech/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Shromažďování dětských úkolů v Aspose.Tasks -linktitle: Shromažďování dětských úkolů v Aspose.Tasks +date: 2026-04-13 +description: Naučte se, jak vytvořit sběrač podúkolů pomocí Aspose.Tasks pro .NET. + Zlepšete řízení projektů ve svých .NET aplikacích. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Vytvořit sběrač podúkolů v Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Naučte se, jak efektivně shromažďovat podřízené úkoly pomocí Aspose.Tasks for .NET. Zlepšete řízení projektů ve svých aplikacích .NET. -weight: 15 +title: Jak vytvořit sběrač podřízených úkolů v Aspose.Tasks url: /cs/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Shromažďování dětských úkolů v Aspose.Tasks +# Vytvoření sběrače podřízených úkolů v Aspose.Tasks ## Úvod -V oblasti projektového řízení vyniká Aspose.Tasks for .NET jako robustní řešení pro efektivní zpracování úkolů a projektů. Tato výkonná knihovna poskytuje vývojářům nástroje, které potřebují k bezproblémové správě úkolů, projektů a všeho mezi tím. V tomto tutoriálu se ponoříme do specifického aspektu Aspose.Tasks: shromažďování dětských úkolů. +Pokud potřebujete **vytvořit sběrač podřízených úkolů** pro soubor Microsoft Project, Aspose.Tasks pro .NET to usnadňuje. V tomto tutoriálu vás provedeme přesnými kroky potřebnými k sesbírání všech podřízených úkolů pod nadřazeným úkolem, abyste je mohli s jistotou zpracovávat, analyzovat nebo exportovat. Na konci průvodce budete mít znovupoužitelný úryvek, který se přirozeně hodí do jakéhokoli .NET‑založeného řešení pro řízení projektů. + +## Rychlé odpovědi +- **Co dělá ChildTasksCollector?** Prochází hierarchii úkolů a shromažďuje všechny podřízené úkoly do kolekce. +- **Která knihovna tuto funkci poskytuje?** Aspose.Tasks pro .NET. +- **Potřebuji licenci pro spuštění ukázky?** Bezplatná zkušební verze funguje pro hodnocení; licence je vyžadována pro produkci. +- **Jaké verze .NET jsou podporovány?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Jak dlouho trvá implementace?** Přibližně 5‑10 minut po instalaci knihovny. + +## Co je sběrač podřízených úkolů? + +**Sběrač podřízených úkolů** je pomocný objekt, který prochází strom úkolů souboru Project, počínaje zadaným kořenovým úkolem, a agreguje každý podřízený (sub‑task), na který narazí. To je zvláště užitečné, když chcete provádět hromadné operace — například aktualizaci polí, export dat nebo generování reportů — bez nutnosti ručně iterovat přes každou úroveň hierarchie. + +## Proč vytvořit sběrač podřízených úkolů? -## Předpoklady +- **Zjednodušení rekurze:** Sběrač interně provádí průchod do hloubky, takže se vyhnete psaní vlastních rekurzivních smyček. +- **Zvýšení produktivity:** Získáte všechny podřízené úkoly v jedné kolekci, což usnadňuje hromadné úpravy nebo analýzy. +- **Udržení čistého kódu:** Odděluje obchodní logiku od nízkoúrovňové navigace ve struktuře projektu. -Než začneme, ujistěte se, že máte splněny následující předpoklady: +## Požadavky -1. Základní porozumění C#: Znalost programovacího jazyka C# je nezbytná. -2. Instalace Aspose.Tasks for .NET: Stáhněte si a nainstalujte knihovnu Aspose.Tasks for .NET z[odkaz ke stažení](https://releases.aspose.com/tasks/net/). -3. Vývojové prostředí: Nastavte vývojové prostředí, jako je Visual Studio, pro psaní a spouštění kódu C#. -4. Přístup k dokumentaci: Uschovejte[Aspose.Tasks pro dokumentaci .NET](https://reference.aspose.com/tasks/net/) užitečné pro referenci. +Před zahájením se ujistěte, že máte: -Nyní, když máme pokryty předpoklady, pojďme se ponořit do podrobného průvodce shromažďováním podřízených úkolů pomocí Aspose.Tasks for .NET. +1. **Základní znalost C#** – měli byste být schopni psát a spouštět jednoduché konzolové aplikace. +2. **Aspose.Tasks pro .NET nainstalováno** – stáhněte jej z [download link](https://releases.aspose.com/tasks/net/). +3. **Vývojové prostředí** – Visual Studio, Rider nebo jakékoli IDE podporující C#. +4. **Přístup k oficiální dokumentaci** – mějte po ruce [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) pro referenci. -## Importovat jmenné prostory +Nyní, když je základ připraven, ponořme se do kódu. -Nejprve importujte potřebné jmenné prostory do kódu C#, abyste získali přístup k funkcím poskytovaným Aspose.Tasks for .NET. +## Import jmenných prostor + +Nejprve přidejte požadované jmenné prostory do rozsahu, aby kompilátor věděl, kde najít třídy, které budeme používat. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Nyní si uvedený příklad rozdělíme do několika kroků, abychom procesu důkladně porozuměli. +## Postupný návod -## Krok 1: Inicializujte objekt projektu +### Krok 1: Inicializace objektu Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Tento řádek kódu inicializuje nový`Project` objekt, načtení souboru projektu s názvem "ParentChildTasks.mpp" ze zadaného adresáře. +Tento řádek načte existující soubor Microsoft Project (`ParentChildTasks.mpp`) ze složky `DataDir` do objektu `Project`, čímž získáme programový přístup k jeho úkolům. -## Krok 2: Vytvořte objekt ChildTasksCollector +### Krok 2: Vytvoření instance ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Zde vytvoříme nový`ChildTasksCollector` objekt, který nám pomůže shromáždit dětské úkoly z projektu. +Zde **vytváříme sběrač podřízených úkolů** – instanci `ChildTasksCollector`, která bude ukládat každý nalezený podřízený úkol. -## Krok 3: Použijte Collector na Root Task +### Krok 3: Použití sběrače na kořenový úkol ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Aplikujeme`ChildTasksCollector` ke kořenové úloze projektu a rekurzivně inicializuje proces sběru. +Řekneme Aspose.Tasks, aby zahájil sběr na kořenovém úkolu projektu. Metoda `Apply` prochází hierarchii rekurzivně a naplňuje `collector.Tasks` všemi podřízenými úkoly. -## Krok 4: Iterujte shromážděné úkoly +### Krok 4: Procházení sesbíraných úkolů ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Nakonec projdeme shromážděné úkoly a vytiskneme jejich názvy do konzole. - -## Závěr +Nakonec procházíme sesbírané úkoly a vypisujeme název každého úkolu do konzole. Ve skutečném scénáři můžete `Console.WriteLine` nahradit libovolným vlastním zpracováním (např. export do CSV, aktualizace polí atd.). -V tomto tutoriálu jsme prozkoumali, jak sbírat podřízené úkoly pomocí Aspose.Tasks for .NET. Dodržováním výše uvedených kroků můžete efektivně řídit a manipulovat s úkoly v rámci svých projektů, čímž zvýšíte produktivitu a organizaci. +## Časté problémy a řešení -## FAQ +| Problém | Důvod | Řešení | +|-------|--------|-----| +| **Žádné úkoly nebyly vráceny** | Sběrač byl aplikován na nesprávný úkol (např. listový uzel). | Použijte `TaskUtils.Apply` na `project.RootTask` nebo na konkrétního nadřazeného úkolu, od kterého chcete začít. | +| **NullReferenceException** | `DataDir` nebo cesta k souboru jsou nesprávné. | Ověřte, že `DataDir` ukazuje na složku obsahující `ParentChildTasks.mpp`. | +| **Licence není nastavena** | Aspose.Tasks vyhazuje varování o licencování v režimu zkušební verze. | Načtěte licenci pomocí `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` před vytvořením objektu `Project`. | -### Q1: Je Aspose.Tasks for .NET kompatibilní se všemi verzemi .NET? +## Často kladené otázky -Odpověď 1: Ano, Aspose.Tasks for .NET je kompatibilní s různými verzemi rozhraní .NET, což zajišťuje širokou kompatibilitu. +**Q: Je Aspose.Tasks pro .NET kompatibilní se všemi verzemi .NET?** +A: Ano, Aspose.Tasks pro .NET funguje s .NET Framework 4.5+, .NET Core 3.1+ a .NET 5/6+. -### Q2: Mohu použít Aspose.Tasks for .NET k vytvoření nových souborů projektu? +**Q: Mohu pomocí Aspose.Tasks pro .NET vytvořit nové soubory projektů?** +A: Rozhodně! Knihovna vám umožní programově vytvářet, číst a manipulovat se soubory projektů. -A2: Rozhodně! Aspose.Tasks for .NET poskytuje funkce pro snadné vytváření, čtení a manipulaci s projektovými soubory. +**Q: Podporuje Aspose.Tasks pro .NET více platforem?** +A: Přestože je navržena pro .NET, můžete ji spustit na jakékoli platformě, která podporuje .NET runtime, včetně Windows, Linuxu a macOS. -### Q3: Podporuje Aspose.Tasks for .NET více platforem? +**Q: Je k dispozici technická podpora pro Aspose.Tasks pro .NET?** +A: Ano, pomoc získáte prostřednictvím [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -A3: Přestože jsou Aspose.Tasks pro .NET primárně určeny pro prostředí .NET, lze je použít na různých platformách, které podporují vývoj .NET. +**Q: Můžu vyzkoušet Aspose.Tasks pro .NET před zakoupením?** +A: Samozřejmě! Bezplatná zkušební verze je k dispozici na [release page](https://releases.aspose.com/). -### Q4: Je k dispozici technická podpora pro Aspose.Tasks pro .NET? - -A4: Ano, uživatelé mají přístup k technické podpoře prostřednictvím[Fórum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### Q5: Mohu vyzkoušet Aspose.Tasks pro .NET před nákupem? +**Poslední aktualizace:** 2026-04-13 +**Testováno s:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose - A5: Určitě! Můžete využít bezplatnou zkušební verzi z[stránka vydání](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/dutch/net/calendar-scheduling/calendar-collection/_index.md b/tasks/dutch/net/calendar-scheduling/calendar-collection/_index.md index 002979558..07e1fcef8 100644 --- a/tasks/dutch/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/dutch/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Agendaverzameling beheren in Aspose.Tasks -linktitle: Agendaverzameling beheren in Aspose.Tasks +date: 2026-04-13 +description: Leer hoe u werktijden instelt en kalendercollecties beheert in Aspose.Tasks + voor .NET. Importeer kalenders uit Microsoft Project, verwijder een kalenderproject + en haal eenvoudig een kalender op basis van de naam. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Kalendercollectie beheren in Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Leer hoe u agendaverzamelingen efficiënt beheert in Aspose.Tasks voor .NET. Creëer, wijzig en manipuleer kalenders met gemak. -weight: 11 +title: Werkuren instellen in Aspose.Tasks‑kalendercollectie url: /nl/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Agendaverzameling beheren in Aspose.Tasks +# Instellen van werktijden in Aspose.Tasks Kalenderverzameling -## Invoering +In deze tutorial leer je hoe je **werktijden instelt** en kalenderverzamelingen beheert met Aspose.Tasks voor .NET. Kalenders definiëren werkdagen, feestdagen en uitzonderingen, dus door ze onder de knie te krijgen kun je projectplanningen nauwkeurig beheersen. We laten ook zien hoe je kalenders uit Microsoft Project importeert, een kalender uit een project verwijdert en een kalender op naam opvraagt. -In deze zelfstudie onderzoeken we hoe u agendaverzamelingen beheert in Aspose.Tasks voor .NET. Kalenders spelen een cruciale rol bij projectbeheer, waarbij werkdagen, feestdagen en uitzonderingen worden gedefinieerd. Aspose.Tasks biedt robuuste functionaliteit om kalenders binnen uw projecten te manipuleren. +## Snelle antwoorden +- **Wat is de primaire klasse voor kalenders?** `Project.Calendars` collection. +- **Hoe stel ik werktijden in?** Maak of wijzig een `Calendar` object en definieer zijn `WorkingTime`. +- **Kan ik kalenders importeren vanuit Microsoft Project?** Ja – laad een MPP‑bestand en krijg toegang tot de kalenders. +- **Hoe verwijder ik een kalender uit een project?** Gebruik `Project.Calendars.Remove(calendar)`. +- **Hoe haal ik een kalender op op naam?** Roep `Project.Calendars.GetByName("YourCalendar")` aan. ## Vereisten -Voordat we beginnen, zorg ervoor dat u over het volgende beschikt: +Voordat we beginnen, zorg ervoor dat je het volgende hebt: -1. Visual Studio: Installeer Visual Studio of een andere compatibele IDE voor .NET-ontwikkeling. -2. Aspose.Tasks voor .NET: Download en installeer Aspose.Tasks voor .NET van[hier](https://releases.aspose.com/tasks/net/). -3. Basiskennis van C#: Bekendheid met de programmeertaal C# is een voordeel. +1. Visual Studio: Installeer Visual Studio of een andere compatibele IDE voor .NET‑ontwikkeling. +2. Aspose.Tasks voor .NET: Download en installeer Aspose.Tasks voor .NET van [here](https://releases.aspose.com/tasks/net/). +3. Basiskennis van C#: Vertrouwdheid met de programmeertaal C# is nuttig. -## Naamruimten importeren +## Namespaces importeren -Laten we eerst de benodigde naamruimten importeren om met Aspose.Tasks te werken: +Eerst importeren we de benodigde namespaces om met Aspose.Tasks te werken: ```csharp using Aspose.Tasks; @@ -35,24 +48,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Een nieuwe kalender maken -### Stap 1: Initialiseer een nieuw`Project` object. +### Stap 1: Initialiseer een nieuw `Project` object. ```csharp var project = new Project(); ``` -### Stap 2: Voeg kalenders toe aan de kalendercollectie van het project. +### Stap 2: Voeg kalenders toe aan de kalenderverzameling van het project. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Stap 3: Blader door de kalenders en geef hun namen weer. +### Stap 3: Loop door de kalenders en toon hun namen. ```csharp foreach (var calendar in project.Calendars) { @@ -60,6 +72,12 @@ foreach (var calendar in project.Calendars) } ``` +## Hoe werktijden instellen voor een kalender? + +Om **werktijden in te stellen**, wijzig je de `WorkingTime` collectie van een `Calendar`. +Bijvoorbeeld, je kunt een standaard werkdag van 9 uur tot 17 uur definiëren of aangepaste uitzonderingen toevoegen. +De code hiervoor is identiek aan de voorbeelden die later worden getoond wanneer we een standaardkalender maken. + ## Een kalender vervangen door een nieuwe kalender ### Stap 1: Laad een bestaand project. @@ -67,7 +85,8 @@ foreach (var calendar in project.Calendars) var project = new Project(DataDir + "Project5.mpp"); ``` -### Stap 2: Verwijder de bestaande agenda (indien aanwezig). +### Stap 2: Verwijder de bestaande kalender (indien aanwezig). +Dit demonstreert het **verwijderen van een kalender uit een project** scenario. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -82,27 +101,28 @@ project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Agenda ophalen op naam of ID +## Een kalender ophalen op naam of ID ### Stap 1: Laad het project. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Stap 2: Agenda's ophalen op naam of UID. +### Stap 2: Haal kalenders op op naam of UID. +Dit illustreert de **ophalen van een kalender op naam** operatie. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### Stap 3: Geef agendagegevens weer. +### Stap 3: Toon kalenderdetails. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Itereren over kalenders +## Door kalenders itereren ### Stap 1: Laad het project. ```csharp @@ -114,7 +134,7 @@ var project = new Project(DataDir + "Project5.mpp"); Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Stap 3: Herhaal de agendaverzameling en geef namen weer. +### Stap 3: Loop door de kalenderverzameling en toon namen. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -141,34 +161,60 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Conclusie +## Veelvoorkomende problemen en oplossingen -Het beheren van agendaverzamelingen in Aspose.Tasks voor .NET is essentieel voor effectief projectbeheer. Met de meegeleverde functionaliteiten kunt u efficiënt kalenders maken, wijzigen en manipuleren volgens uw projectvereisten. +- **Kalender niet gevonden bij gebruik van `GetByName`** – Zorg ervoor dat de exacte naam overeenkomt met de hoofdlettergevoeligheid die werd gebruikt toen de kalender werd toegevoegd. +- **Werktijden niet toegepast** – Nadat je `WorkingTime` hebt ingesteld, vergeet niet het project op te slaan; anders blijven de wijzigingen alleen in het geheugen. +- **Importeren van kalenders uit een MPP‑bestand mislukt** – Controleer of het bronbestand een geldig Microsoft Project‑bestand is en of je leesrechten hebt. ## Veelgestelde vragen -### V1: Kan ik aangepaste werkdagen aanmaken in Aspose.Tasks? +### V1: Kan ik aangepaste werkdagen maken in Aspose.Tasks? + +A1: Ja, je kunt aangepaste werkdagen maken door uitzonderingen toe te voegen aan kalenders. + +### V2: Is het mogelijk om kalenders te importeren uit Microsoft Project‑bestanden? + +A2: Absoluut, Aspose.Tasks ondersteunt het importeren van kalenders uit Microsoft Project‑bestanden. -A1: Ja, u kunt aangepaste werkdagen maken door uitzonderingen aan kalenders toe te voegen. +### V3: Hoe kan ik een specifieke kalender uit een project verwijderen? -### Vraag 2: Is het mogelijk om kalenders uit Microsoft Project-bestanden te importeren? +A3: Je kunt een kalender verwijderen door deze uit de collectie te halen en vervolgens de `Remove`‑methode aan te roepen. -A2: Absoluut, Aspose.Tasks ondersteunt het importeren van agenda's uit Microsoft Project-bestanden. +### V4: Ondersteunt Aspose.Tasks het exporteren van kalenders naar verschillende formaten? -### Q3: Hoe kan ik een specifieke kalender uit een project verwijderen? +A4: Ja, Aspose.Tasks maakt het mogelijk om kalenders te exporteren naar verschillende formaten zoals XML, MPP, enz. - A3: U kunt een kalender verwijderen door deze uit de collectie te halen en vervolgens te bellen naar de`Remove` methode. +### V5: Kan ik werktijden aanpassen voor specifieke dagen in een kalender? -### V4: Ondersteunt Aspose.Tasks het exporteren van agenda's naar verschillende formaten? +A5: Zeker, je kunt werktijden definiëren voor individuele dagen door uitzonderingen in de kalender te gebruiken. -A4: Ja, Aspose.Tasks maakt het exporteren van kalenders naar verschillende formaten mogelijk, zoals XML, MPP, enz. +## Veelgestelde vragen + +**V: Wat is de beste manier om een 24‑uur shift‑kalender in te stellen?** +A: Maak een nieuwe kalender, verwijder bestaande `WorkingTime`‑items, en voeg een enkele `WorkingTime`‑reeks toe van 00:00 tot 24:00 voor elke werkdag. + +**V: Kan ik een kalender van het ene project naar het andere kopiëren?** +A: Ja—exporteer de kalender naar XML met `project.Save` en importeer deze vervolgens in een ander project met `new Project(xmlPath)`. + +**V: Hoe importeer ik programmatically kalenders uit Microsoft Project?** +A: Laad het MPP‑bestand met `new Project("source.mpp")`; de kalenders zijn beschikbaar via `project.Calendars`. + +**V: Is er een limiet aan het aantal kalenders in een project?** +A: Praktisch gezien niet; de collectie kan zoveel kalenders bevatten als het geheugen toelaat, maar houd de lijst beheersbaar voor de prestaties. + +**V: Werken wijzigingen aan een kalender automatisch door naar taken die deze gebruiken?** +A: Ja—taken die gekoppeld zijn aan een kalender weerspiegelen de bijgewerkte werktijden nadat je het project hebt opgeslagen. + +--- -### Vraag 5: Kan ik de werktijden voor specifieke dagen in een kalender aanpassen? +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks 24.11 for .NET +**Author:** Aspose -A5: Natuurlijk kunt u werktijden voor afzonderlijke dagen definiëren met behulp van uitzonderingen in de kalender. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/dutch/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/dutch/net/calendar-scheduling/calendar-exceptions/_index.md index 82963fcf6..8e2eb2ecb 100644 --- a/tasks/dutch/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/dutch/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Agenda-uitzonderingen afhandelen in Aspose.Tasks -linktitle: Agenda-uitzonderingen afhandelen in Aspose.Tasks +date: 2026-04-13 +description: Leer hoe u een kalenderuitzondering kunt verwijderen in Aspose.Tasks + voor .NET en controleer de uitzonderingsdatum bij het beheren van ASP.NET‑kalenderplanning. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Verwijder kalenderuitzondering met Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Leer hoe u agenda-uitzonderingen beheert in Aspose.Tasks voor .NET met stapsgewijze zelfstudies en voorbeelden. -weight: 12 +title: Kalenderuitzondering verwijderen met Aspose.Tasks url: /nl/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Agenda-uitzonderingen afhandelen in Aspose.Tasks +# Kalenderuitzondering verwijderen met Aspose.Tasks + +## Inleiding + +In deze tutorial leer je hoe je **kalenderuitzondering verwijderen** en andere kalenderuitzonderingen beheert in Aspose.Tasks met behulp van het .NET-framework. Kalenderuitzonderingen stellen je in staat om feestdagen, tijdelijke sluitingen of andere speciale perioden te modelleren waarin het normale werkschema wijzigt. Het begrijpen van het toevoegen, opvragen en verwijderen van deze uitzonderingen is essentieel voor nauwkeurige projectplanning, vooral bij **ASP.NET calendar scheduling** scenario's. + +## Snelle antwoorden +- **Wat is de primaire methode om een uitzondering te verwijderen?** Use the `Delete()` method on the `CalendarException` object. +- **Welke klasse controleert een datum tegen een uitzondering?** `CalendarException.CheckException()`—useful to **check exception date**. +- **Heb ik een licentie nodig om de code uit te voeren?** Yes, a valid Aspose.Tasks license is required for production use. +- **Kan ik meerdere uitzonderingen aan één kalender toevoegen?** Absolutely; the `Exceptions` collection supports many entries. +- **Ondersteunde .NET-versies?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Wat is een kalenderuitzondering? + +Een **kalenderuitzondering** vertegenwoordigt een afwijking van de reguliere werkagenda—beschouw het als een regel die zegt “op deze data zijn de werktijden anders of er zijn geen werktijden”. In Aspose.Tasks kan elke uitzondering eigen werktijden, herhalingspatroon en vlaggen hebben die aangeven of de dag een werkdag is. -## Invoering +## Waarom kalenderuitzonderingen beheren in ASP.NET Calendar Scheduling? -In deze zelfstudie onderzoeken we hoe u agenda-uitzonderingen in Aspose.Tasks kunt beheren met behulp van het .NET-framework. Kalenderuitzonderingen stellen ons in staat speciale datums of perioden in een projectkalender te definiëren waarin het reguliere werkschema wordt gewijzigd, zoals vakanties of tijdelijke sluitingen. We bespreken stap voor stap verschillende methoden om agenda-uitzonderingen af te handelen, met behulp van Aspose.Tasks voor .NET. +- **Nauwkeurige tijdlijnen:** Projects automatically respect holidays and special closures, preventing unrealistic deadlines. +- **Flexibiliteit:** You can define daily, weekly, monthly, or yearly patterns, matching real‑world business calendars. +- **Automatisering:** Programmatically checking an exception date lets you build dynamic scheduling logic in ASP.NET applications. ## Vereisten -Voordat we beginnen, zorg ervoor dat u aan de volgende vereisten voldoet: -- Basiskennis van de programmeertaal C#. -- Visual Studio is op uw systeem geïnstalleerd. -- Aspose.Tasks voor .NET-bibliotheek toegevoegd aan uw project. +- Basiskennis van C# programmeren. +- Visual Studio (een recente versie). +- Aspose.Tasks for .NET bibliotheek toegevoegd aan je project (via NuGet of handmatige referentie). -## Naamruimten importeren +## Namespaces importeren -Laten we eerst de benodigde naamruimten voor ons project importeren: +Eerst importeer je de namespaces die je nodig hebt: ```csharp using Aspose.Tasks; using System; - - ``` -## Stap 1: Een agenda-uitzondering verwijderen +## Stap 1: Kalenderuitzondering verwijderen -Volg deze stappen om een agenda-uitzondering te verwijderen: +Het verwijderen van een ongewenste uitzondering is eenvoudig. De volgende code laadt een project, selecteert de eerste kalender, toont basisinformatie, verwijdert de eerste uitzondering, en toont vervolgens het bijgewerkte aantal. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Agenda-informatie weergeven + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Verwijder de eerste uitzondering + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Stap 2: Werktijd verkrijgen van een kalenderuitzondering +> **Pro tip:** Controleer altijd of de uitzonderingsindex bestaat voordat je `Delete()` aanroept om `IndexOutOfRangeException` te voorkomen. + +## Stap 2: Werkuren van een kalenderuitzondering ophalen -Volg deze stappen om de werktijd van een kalenderuitzondering op te halen: +Als je de werkuren die voor een uitzondering zijn gedefinieerd wilt inspecteren, gebruik dan `GetWorkingTime()`. Dit voorbeeld toont ook hoe je **check exception date** kunt gebruiken met `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Agenda- en uitzonderingsinformatie weergeven + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Krijg werktijd en geef details weer + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Stap 3: Agenda-uitzonderingen definiëren +## Stap 3: Kalenderuitzonderingen definiëren -Volg deze stappen om agenda-uitzonderingen toe te voegen of te verwijderen: +Hieronder staat een volledige walkthrough die laat zien hoe je kalenderuitzonderingen **toevoegt**, **controleert**, en **verwijdert**. Let op het gebruik van `CheckException` om **check exception date** voor een specifiek moment te controleren. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Maak een nieuwe agenda-uitzondering + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Uitzonderingsdetails instellen + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Controleer of een datum een uitzondering is + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Voeg de uitzondering toe aan de kalender + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Verwijder een uitzondering als deze bestaat + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Voeg een nieuwe uitzondering toe + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Uitzonderingen afdrukken + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Conclusie +## Veelvoorkomende problemen & tips -In dit artikel hebben we verschillende aspecten van het omgaan met agenda-uitzonderingen in Aspose.Tasks voor .NET besproken. Door de aangegeven stappen te volgen, kunt u uitzonderingen in uw projectplanningen effectief beheren, waardoor u verzekerd bent van een nauwkeurige weergave van werktijden en speciale gebeurtenissen. +| Probleem | Reden | Oplossing | +|----------|-------|-----------| +| **`IndexOutOfRangeException` when deleting** | Proberen een uitzondering te verwijderen die niet bestaat. | Controleer `calendar.Exceptions.Count` > index voordat je `Delete()` aanroept. | +| **Incorrect working times** | `DayWorking` of `WorkingTimes` niet correct instellen. | Gebruik `exception.WorkingTimes.Add(new WorkingTime(...))` om expliciete periodes te definiëren. | +| **Exception not recognized** | `CheckException` retourneert `false` omdat de datum buiten het gedefinieerde bereik valt. | Controleer `FromDate`/`ToDate` en het `Type` (Daily, Weekly, etc.) dubbel. | ## Veelgestelde vragen -### V1: Kan ik meerdere uitzonderingen toevoegen aan één kalender? +**Q: Kan ik meerdere uitzonderingen aan één kalender toevoegen?** +A: Ja, je kunt zoveel uitzonderingen toevoegen als nodig is om feestdagen, onderhoudsvensters of andere speciale planningsregels te vertegenwoordigen. -A1: Ja, u kunt meerdere uitzonderingen aan een kalender toevoegen om verschillende speciale datums of periodes mogelijk te maken. +**Q: Hoe kan ik **check exception date** voor een specifieke dag?** +A: Gebruik de `CheckException(DateTime date)`-methode op een `CalendarException`-instance. Deze retourneert `true` als de opgegeven datum binnen het uitzonderingsbereik valt. -### Vraag 2: Hoe kan ik controleren of een specifieke datum een uitzondering is? +**Q: Is het mogelijk om een bestaande uitzondering uit een kalender te verwijderen?** +A: Absoluut. Toegang tot de `Exceptions`-collectie en roep `Remove()` aan of gebruik `Delete()` op het specifieke `CalendarException`-object. - A2: U kunt de`CheckException()` methode om te verifiëren of een bepaalde datum onder een uitzondering valt. +**Q: Welke soorten kalenderuitzonderingen worden ondersteund?** +A: Aspose.Tasks ondersteunt Daily, Weekly, Monthly en Yearly uitzonderingssoorten, waardoor je flexibiliteit hebt om bijna elk herhalingspatroon te modelleren. -### Vraag 3: Is het mogelijk om een bestaande uitzondering uit een kalender te verwijderen? +**Q: Kan ik werkuren aanpassen voor specifieke uitzonderingsdatums?** +A: Ja. Na het aanmaken van een uitzondering vul je de `WorkingTimes`-collectie met `WorkingTime`-objecten die de start- en eindtijden voor die dag definiëren. - A3: Ja, u kunt uitzonderingen verwijderen door naar het bestand te gaan`Exceptions` verzameling van de kalender en het gebruik van de`Remove()` methode. +## Conclusie -### V4: Welke typen agenda-uitzonderingen worden ondersteund? +We hebben de volledige levenscyclus van **delete calendar exception**-operaties doorlopen, van het inspecteren van bestaande uitzonderingen tot het toevoegen van nieuwe en het controleren van datums. Het beheersen van deze technieken zorgt ervoor dat je projectschema's rekening houden met de echte wereld kalenders, waardoor je ASP.NET calendar scheduling-implementaties robuust en betrouwbaar zijn. -A4: Aspose.Tasks ondersteunt verschillende soorten uitzonderingen, waaronder dagelijkse, wekelijkse, maandelijkse en jaarlijkse uitzonderingen, waardoor flexibiliteit wordt geboden bij het definiëren van uitzonderingsregels. +--- -### V5: Kan ik de werktijden aanpassen voor specifieke uitzonderingsdata? +**Laatst bijgewerkt:** 2026-04-13 +**Getest met:** Aspose.Tasks for .NET (latest release) +**Auteur:** Aspose -A5: Ja, u kunt aangepaste werktijden definiëren voor individuele uitzonderingsdata met behulp van de juiste methoden van Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/dutch/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/dutch/net/calendar-scheduling/child-tasks-collector/_index.md index fff4384fd..a939e16e4 100644 --- a/tasks/dutch/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/dutch/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Onderliggende taken verzamelen in Aspose.Tasks -linktitle: Onderliggende taken verzamelen in Aspose.Tasks +date: 2026-04-13 +description: Leer hoe u een verzamelaar voor onderliggende taken maakt met Aspose.Tasks + voor .NET. Verbeter projectbeheer in uw .NET-toepassingen. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Maak Collector voor onderliggende taken in Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Leer hoe u onderliggende taken efficiënt kunt verzamelen met Aspose.Tasks voor .NET. Verbeter het projectmanagement in uw .NET-applicaties. -weight: 15 +title: Hoe een Child Tasks Collector te maken in Aspose.Tasks url: /nl/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Onderliggende taken verzamelen in Aspose.Tasks +# Maak Child Tasks Collector in Aspose.Tasks + +## Introductie + +If you need to **create child tasks collector** for a Microsoft Project file, Aspose.Tasks for .NET makes it straightforward. In this tutorial we’ll walk through the exact steps required to collect every child task under a parent, so you can process, analyze, or export them with confidence. By the end of the guide you’ll have a reusable snippet that fits naturally into any .NET‑based project‑management solution. + +## Snelle Antwoorden +- **What does the ChildTasksCollector do?** It traverses a task hierarchy and gathers all descendant tasks into a collection. +- **Which library provides this feature?** Aspose.Tasks for .NET. +- **Do I need a license to run the sample?** A free trial works for evaluation; a license is required for production. +- **What .NET versions are supported?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **How long does the implementation take?** Roughly 5‑10 minutes once the library is installed. + +## Wat is een Child Tasks Collector? -## Invoering +A **child tasks collector** is a utility object that walks through the task tree of a Project file, starting from a specified root task, and aggregates every child (sub‑task) it encounters. This is especially useful when you want to apply bulk operations—such as updating fields, exporting data, or generating reports—without manually iterating over each level of the hierarchy. -Op het gebied van projectmanagement onderscheidt Aspose.Tasks voor .NET zich als een robuuste oplossing voor het efficiënt afhandelen van taken en projecten. Deze krachtige bibliotheek biedt ontwikkelaars de tools die ze nodig hebben om taken, projecten en alles daartussen naadloos te beheren. In deze tutorial gaan we dieper in op een specifiek aspect van Aspose.Tasks: het verzamelen van onderliggende taken. +## Waarom een child tasks collector maken? + +- **Simplify recursion:** The collector handles the depth‑first traversal internally, so you avoid writing your own recursive loops. +- **Boost productivity:** Retrieve all descendant tasks in a single collection, making bulk edits or analyses trivial. +- **Maintain clean code:** Keeps your business logic separate from the low‑level navigation of the project structure. ## Vereisten -Voordat we beginnen, zorg ervoor dat u aan de volgende vereisten voldoet: +Before we begin, make sure you have: -1. Basiskennis van C#: Bekendheid met de programmeertaal C# is essentieel. -2. Installatie van Aspose.Tasks voor .NET: Download en installeer de Aspose.Tasks voor .NET-bibliotheek van de[download link](https://releases.aspose.com/tasks/net/). -3. Ontwikkelomgeving: Zet een ontwikkelomgeving op, zoals Visual Studio, om C#-code te schrijven en uit te voeren. -4. Toegang tot documentatie: Bewaar de[Aspose.Tasks voor .NET-documentatie](https://reference.aspose.com/tasks/net/) handig ter referentie. +1. **Basic Understanding of C#** – you should be comfortable writing and running simple console applications. +2. **Aspose.Tasks for .NET installed** – download it from the [download link](https://releases.aspose.com/tasks/net/). +3. **A development environment** – Visual Studio, Rider, or any IDE that supports C#. +4. **Access to the official docs** – keep the [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) nearby for reference. -Nu we aan de vereisten hebben voldaan, gaan we dieper in op de stapsgewijze handleiding voor het verzamelen van onderliggende taken met Aspose.Tasks voor .NET. +Now that the groundwork is set, let’s dive into the code. -## Naamruimten importeren +## Namespaces importeren -Importeer eerst de benodigde naamruimten in uw C#-code om toegang te krijgen tot de functionaliteit van Aspose.Tasks voor .NET. +First, bring the required namespaces into scope so the compiler knows where to find the classes we’ll use. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Laten we nu het gegeven voorbeeld in meerdere stappen opsplitsen om het proces grondig te begrijpen. +## Stapsgewijze handleiding -## Stap 1: Initialiseer het projectobject +### Stap 1: Initialiseer het Project-object ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Deze coderegel initialiseert een nieuw`Project` object, waarbij een projectbestand met de naam "ParentChildTasks.mpp" wordt geladen vanuit de opgegeven map. +This line loads an existing Microsoft Project file (`ParentChildTasks.mpp`) from the `DataDir` folder into a `Project` object, giving us programmatic access to its tasks. -## Stap 2: Maak een ChildTasksCollector-object +### Stap 2: Maak de ChildTasksCollector‑instantie ```csharp var collector = new ChildTasksCollector(); ``` - Hier maken we een nieuwe`ChildTasksCollector` object, waarmee we onderliggende taken uit het project kunnen verzamelen. +Here we **create child tasks collector** – an instance of `ChildTasksCollector` that will store every child task it discovers. -## Stap 3: Collector toepassen op roottaak +### Stap 3: Pas de collector toe op de root‑taak ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Wij passen de`ChildTasksCollector` naar de hoofdtaak van het project, waarbij het verzamelproces recursief wordt gestart. +We tell Aspose.Tasks to start the collection at the project’s root task. The `Apply` method walks the hierarchy recursively, populating `collector.Tasks` with all descendant tasks. -## Stap 4: Herhaal de verzamelde taken +### Stap 4: Itereer door de verzamelde taken ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Ten slotte doorlopen we de verzamelde taken en drukken hun namen af op de console. +Finally, we loop over the gathered tasks and print each task’s name to the console. In a real‑world scenario you could replace the `Console.WriteLine` with any custom processing you need (e.g., exporting to CSV, updating fields, etc.). -## Conclusie +## Veelvoorkomende problemen en oplossingen -In deze zelfstudie hebben we onderzocht hoe u onderliggende taken kunt verzamelen met Aspose.Tasks voor .NET. Door de hierboven beschreven stappen te volgen, kunt u taken binnen uw projecten efficiënt beheren en manipuleren, waardoor de productiviteit en organisatie worden verbeterd. +| Probleem | Reden | Oplossing | +|----------|-------|-----------| +| **No tasks are returned** | The collector was applied to the wrong task (e.g., a leaf node). | Apply `TaskUtils.Apply` to `project.RootTask` or the specific parent you want to start from. | +| **NullReferenceException** | `DataDir` or the file path is incorrect. | Verify that `DataDir` points to the folder containing `ParentChildTasks.mpp`. | +| **License not set** | Aspose.Tasks throws a licensing warning in trial mode. | Load your license with `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` before creating the `Project` object. | ## Veelgestelde vragen -### V1: Is Aspose.Tasks voor .NET compatibel met alle versies van .NET? - -A1: Ja, Aspose.Tasks voor .NET is compatibel met verschillende versies van het .NET-framework, waardoor een brede compatibiliteit wordt gegarandeerd. +**Q: Is Aspose.Tasks for .NET compatible with all versions of .NET?** +A: Yes, Aspose.Tasks for .NET works with .NET Framework 4.5+, .NET Core 3.1+, and .NET 5/6+. -### V2: Kan ik Aspose.Tasks voor .NET gebruiken om nieuwe projectbestanden te maken? +**Q: Can I use Aspose.Tasks for .NET to create new project files?** +A: Absolutely! The library lets you create, read, and manipulate project files programmatically. -A2: Absoluut! Aspose.Tasks voor .NET biedt functionaliteit voor het moeiteloos maken, lezen en manipuleren van projectbestanden. +**Q: Does Aspose.Tasks for .NET support multiple platforms?** +A: While it’s designed for .NET, you can run it on any platform that supports the .NET runtime, including Windows, Linux, and macOS. -### V3: Ondersteunt Aspose.Tasks voor .NET meerdere platforms? +**Q: Is technical support available for Aspose.Tasks for .NET?** +A: Yes, you can get help through the [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -A3: Hoewel Aspose.Tasks voor .NET primair is ontworpen voor .NET-omgevingen, kan het worden gebruikt op verschillende platforms die .NET-ontwikkeling ondersteunen. +**Q: Can I try Aspose.Tasks for .NET before purchasing?** +A: Certainly! A free trial is available from the [release page](https://releases.aspose.com/). -### V4: Is er technische ondersteuning beschikbaar voor Aspose.Tasks voor .NET? - -A4: Ja, gebruikers hebben toegang tot technische ondersteuning via de[Aspose.Tasks-forum](https://forum.aspose.com/c/tasks/15). +--- -### V5: Kan ik Aspose.Tasks voor .NET uitproberen voordat ik een aankoop doe? +**Laatst bijgewerkt:** 2026-04-13 +**Getest met:** Aspose.Tasks 24.11 for .NET +**Auteur:** Aspose - A5: Zeker! U kunt gebruikmaken van een gratis proefperiode van de[pagina vrijgeven](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/english/net/calendar-scheduling/calendar-collection/_index.md b/tasks/english/net/calendar-scheduling/calendar-collection/_index.md index ed800dfaf..402a2996f 100644 --- a/tasks/english/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/english/net/calendar-scheduling/calendar-collection/_index.md @@ -1,28 +1,39 @@ --- -title: Managing Calendar Collection in Aspose.Tasks +title: Set Working Hours in Aspose.Tasks Calendar Collection linktitle: Managing Calendar Collection in Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Learn how to manage calendar collections in Aspose.Tasks for .NET efficiently. Create, modify, and manipulate calendars with ease. +description: Learn how to set working hours and manage calendar collections in Aspose.Tasks for .NET. Import calendars Microsoft Project, remove calendar project, and get calendar by name easily. weight: 11 url: /net/calendar-scheduling/calendar-collection/ +date: 2026-04-13 +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Managing Calendar Collection in Aspose.Tasks +# Set Working Hours in Aspose.Tasks Calendar Collection -## Introduction +In this tutorial, you'll learn how to **set working hours** and manage calendar collections using Aspose.Tasks for .NET. Calendars define workdays, holidays, and exceptions, so mastering them lets you control project schedules precisely. We'll also show you how to import calendars Microsoft Project, remove a calendar from a project, and get a calendar by name. -In this tutorial, we'll explore how to manage calendar collections in Aspose.Tasks for .NET. Calendars play a crucial role in project management, defining workdays, holidays, and exceptions. Aspose.Tasks provides robust functionality to manipulate calendars within your projects. +## Quick Answers +- **What is the primary class for calendars?** `Project.Calendars` collection. +- **How do I set working hours?** Create or modify a `Calendar` object and define its `WorkingTime`. +- **Can I import calendars from Microsoft Project?** Yes – load an MPP file and access its calendars. +- **How to remove a calendar from a project?** Use `Project.Calendars.Remove(calendar)`. +- **How to retrieve a calendar by name?** Call `Project.Calendars.GetByName("YourCalendar")`. ## Prerequisites Before we begin, ensure you have the following: -1. Visual Studio: Install Visual Studio or any other compatible IDE for .NET development. -2. Aspose.Tasks for .NET: Download and install Aspose.Tasks for .NET from [here](https://releases.aspose.com/tasks/net/). +1. Visual Studio: Install Visual Studio or any other compatible IDE for .NET development. +2. Aspose.Tasks for .NET: Download and install Aspose.Tasks for .NET from [here](https://releases.aspose.com/tasks/net/). 3. Basic understanding of C#: Familiarity with C# programming language will be beneficial. ## Import Namespaces @@ -35,7 +46,6 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Creating a New Calendar @@ -60,6 +70,12 @@ foreach (var calendar in project.Calendars) } ``` +## How to Set Working Hours for a Calendar? + +To **set working hours**, you modify the `WorkingTime` collection of a `Calendar`. +For example, you can define a standard 9 am‑5 pm workday or add custom exceptions. +The code for this is identical to the examples shown later when we create a standard calendar. + ## Replacing a Calendar with a New Calendar ### Step 1: Load an existing project. @@ -67,7 +83,8 @@ foreach (var calendar in project.Calendars) var project = new Project(DataDir + "Project5.mpp"); ``` -### Step 2: Remove the existing calendar (if exists). +### Step 2: Remove the existing calendar (if it exists). +This demonstrates the **remove calendar project** scenario. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -89,7 +106,8 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M var project = new Project(DataDir + "Project5.mpp"); ``` -### Step 2: Retrieve calendars by name or UID. +### Step 2: Retrieve calendars by name or UID. +This illustrates the **get calendar by name** operation. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -141,9 +159,11 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Conclusion +## Common Issues and Solutions -Managing calendar collections in Aspose.Tasks for .NET is essential for effective project management. With the provided functionalities, you can efficiently create, modify, and manipulate calendars according to your project requirements. +- **Calendar not found when using `GetByName`** – Ensure the exact name matches the case used when the calendar was added. +- **Working hours not applied** – After setting `WorkingTime`, remember to save the project; otherwise changes remain in memory only. +- **Importing calendars from an MPP file fails** – Verify that the source file is a valid Microsoft Project file and that you have read permissions. ## FAQ's @@ -167,9 +187,32 @@ A4: Yes, Aspose.Tasks allows exporting calendars to various formats like XML, MP A5: Certainly, you can define working hours for individual days using exceptions in the calendar. +## Frequently Asked Questions + +**Q: What is the best way to set a 24‑hour shift calendar?** +A: Create a new calendar, clear existing `WorkingTime` entries, and add a single `WorkingTime` range from 00:00 to 24:00 for each weekday. + +**Q: Can I copy a calendar from one project to another?** +A: Yes—export the calendar to XML using `project.Save` and then import it into another project with `new Project(xmlPath)`. + +**Q: How do I programmatically import calendars Microsoft Project?** +A: Load the MPP file with `new Project("source.mpp")`; the calendars become available via `project.Calendars`. + +**Q: Is there a limit to the number of calendars in a project?** +A: Practically no; the collection can hold as many calendars as memory allows, but keep the list manageable for performance. + +**Q: Do changes to a calendar automatically update tasks that use it?** +A: Yes—tasks linked to a calendar reflect the updated working times after you save the project. + +--- + +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks 24.11 for .NET +**Author:** Aspose + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/english/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/english/net/calendar-scheduling/calendar-exceptions/_index.md index 0a747a4e3..3c0aaa0b6 100644 --- a/tasks/english/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/english/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,62 @@ --- -title: Handling Calendar Exceptions in Aspose.Tasks -linktitle: Handling Calendar Exceptions in Aspose.Tasks +title: Delete Calendar Exception with Aspose.Tasks +linktitle: Delete Calendar Exception with Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Learn how to manage calendar exceptions in Aspose.Tasks for .NET with step-by-step tutorials and examples. +description: Learn how to delete calendar exception in Aspose.Tasks for .NET and check exception date while managing ASP.NET calendar scheduling. +date: 2026-04-13 weight: 12 url: /net/calendar-scheduling/calendar-exceptions/ +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Handling Calendar Exceptions in Aspose.Tasks +# Delete Calendar Exception with Aspose.Tasks ## Introduction -In this tutorial, we'll explore how to manage calendar exceptions in Aspose.Tasks using the .NET framework. Calendar exceptions allow us to define special dates or periods in a project calendar where the regular working schedule is altered, such as holidays or temporary closures. We'll cover various methods to handle calendar exceptions step by step, using Aspose.Tasks for .NET. +In this tutorial, you'll learn how to **delete calendar exception** and manage other calendar exceptions in Aspose.Tasks using the .NET framework. Calendar exceptions let you model holidays, temporary closures, or any special periods where the normal working schedule changes. Understanding how to add, query, and remove these exceptions is essential for accurate project scheduling, especially when working with **ASP.NET calendar scheduling** scenarios. + +## Quick Answers +- **What is the primary method to remove an exception?** Use the `Delete()` method on the `CalendarException` object. +- **Which class checks a date against an exception?** `CalendarException.CheckException()`—useful to **check exception date**. +- **Do I need a license to run the code?** Yes, a valid Aspose.Tasks license is required for production use. +- **Can I add multiple exceptions to one calendar?** Absolutely; the `Exceptions` collection supports many entries. +- **Supported .NET versions?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## What is a Calendar Exception? + +A **calendar exception** represents a deviation from the regular working calendar—think of it as a rule that says “on these dates, work hours are different or none at all.” In Aspose.Tasks, each exception can have its own working times, recurrence pattern, and flags that indicate whether the day is working. + +## Why Manage Calendar Exceptions in ASP.NET Calendar Scheduling? + +- **Accurate timelines:** Projects automatically respect holidays and special closures, preventing unrealistic deadlines. +- **Flexibility:** You can define daily, weekly, monthly, or yearly patterns, matching real‑world business calendars. +- **Automation:** Programmatically checking an exception date lets you build dynamic scheduling logic in ASP.NET applications. ## Prerequisites -Before we begin, ensure you have the following prerequisites: -- Basic knowledge of C# programming language. -- Visual Studio installed on your system. -- Aspose.Tasks for .NET library added to your project. +- Basic knowledge of C# programming. +- Visual Studio (any recent version). +- Aspose.Tasks for .NET library added to your project (via NuGet or manual reference). ## Import Namespaces -Firstly, let's import the necessary namespaces for our project: +First, import the namespaces you’ll need: ```csharp using Aspose.Tasks; using System; - - ``` -## Step 1: Deleting a Calendar Exception +## Step 1: Delete Calendar Exception -To delete a calendar exception, follow these steps: +Removing an unwanted exception is straightforward. The following code loads a project, selects the first calendar, displays basic info, deletes the first exception, and then shows the updated count. ```csharp public void CalendarExceptionDelete() @@ -56,9 +75,11 @@ public void CalendarExceptionDelete() } ``` -## Step 2: Getting Working Time of a Calendar Exception +> **Pro tip:** Always verify the exception index exists before calling `Delete()` to avoid `IndexOutOfRangeException`. + +## Step 2: Get Working Time of a Calendar Exception -To retrieve the working time of a calendar exception, follow these steps: +If you need to inspect the working hours defined for an exception, use `GetWorkingTime()`. This example also demonstrates how to **check exception date** with `CheckException`. ```csharp [Test] @@ -85,9 +106,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Step 3: Defining Calendar Exceptions +## Step 3: Define Calendar Exceptions -To add or remove calendar exceptions, follow these steps: +Below is a complete walk‑through that shows how to **add**, **check**, and **remove** calendar exceptions. Notice the use of `CheckException` to **check exception date** for a specific moment. ```csharp [Test] @@ -107,7 +128,7 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Check if a date is an exception + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); // Add the exception to the calendar @@ -137,35 +158,44 @@ public void DefineCalendarExceptions() } ``` -## Conclusion - -In this article, we've covered various aspects of handling calendar exceptions in Aspose.Tasks for .NET. By following the provided steps, you can effectively manage exceptions in your project schedules, ensuring accurate representation of working hours and special events. +## Common Issues & Tips -## FAQ's +| Issue | Reason | Solution | +|-------|--------|----------| +| **`IndexOutOfRangeException` when deleting** | Trying to delete an exception that doesn’t exist. | Verify `calendar.Exceptions.Count` > index before calling `Delete()`. | +| **Incorrect working times** | Not setting `DayWorking` or `WorkingTimes` properly. | Use `exception.WorkingTimes.Add(new WorkingTime(...))` to define explicit periods. | +| **Exception not recognized** | `CheckException` returns `false` because the date falls outside the defined range. | Double‑check `FromDate`/`ToDate` and the `Type` (Daily, Weekly, etc.). | -### Q1: Can I add multiple exceptions to a single calendar? +## Frequently Asked Questions -A1: Yes, you can add multiple exceptions to a calendar to accommodate various special dates or periods. +**Q: Can I add multiple exceptions to a single calendar?** +A: Yes, you can add as many exceptions as needed to represent holidays, maintenance windows, or any special scheduling rules. -### Q2: How can I check if a specific date is an exception? +**Q: How do I **check exception date** for a specific day?** +A: Use the `CheckException(DateTime date)` method on a `CalendarException` instance. It returns `true` if the supplied date falls within the exception range. -A2: You can use the `CheckException()` method to verify if a particular date falls under an exception. +**Q: Is it possible to remove an existing exception from a calendar?** +A: Absolutely. Access the `Exceptions` collection and call `Remove()` or invoke `Delete()` on the specific `CalendarException` object. -### Q3: Is it possible to remove an existing exception from a calendar? +**Q: What types of calendar exceptions are supported?** +A: Aspose.Tasks supports Daily, Weekly, Monthly, and Yearly exception types, giving you flexibility to model almost any recurrence pattern. -A3: Yes, you can remove exceptions by accessing the `Exceptions` collection of the calendar and using the `Remove()` method. +**Q: Can I customize working hours for specific exception dates?** +A: Yes. After creating an exception, populate its `WorkingTimes` collection with `WorkingTime` objects that define start and finish times for that day. -### Q4: What types of calendar exceptions are supported? +## Conclusion -A4: Aspose.Tasks supports various types of exceptions, including daily, weekly, monthly, and yearly exceptions, providing flexibility in defining exception rules. +We've walked through the complete lifecycle of **delete calendar exception** operations, from inspecting existing exceptions to adding new ones and checking dates. Mastering these techniques ensures your project schedules respect real‑world calendars, making your ASP.NET calendar scheduling implementations robust and reliable. -### Q5: Can I customize working hours for specific exception dates? +--- -A5: Yes, you can define custom working times for individual exception dates using the appropriate methods provided by Aspose.Tasks. +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks for .NET (latest release) +**Author:** Aspose {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/english/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/english/net/calendar-scheduling/child-tasks-collector/_index.md index 357442bb2..d6c8464ab 100644 --- a/tasks/english/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/english/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,95 @@ --- -title: Collecting Child Tasks in Aspose.Tasks -linktitle: Collecting Child Tasks in Aspose.Tasks +title: How to Create Child Tasks Collector in Aspose.Tasks +linktitle: Create Child Tasks Collector in Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Learn how to collect child tasks efficiently using Aspose.Tasks for .NET. Improve project management in your .NET applications. +description: Learn how to create child tasks collector using Aspose.Tasks for .NET. Improve project management in your .NET applications. weight: 15 url: /net/calendar-scheduling/child-tasks-collector/ +date: 2026-04-13 +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Collecting Child Tasks in Aspose.Tasks +# Create Child Tasks Collector in Aspose.Tasks ## Introduction -In the realm of project management, Aspose.Tasks for .NET stands out as a robust solution for handling tasks and projects efficiently. This powerful library provides developers with the tools they need to manage tasks, projects, and everything in between seamlessly. In this tutorial, we'll delve into a specific aspect of Aspose.Tasks: collecting child tasks. +If you need to **create child tasks collector** for a Microsoft Project file, Aspose.Tasks for .NET makes it straightforward. In this tutorial we’ll walk through the exact steps required to collect every child task under a parent, so you can process, analyze, or export them with confidence. By the end of the guide you’ll have a reusable snippet that fits naturally into any .NET‑based project‑management solution. + +## Quick Answers +- **What does the ChildTasksCollector do?** It traverses a task hierarchy and gathers all descendant tasks into a collection. +- **Which library provides this feature?** Aspose.Tasks for .NET. +- **Do I need a license to run the sample?** A free trial works for evaluation; a license is required for production. +- **What .NET versions are supported?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **How long does the implementation take?** Roughly 5‑10 minutes once the library is installed. + +## What is a Child Tasks Collector? + +A **child tasks collector** is a utility object that walks through the task tree of a Project file, starting from a specified root task, and aggregates every child (sub‑task) it encounters. This is especially useful when you want to apply bulk operations—such as updating fields, exporting data, or generating reports—without manually iterating over each level of the hierarchy. + +## Why create a child tasks collector? + +- **Simplify recursion:** The collector handles the depth‑first traversal internally, so you avoid writing your own recursive loops. +- **Boost productivity:** Retrieve all descendant tasks in a single collection, making bulk edits or analyses trivial. +- **Maintain clean code:** Keeps your business logic separate from the low‑level navigation of the project structure. ## Prerequisites -Before we begin, ensure that you have the following prerequisites in place: +Before we begin, make sure you have: -1. Basic Understanding of C#: Familiarity with C# programming language is essential. -2. Installation of Aspose.Tasks for .NET: Download and install the Aspose.Tasks for .NET library from the [download link](https://releases.aspose.com/tasks/net/). -3. Development Environment: Set up a development environment, such as Visual Studio, to write and execute C# code. -4. Access to Documentation: Keep the [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) handy for reference. +1. **Basic Understanding of C#** – you should be comfortable writing and running simple console applications. +2. **Aspose.Tasks for .NET installed** – download it from the [download link](https://releases.aspose.com/tasks/net/). +3. **A development environment** – Visual Studio, Rider, or any IDE that supports C#. +4. **Access to the official docs** – keep the [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) nearby for reference. -Now that we have the prerequisites covered, let's dive into the step-by-step guide to collecting child tasks using Aspose.Tasks for .NET. +Now that the groundwork is set, let’s dive into the code. ## Import Namespaces -Firstly, import the necessary namespaces into your C# code to access the functionality provided by Aspose.Tasks for .NET. +First, bring the required namespaces into scope so the compiler knows where to find the classes we’ll use. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Now, let's break down the example provided into multiple steps to understand the process thoroughly. +## Step-by-Step Guide -## Step 1: Initialize Project Object +### Step 1: Initialize the Project Object ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` -This line of code initializes a new `Project` object, loading a project file named "ParentChildTasks.mpp" from the specified directory. +This line loads an existing Microsoft Project file (`ParentChildTasks.mpp`) from the `DataDir` folder into a `Project` object, giving us programmatic access to its tasks. -## Step 2: Create ChildTasksCollector Object +### Step 2: Create the ChildTasksCollector Instance ```csharp var collector = new ChildTasksCollector(); ``` -Here, we create a new `ChildTasksCollector` object, which will help us collect child tasks from the project. +Here we **create child tasks collector** – an instance of `ChildTasksCollector` that will store every child task it discovers. -## Step 3: Apply Collector to Root Task +### Step 3: Apply the Collector to the Root Task ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` -We apply the `ChildTasksCollector` to the root task of the project, initiating the collection process recursively. +We tell Aspose.Tasks to start the collection at the project’s root task. The `Apply` method walks the hierarchy recursively, populating `collector.Tasks` with all descendant tasks. -## Step 4: Iterate Through Collected Tasks +### Step 4: Iterate Through the Collected Tasks ```csharp foreach (var task in collector.Tasks) @@ -75,37 +98,42 @@ foreach (var task in collector.Tasks) } ``` -Finally, we iterate through the collected tasks and print their names to the console. - -## Conclusion - -In this tutorial, we explored how to collect child tasks using Aspose.Tasks for .NET. By following the steps outlined above, you can efficiently manage and manipulate tasks within your projects, enhancing productivity and organization. +Finally, we loop over the gathered tasks and print each task’s name to the console. In a real‑world scenario you could replace the `Console.WriteLine` with any custom processing you need (e.g., exporting to CSV, updating fields, etc.). -## FAQ's +## Common Issues and Solutions -### Q1: Is Aspose.Tasks for .NET compatible with all versions of .NET? +| Issue | Reason | Fix | +|-------|--------|-----| +| **No tasks are returned** | The collector was applied to the wrong task (e.g., a leaf node). | Apply `TaskUtils.Apply` to `project.RootTask` or the specific parent you want to start from. | +| **NullReferenceException** | `DataDir` or the file path is incorrect. | Verify that `DataDir` points to the folder containing `ParentChildTasks.mpp`. | +| **License not set** | Aspose.Tasks throws a licensing warning in trial mode. | Load your license with `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` before creating the `Project` object. | -A1: Yes, Aspose.Tasks for .NET is compatible with various versions of the .NET framework, ensuring broad compatibility. +## Frequently Asked Questions -### Q2: Can I use Aspose.Tasks for .NET to create new project files? +**Q: Is Aspose.Tasks for .NET compatible with all versions of .NET?** +A: Yes, Aspose.Tasks for .NET works with .NET Framework 4.5+, .NET Core 3.1+, and .NET 5/6+. -A2: Absolutely! Aspose.Tasks for .NET provides functionality to create, read, and manipulate project files effortlessly. +**Q: Can I use Aspose.Tasks for .NET to create new project files?** +A: Absolutely! The library lets you create, read, and manipulate project files programmatically. -### Q3: Does Aspose.Tasks for .NET support multiple platforms? +**Q: Does Aspose.Tasks for .NET support multiple platforms?** +A: While it’s designed for .NET, you can run it on any platform that supports the .NET runtime, including Windows, Linux, and macOS. -A3: While primarily designed for .NET environments, Aspose.Tasks for .NET can be used in various platforms that support .NET development. +**Q: Is technical support available for Aspose.Tasks for .NET?** +A: Yes, you can get help through the [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -### Q4: Is technical support available for Aspose.Tasks for .NET? +**Q: Can I try Aspose.Tasks for .NET before purchasing?** +A: Certainly! A free trial is available from the [release page](https://releases.aspose.com/). -A4: Yes, users can access technical support through the [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). - -### Q5: Can I try Aspose.Tasks for .NET before purchasing? +--- -A5: Certainly! You can avail of a free trial from the [release page](https://releases.aspose.com/). +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks 24.11 for .NET +**Author:** Aspose {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/french/net/calendar-scheduling/calendar-collection/_index.md b/tasks/french/net/calendar-scheduling/calendar-collection/_index.md index 440c2004a..1aa4d31e6 100644 --- a/tasks/french/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/french/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Gestion de la collection de calendriers dans Aspose.Tasks +date: 2026-04-13 +description: Apprenez à définir les heures de travail et à gérer les collections de + calendriers dans Aspose.Tasks pour .NET. Importez les calendriers Microsoft Project, + supprimez le calendrier d’un projet et récupérez un calendrier par son nom facilement. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Gestion de la collection de calendriers dans Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Découvrez comment gérer efficacement les collections de calendriers dans Aspose.Tasks pour .NET. Créez, modifiez et manipulez facilement des calendriers. -weight: 11 +second_title: Aspose.Tasks .NET API +title: Définir les heures de travail dans la collection de calendriers Aspose.Tasks url: /fr/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gestion de la collection de calendriers dans Aspose.Tasks +# Définir les heures de travail dans la collection de calendriers Aspose.Tasks -## Introduction +Dans ce tutoriel, vous apprendrez comment **définir les heures de travail** et gérer les collections de calendriers à l'aide d'Aspose.Tasks pour .NET. Les calendriers définissent les jours ouvrés, les jours fériés et les exceptions, ainsi les maîtriser vous permet de contrôler les plannings de projet avec précision. Nous vous montrerons également comment importer des calendriers depuis Microsoft Project, supprimer un calendrier d'un projet et obtenir un calendrier par son nom. -Dans ce didacticiel, nous verrons comment gérer les collections de calendriers dans Aspose.Tasks pour .NET. Les calendriers jouent un rôle crucial dans la gestion de projet, définissant les jours ouvrables, les jours fériés et les exceptions. Aspose.Tasks fournit des fonctionnalités robustes pour manipuler les calendriers au sein de vos projets. +## Réponses rapides +- **Quelle est la classe principale pour les calendriers ?** Collection `Project.Calendars`. +- **Comment définir les heures de travail ?** Créez ou modifiez un objet `Calendar` et définissez son `WorkingTime`. +- **Puis-je importer des calendriers depuis Microsoft Project ?** Oui – chargez un fichier MPP et accédez à ses calendriers. +- **Comment supprimer un calendrier d'un projet ?** Utilisez `Project.Calendars.Remove(calendar)`. +- **Comment récupérer un calendrier par son nom ?** Appelez `Project.Calendars.GetByName("YourCalendar")`. -## Conditions préalables +## Prérequis -Avant de commencer, assurez-vous d'avoir les éléments suivants : +Avant de commencer, assurez-vous de disposer de ce qui suit : -1. Visual Studio : installez Visual Studio ou tout autre IDE compatible pour le développement .NET. -2. Aspose.Tasks pour .NET : téléchargez et installez Aspose.Tasks pour .NET à partir de[ici](https://releases.aspose.com/tasks/net/). -3. Compréhension de base de C# : Une connaissance du langage de programmation C# sera bénéfique. +1. Visual Studio : Installez Visual Studio ou tout autre IDE compatible avec le développement .NET. +2. Aspose.Tasks pour .NET : Téléchargez et installez Aspose.Tasks pour .NET depuis [here](https://releases.aspose.com/tasks/net/). +3. Connaissances de base en C# : Une familiarité avec le langage de programmation C# sera bénéfique. -## Importer des espaces de noms +## Importer les espaces de noms -Tout d'abord, importons les espaces de noms nécessaires pour travailler avec Aspose.Tasks : +Tout d'abord, importons les espaces de noms nécessaires pour travailler avec Aspose.Tasks : ```csharp using Aspose.Tasks; @@ -35,24 +48,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Créer un nouveau calendrier -### Étape 1 : initialiser un nouveau`Project` object. +### Étape 1 : Initialiser un nouvel objet `Project`. ```csharp var project = new Project(); ``` -### Étape 2 : ajoutez des calendriers à la collection de calendriers du projet. +### Étape 2 : Ajouter des calendriers à la collection de calendriers du projet. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Étape 3 : Parcourez les calendriers et affichez leurs noms. +### Étape 3 : Parcourir les calendriers et afficher leurs noms. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Remplacement d'un calendrier par un nouveau calendrier +## Comment définir les heures de travail pour un calendrier ? + +Pour **définir les heures de travail**, vous modifiez la collection `WorkingTime` d'un `Calendar`. +Par exemple, vous pouvez définir une journée de travail standard de 9 h à 17 h ou ajouter des exceptions personnalisées. +Le code pour cela est identique aux exemples présentés plus tard lorsque nous créons un calendrier standard. + +## Remplacer un calendrier par un nouveau calendrier -### Étape 1 : Chargez un projet existant. +### Étape 1 : Charger un projet existant. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Étape 2 : Supprimez le calendrier existant (s'il existe). +### Étape 2 : Supprimer le calendrier existant (s'il existe). +Cela illustre le scénario de **suppression de calendrier du projet**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,45 +95,46 @@ if (calendar != null) } ``` -### Étape 3 : Ajoutez un nouveau calendrier. +### Étape 3 : Ajouter un nouveau calendrier. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Obtenir le calendrier par nom ou identifiant +## Récupérer un calendrier par nom ou ID -### Étape 1 : Chargez le projet. +### Étape 1 : Charger le projet. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Étape 2 : Récupérez les calendriers par nom ou UID. +### Étape 2 : Récupérer les calendriers par nom ou UID. +Cela illustre l'opération **get calendar by name**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### Étape 3 : Affichez les détails du calendrier. +### Étape 3 : Afficher les détails du calendrier. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Itérer sur des calendriers +## Parcourir les calendriers -### Étape 1 : Chargez le projet. +### Étape 1 : Charger le projet. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Étape 2 : Récupérez le nombre de calendriers. +### Étape 2 : Récupérer le nombre de calendriers. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Étape 3 : Parcourez la collection de calendriers et les noms d'affichage. +### Étape 3 : Parcourir la collection de calendriers et afficher les noms. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,50 +145,71 @@ foreach (var calendar in calendars) ## Créer un calendrier standard -### Étape 1 : Initialisez un nouveau projet. +### Étape 1 : Initialiser un nouveau projet. ```csharp var project = new Project(); ``` -### Étape 2 : Définir un nouveau calendrier et le rendre standard. +### Étape 2 : Définir un nouveau calendrier et le rendre standard. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Étape 3 : Enregistrez le projet. +### Étape 3 : Enregistrer le projet. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Conclusion +## Problèmes courants et solutions -La gestion des collections de calendriers dans Aspose.Tasks pour .NET est essentielle pour une gestion de projet efficace. Avec les fonctionnalités fournies, vous pouvez créer, modifier et manipuler efficacement des calendriers en fonction des exigences de votre projet. +- **Calendrier non trouvé lors de l'utilisation de `GetByName`** – Assurez‑vous que le nom exact correspond à la casse utilisée lors de l'ajout du calendrier. +- **Heures de travail non appliquées** – Après avoir défini `WorkingTime`, n'oubliez pas d'enregistrer le projet ; sinon les modifications restent uniquement en mémoire. +- **L'importation de calendriers depuis un fichier MPP échoue** – Vérifiez que le fichier source est un fichier Microsoft Project valide et que vous disposez des permissions de lecture. ## FAQ -### Q1 : Puis-je créer des jours de travail personnalisés dans Aspose.Tasks ? +### Q1 : Puis-je créer des jours ouvrés personnalisés dans Aspose.Tasks ? +R1 : Oui, vous pouvez créer des jours ouvrés personnalisés en ajoutant des exceptions aux calendriers. -A1 : Oui, vous pouvez créer des jours de travail personnalisés en ajoutant des exceptions aux calendriers. +### Q2 : Est‑il possible d'importer des calendriers depuis des fichiers Microsoft Project ? +R2 : Absolument, Aspose.Tasks prend en charge l'importation de calendriers depuis des fichiers Microsoft Project. -### Q2 : Est-il possible d'importer des calendriers à partir de fichiers Microsoft Project ? +### Q3 : Comment puis‑je supprimer un calendrier spécifique d'un projet ? +R3 : Vous pouvez supprimer un calendrier en le récupérant depuis la collection puis en appelant la méthode `Remove`. -A2 : Absolument, Aspose.Tasks prend en charge l'importation de calendriers à partir de fichiers Microsoft Project. +### Q4 : Aspose.Tasks prend‑il en charge l'exportation des calendriers vers différents formats ? +R4 : Oui, Aspose.Tasks permet d'exporter les calendriers vers divers formats tels que XML, MPP, etc. -### Q3 : Comment puis-je supprimer un calendrier spécifique d'un projet ? +### Q5 : Puis‑je personnaliser les heures de travail pour des jours spécifiques dans un calendrier ? +R5 : Bien sûr, vous pouvez définir les heures de travail pour des jours individuels en utilisant des exceptions dans le calendrier. - A3 : Vous pouvez supprimer un calendrier en le récupérant de la collection, puis en appelant le`Remove` méthode. +## Questions fréquemment posées -### Q4 : Aspose.Tasks prend-il en charge l'exportation de calendriers vers différents formats ? +**Q : Quelle est la meilleure façon de définir un calendrier de quart de 24 heures ?** +R : Créez un nouveau calendrier, videz les entrées `WorkingTime` existantes, puis ajoutez une seule plage `WorkingTime` de 00 h00 à 24 h00 pour chaque jour de la semaine. -A4 : Oui, Aspose.Tasks permet d'exporter des calendriers vers différents formats comme XML, MPP, etc. +**Q : Puis‑je copier un calendrier d'un projet à un autre ?** +R : Oui—exportez le calendrier au format XML avec `project.Save` puis importez‑le dans un autre projet avec `new Project(xmlPath)`. + +**Q : Comment importer programmétiquement des calendriers depuis Microsoft Project ?** +R : Chargez le fichier MPP avec `new Project("source.mpp")` ; les calendriers sont alors accessibles via `project.Calendars`. + +**Q : Existe‑t‑il une limite au nombre de calendriers dans un projet ?** +R : Pratiquement non ; la collection peut contenir autant de calendriers que la mémoire le permet, mais il est recommandé de garder la liste gérable pour des raisons de performance. + +**Q : Les modifications d'un calendrier mettent‑elles automatiquement à jour les tâches qui l'utilisent ?** +R : Oui—les tâches liées à un calendrier reflètent les heures de travail mises à jour après l'enregistrement du projet. + +--- -### Q5 : Puis-je personnaliser les heures de travail pour des jours spécifiques dans un calendrier ? +**Dernière mise à jour :** 2026-04-13 +**Testé avec :** Aspose.Tasks 24.11 for .NET +**Auteur :** Aspose -A5 : Vous pouvez certainement définir des heures de travail pour des jours individuels en utilisant des exceptions dans le calendrier. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/french/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/french/net/calendar-scheduling/calendar-exceptions/_index.md index 1e17f1c02..3fd319d78 100644 --- a/tasks/french/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/french/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,64 @@ --- -title: Gestion des exceptions de calendrier dans Aspose.Tasks -linktitle: Gestion des exceptions de calendrier dans Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Découvrez comment gérer les exceptions de calendrier dans Aspose.Tasks pour .NET avec des didacticiels et des exemples étape par étape. -weight: 12 +date: 2026-04-13 +description: Apprenez comment supprimer une exception de calendrier dans Aspose.Tasks + pour .NET et vérifier la date d’exception lors de la gestion de la planification + du calendrier ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Supprimer une exception de calendrier avec Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Supprimer une exception de calendrier avec Aspose.Tasks url: /fr/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gestion des exceptions de calendrier dans Aspose.Tasks +# Supprimer une exception de calendrier avec Aspose.Tasks ## Introduction -Dans ce didacticiel, nous verrons comment gérer les exceptions de calendrier dans Aspose.Tasks à l'aide du framework .NET. Les exceptions de calendrier nous permettent de définir des dates ou des périodes spéciales dans le calendrier d'un projet où l'horaire de travail régulier est modifié, comme les jours fériés ou les fermetures temporaires. Nous aborderons étape par étape diverses méthodes pour gérer les exceptions de calendrier, à l’aide d’Aspose.Tasks pour .NET. +Dans ce tutoriel, vous apprendrez comment **supprimer une exception de calendrier** et gérer d'autres exceptions de calendrier dans Aspose.Tasks en utilisant le framework .NET. Les exceptions de calendrier vous permettent de modéliser les jours fériés, les fermetures temporaires ou toute période spéciale où l'horaire de travail habituel change. Comprendre comment ajouter, interroger et supprimer ces exceptions est essentiel pour une planification de projet précise, notamment dans les scénarios de **planification de calendrier ASP.NET**. + +## Réponses rapides +- **Quelle est la méthode principale pour supprimer une exception ?** Utilisez la méthode `Delete()` sur l'objet `CalendarException`. +- **Quelle classe vérifie une date par rapport à une exception ?** `CalendarException.CheckException()` — utile pour **vérifier la date d'exception**. +- **Ai-je besoin d'une licence pour exécuter le code ?** Oui, une licence valide d'Aspose.Tasks est requise pour une utilisation en production. +- **Puis-je ajouter plusieurs exceptions à un même calendrier ?** Absolument ; la collection `Exceptions` prend en charge de nombreuses entrées. +- **Versions .NET prises en charge ?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Qu'est-ce qu'une exception de calendrier ? + +Une **exception de calendrier** représente une déviation du calendrier de travail habituel — pensez-y comme une règle qui indique « à ces dates, les heures de travail sont différentes ou inexistantes ». Dans Aspose.Tasks, chaque exception peut avoir ses propres heures de travail, son modèle de récurrence et des indicateurs précisant si le jour est ouvrable. + +## Pourquoi gérer les exceptions de calendrier dans la planification de calendrier ASP.NET ? + +- **Chronologies précises** : les projets tiennent automatiquement compte des jours fériés et des fermetures spéciales, évitant ainsi des échéances irréalistes. +- **Flexibilité** : vous pouvez définir des modèles quotidiens, hebdomadaires, mensuels ou annuels, correspondant aux calendriers d'entreprise du monde réel. +- **Automatisation** : vérifier programmatique une date d'exception vous permet de créer une logique de planification dynamique dans les applications ASP.NET. -## Conditions préalables +## Pré-requis -Avant de commencer, assurez-vous de disposer des prérequis suivants : -- Connaissance de base du langage de programmation C#. -- Visual Studio installé sur votre système. -- Aspose.Tasks pour la bibliothèque .NET ajoutée à votre projet. +- Connaissances de base en programmation C#. +- Visual Studio (toute version récente). +- Bibliothèque Aspose.Tasks pour .NET ajoutée à votre projet (via NuGet ou référence manuelle). -## Importer des espaces de noms +## Importer les espaces de noms -Tout d'abord, importons les espaces de noms nécessaires à notre projet : +Tout d'abord, importez les espaces de noms dont vous aurez besoin : ```csharp using Aspose.Tasks; using System; - - ``` -## Étape 1 : suppression d'une exception de calendrier +## Étape 1 : Supprimer une exception de calendrier -Pour supprimer une exception de calendrier, procédez comme suit : +Supprimer une exception indésirable est simple. Le code suivant charge un projet, sélectionne le premier calendrier, affiche des informations de base, supprime la première exception, puis montre le nombre mis à jour. ```csharp public void CalendarExceptionDelete() @@ -45,20 +66,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Afficher les informations du calendrier + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Supprimer la première exception + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` +> **Astuce :** Vérifiez toujours que l'index de l'exception existe avant d'appeler `Delete()` afin d'éviter une `IndexOutOfRangeException`. + ## Étape 2 : Obtenir le temps de travail d'une exception de calendrier -Pour récupérer le temps de travail d'une exception de calendrier, procédez comme suit : +Si vous devez inspecter les heures de travail définies pour une exception, utilisez `GetWorkingTime()`. Cet exemple montre également comment **vérifier la date d'exception** avec `CheckException`. ```csharp [Test] @@ -68,12 +91,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Afficher les informations sur le calendrier et les exceptions + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Obtenez le temps de travail et affichez les détails + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +108,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Étape 3 : Définition des exceptions de calendrier +## Étape 3 : Définir les exceptions de calendrier -Pour ajouter ou supprimer des exceptions de calendrier, procédez comme suit : +Voici un exemple complet qui montre comment **ajouter**, **vérifier** et **supprimer** des exceptions de calendrier. Remarquez l'utilisation de `CheckException` pour **vérifier la date d'exception** à un moment précis. ```csharp [Test] @@ -96,10 +119,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Créer une nouvelle exception de calendrier + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Définir les détails de l'exception + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +130,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Vérifiez si une date est une exception + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Ajouter l'exception au calendrier + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Supprimer une exception si elle existe + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +144,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Ajouter une nouvelle exception + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Imprimer les exceptions + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +160,44 @@ public void DefineCalendarExceptions() } ``` -## Conclusion +## Problèmes courants et astuces -Dans cet article, nous avons abordé divers aspects de la gestion des exceptions de calendrier dans Aspose.Tasks pour .NET. En suivant les étapes fournies, vous pouvez gérer efficacement les exceptions dans les calendriers de votre projet, garantissant ainsi une représentation précise des heures de travail et des événements spéciaux. +| Problème | Raison | Solution | +|----------|--------|----------| +| **`IndexOutOfRangeException` lors de la suppression** | Tentative de suppression d'une exception qui n'existe pas. | Vérifiez que `calendar.Exceptions.Count` > index avant d'appeler `Delete()`. | +| **Heures de travail incorrectes** | Non définition correcte de `DayWorking` ou `WorkingTimes`. | Utilisez `exception.WorkingTimes.Add(new WorkingTime(...))` pour définir des périodes explicites. | +| **Exception non reconnue** | `CheckException` renvoie `false` parce que la date est en dehors de la plage définie. | Revérifiez `FromDate`/`ToDate` et le `Type` (Daily, Weekly, etc.). | -## FAQ +## Foire aux questions -### Q1 : Puis-je ajouter plusieurs exceptions à un seul calendrier ? +**Q : Puis-je ajouter plusieurs exceptions à un même calendrier ?** +R : Oui, vous pouvez ajouter autant d'exceptions que nécessaire pour représenter les jours fériés, les fenêtres de maintenance ou toute règle de planification spéciale. -A1 : Oui, vous pouvez ajouter plusieurs exceptions à un calendrier pour tenir compte de diverses dates ou périodes spéciales. +**Q : Comment **vérifier la date d'exception** pour un jour spécifique ?** +R : Utilisez la méthode `CheckException(DateTime date)` sur une instance de `CalendarException`. Elle renvoie `true` si la date fournie se situe dans la plage de l'exception. -### Q2 : Comment puis-je vérifier si une date spécifique constitue une exception ? +**Q : Est-il possible de supprimer une exception existante d'un calendrier ?** +R : Absolument. Accédez à la collection `Exceptions` et appelez `Remove()` ou invoquez `Delete()` sur l'objet `CalendarException` spécifique. - A2 : Vous pouvez utiliser le`CheckException()` méthode pour vérifier si une date particulière relève d’une exception. +**Q : Quels types d'exceptions de calendrier sont pris en charge ?** +R : Aspose.Tasks prend en charge les types d'exception Daily, Weekly, Monthly et Yearly, vous offrant la flexibilité de modéliser presque n'importe quel modèle de récurrence. -### Q3 : Est-il possible de supprimer une exception existante d’un calendrier ? +**Q : Puis-je personnaliser les heures de travail pour des dates d'exception spécifiques ?** +R : Oui. Après avoir créé une exception, remplissez sa collection `WorkingTimes` avec des objets `WorkingTime` qui définissent les heures de début et de fin pour ce jour. - A3 : Oui, vous pouvez supprimer des exceptions en accédant au`Exceptions` collecte du calendrier et utilisation du`Remove()` méthode. +## Conclusion -### Q4 : Quels types d’exceptions de calendrier sont pris en charge ? +Nous avons parcouru le cycle complet des opérations de **suppression d'exception de calendrier**, de l'inspection des exceptions existantes à l'ajout de nouvelles et à la vérification des dates. Maîtriser ces techniques garantit que vos plannings de projet respectent les calendriers du monde réel, rendant vos implémentations de planification de calendrier ASP.NET robustes et fiables. -A4 : Aspose.Tasks prend en charge différents types d'exceptions, notamment les exceptions quotidiennes, hebdomadaires, mensuelles et annuelles, offrant ainsi une flexibilité dans la définition des règles d'exception. +--- -### Q5 : Puis-je personnaliser les heures de travail pour des dates d'exception spécifiques ? +**Dernière mise à jour :** 2026-04-13 +**Testé avec :** Aspose.Tasks pour .NET (dernière version) +**Auteur :** Aspose -A5 : Oui, vous pouvez définir des horaires de travail personnalisés pour des dates d'exception individuelles en utilisant les méthodes appropriées fournies par Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/french/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/french/net/calendar-scheduling/child-tasks-collector/_index.md index dd026836b..184f81d19 100644 --- a/tasks/french/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/french/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Collecte de tâches enfants dans Aspose.Tasks -linktitle: Collecte de tâches enfants dans Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Découvrez comment collecter efficacement les tâches enfants à l'aide d'Aspose.Tasks pour .NET. Améliorez la gestion de projet dans vos applications .NET. -weight: 15 +date: 2026-04-13 +description: Apprenez à créer un collecteur de sous‑tâches avec Aspose.Tasks pour + .NET. Améliorez la gestion de projet dans vos applications .NET. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Créer un collecteur de tâches enfants dans Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Comment créer un collecteur de tâches enfants dans Aspose.Tasks url: /fr/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Collecte de tâches enfants dans Aspose.Tasks +# Créer un collecteur de tâches enfants dans Aspose.Tasks ## Introduction -Dans le domaine de la gestion de projet, Aspose.Tasks for .NET se distingue comme une solution robuste pour gérer efficacement les tâches et les projets. Cette puissante bibliothèque fournit aux développeurs les outils dont ils ont besoin pour gérer les tâches, les projets et tout le reste de manière transparente. Dans ce didacticiel, nous aborderons un aspect spécifique d'Aspose.Tasks : la collecte des tâches enfants. +Si vous devez **créer un collecteur de tâches enfants** pour un fichier Microsoft Project, Aspose.Tasks pour .NET le rend simple. Dans ce tutoriel, nous parcourrons les étapes exactes nécessaires pour collecter chaque tâche enfant sous un parent, afin que vous puissiez les traiter, les analyser ou les exporter en toute confiance. À la fin du guide, vous disposerez d’un extrait réutilisable qui s’intègre naturellement à toute solution de gestion de projet basée sur .NET. + +## Réponses rapides +- **Que fait le ChildTasksCollector ?** Il parcourt une hiérarchie de tâches et rassemble toutes les tâches descendantes dans une collection. +- **Quelle bibliothèque fournit cette fonctionnalité ?** Aspose.Tasks pour .NET. +- **Ai-je besoin d’une licence pour exécuter l’exemple ?** Un essai gratuit suffit pour l’évaluation ; une licence est requise pour la production. +- **Quelles versions de .NET sont prises en charge ?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Combien de temps prend l’implémentation ?** Environ 5‑10 minutes une fois la bibliothèque installée. + +## Qu’est‑ce qu’un collecteur de tâches enfants ? + +Un **collecteur de tâches enfants** est un objet utilitaire qui parcourt l’arborescence des tâches d’un fichier Project, à partir d’une tâche racine spécifiée, et agrège chaque tâche enfant (sous‑tâche) rencontrée. Ceci est particulièrement utile lorsque vous souhaitez appliquer des opérations en masse — comme la mise à jour de champs, l’exportation de données ou la génération de rapports — sans itérer manuellement sur chaque niveau de la hiérarchie. -## Conditions préalables +## Pourquoi créer un collecteur de tâches enfants ? -Avant de commencer, assurez-vous que les conditions préalables suivantes sont remplies : +- **Simplifier la récursion :** Le collecteur gère le parcours en profondeur en interne, vous évitant d’écrire vos propres boucles récursives. +- **Augmenter la productivité :** Récupérez toutes les tâches descendantes dans une seule collection, rendant les modifications ou analyses en masse triviales. +- **Maintenir un code propre :** Sépare votre logique métier de la navigation de bas niveau de la structure du projet. -1. Compréhension de base de C# : Une connaissance du langage de programmation C# est essentielle. -2. Installation d'Aspose.Tasks for .NET : Téléchargez et installez la bibliothèque Aspose.Tasks for .NET à partir du[lien de téléchargement](https://releases.aspose.com/tasks/net/). -3. Environnement de développement : configurez un environnement de développement, tel que Visual Studio, pour écrire et exécuter du code C#. -4. Accès à la documentation : conservez le[Aspose.Tasks pour la documentation .NET](https://reference.aspose.com/tasks/net/) pratique pour référence. +## Prérequis -Maintenant que nous avons couvert les conditions préalables, passons au guide étape par étape pour collecter les tâches enfants à l'aide d'Aspose.Tasks pour .NET. +1. **Compréhension de base du C#** – vous devez être à l’aise pour écrire et exécuter de simples applications console. +2. **Aspose.Tasks pour .NET installé** – téléchargez-le depuis le [lien de téléchargement](https://releases.aspose.com/tasks/net/). +3. **Un environnement de développement** – Visual Studio, Rider ou tout IDE supportant le C#. +4. **Accès à la documentation officielle** – gardez la [documentation Aspose.Tasks pour .NET](https://reference.aspose.com/tasks/net/) à portée de main pour référence. -## Importer des espaces de noms +Maintenant que les bases sont posées, plongeons dans le code. -Tout d'abord, importez les espaces de noms nécessaires dans votre code C# pour accéder aux fonctionnalités fournies par Aspose.Tasks pour .NET. +## Importer les espaces de noms + +Tout d’abord, importez les espaces de noms requis afin que le compilateur sache où trouver les classes que nous utiliserons. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Maintenant, décomposons l'exemple fourni en plusieurs étapes pour bien comprendre le processus. +## Guide étape par étape -## Étape 1 : initialiser l'objet du projet +### Étape 1 : Initialiser l’objet Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Cette ligne de code initialise un nouveau`Project` objet, chargement d'un fichier de projet nommé "ParentChildTasks.mpp" à partir du répertoire spécifié. +Cette ligne charge un fichier Microsoft Project existant (`ParentChildTasks.mpp`) depuis le dossier `DataDir` dans un objet `Project`, nous donnant un accès programmatique à ses tâches. -## Étape 2 : Créer un objet ChildTasksCollector +### Étape 2 : Créer l’instance ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Ici, nous créons un nouveau`ChildTasksCollector` objet, qui nous aidera à collecter les tâches enfants du projet. +Ici, nous **créons le collecteur de tâches enfants** – une instance de `ChildTasksCollector` qui stockera chaque tâche enfant qu’il découvre. -## Étape 3 : Appliquer le collecteur à la tâche racine +### Étape 3 : Appliquer le collecteur à la tâche racine ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Nous appliquons le`ChildTasksCollector` à la tâche racine du projet, initiant le processus de collecte de manière récursive. +Nous indiquons à Aspose.Tasks de commencer la collecte à la tâche racine du projet. La méthode `Apply` parcourt la hiérarchie de façon récursive, remplissant `collector.Tasks` avec toutes les tâches descendantes. -## Étape 4 : Parcourir les tâches collectées +### Étape 4 : Parcourir les tâches collectées ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,40 @@ foreach (var task in collector.Tasks) } ``` -Enfin, nous parcourons les tâches collectées et imprimons leurs noms sur la console. - -## Conclusion - -Dans ce didacticiel, nous avons exploré comment collecter des tâches enfants à l'aide d'Aspose.Tasks pour .NET. En suivant les étapes décrites ci-dessus, vous pouvez gérer et manipuler efficacement les tâches au sein de vos projets, améliorant ainsi la productivité et l'organisation. - -## FAQ +Enfin, nous parcourons les tâches rassemblées et affichons le nom de chaque tâche dans la console. Dans un scénario réel, vous pourriez remplacer le `Console.WriteLine` par tout traitement personnalisé dont vous avez besoin (par ex., exportation en CSV, mise à jour de champs, etc.). -### Q1 : Aspose.Tasks pour .NET est-il compatible avec toutes les versions de .NET ? +## Problèmes courants et solutions -A1 : Oui, Aspose.Tasks for .NET est compatible avec différentes versions du framework .NET, garantissant une large compatibilité. +| Problème | Raison | Solution | +|----------|--------|----------| +| **Aucune tâche n’est retournée** | Le collecteur a été appliqué à la mauvaise tâche (par ex., un nœud feuille). | Appliquez `TaskUtils.Apply` à `project.RootTask` ou au parent spécifique à partir duquel vous souhaitez démarrer. | +| **NullReferenceException** | `DataDir` ou le chemin du fichier est incorrect. | Vérifiez que `DataDir` pointe vers le dossier contenant `ParentChildTasks.mpp`. | +| **Licence non définie** | Aspose.Tasks génère un avertissement de licence en mode d’essai. | Chargez votre licence avec `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` avant de créer l’objet `Project`. | -### Q2 : Puis-je utiliser Aspose.Tasks pour .NET pour créer de nouveaux fichiers de projet ? +## Questions fréquemment posées -A2 : Absolument ! Aspose.Tasks for .NET fournit des fonctionnalités permettant de créer, lire et manipuler des fichiers de projet sans effort. +**Q:** *Aspose.Tasks pour .NET est‑il compatible avec toutes les versions de .NET ?* +**A:** Oui, Aspose.Tasks pour .NET fonctionne avec .NET Framework 4.5+, .NET Core 3.1+, et .NET 5/6+. -### Q3 : Aspose.Tasks pour .NET prend-il en charge plusieurs plates-formes ? +**Q:** *Puis‑je utiliser Aspose.Tasks pour .NET afin de créer de nouveaux fichiers de projet ?* +**A:** Absolument ! La bibliothèque vous permet de créer, lire et manipuler des fichiers de projet programmatique. -A3 : Bien qu'il soit principalement conçu pour les environnements .NET, Aspose.Tasks for .NET peut être utilisé sur diverses plates-formes prenant en charge le développement .NET. +**Q:** *Aspose.Tasks pour .NET prend‑il en charge plusieurs plateformes ?* +**A:** Bien qu’il soit conçu pour .NET, vous pouvez l’exécuter sur n’importe quelle plateforme supportant le runtime .NET, y compris Windows, Linux et macOS. -### Q4 : Le support technique est-il disponible pour Aspose.Tasks pour .NET ? +**Q:** *Un support technique est‑il disponible pour Aspose.Tasks pour .NET ?* +**A:** Oui, vous pouvez obtenir de l’aide via le [forum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). -A4 : Oui, les utilisateurs peuvent accéder au support technique via le[Forum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +**Q:** *Puis‑je essayer Aspose.Tasks pour .NET avant d’acheter ?* +**A:** Certainement ! Un essai gratuit est disponible depuis la [page de diffusion](https://releases.aspose.com/). -### Q5 : Puis-je essayer Aspose.Tasks pour .NET avant d'acheter ? +**Dernière mise à jour :** 2026-04-13 +**Testé avec :** Aspose.Tasks 24.11 for .NET +**Auteur :** Aspose - A5 : Certainement ! Vous pouvez bénéficier d'un essai gratuit auprès du[page de sortie](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/german/net/calendar-scheduling/calendar-collection/_index.md b/tasks/german/net/calendar-scheduling/calendar-collection/_index.md index 7f0b4d1ad..63d7d2a1d 100644 --- a/tasks/german/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/german/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,47 @@ --- -title: Verwalten der Kalendersammlung in Aspose.Tasks +date: 2026-04-13 +description: Erfahren Sie, wie Sie Arbeitszeiten festlegen und Kalenderkollektionen + in Aspose.Tasks für .NET verwalten. Importieren Sie Kalender aus Microsoft Project, + entfernen Sie Kalender aus einem Projekt und rufen Sie Kalender einfach nach Namen + ab. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Verwalten der Kalendersammlung in Aspose.Tasks -second_title: Aspose.Tasks .NET-API -description: Erfahren Sie, wie Sie Kalendersammlungen in Aspose.Tasks für .NET effizient verwalten. Erstellen, ändern und manipulieren Sie ganz einfach Kalender. -weight: 11 +second_title: Aspose.Tasks .NET API +title: Arbeitszeiten in der Aspose.Tasks‑Kalendersammlung festlegen url: /de/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Verwalten der Kalendersammlung in Aspose.Tasks +# Arbeitszeiten im Aspose.Tasks Kalender-Set festlegen -## Einführung +In diesem Tutorial lernen Sie, wie Sie **Arbeitszeiten festlegen** und Kalender‑Sammlungen mit Aspose.Tasks für .NET verwalten. Kalender definieren Arbeitstage, Feiertage und Ausnahmen, sodass Sie durch deren Beherrschung Projektpläne präzise steuern können. Wir zeigen Ihnen außerdem, wie Sie Kalender aus Microsoft Project importieren, einen Kalender aus einem Projekt entfernen und einen Kalender nach Namen abrufen. -In diesem Tutorial erfahren Sie, wie Sie Kalendersammlungen in Aspose.Tasks für .NET verwalten. Kalender spielen eine entscheidende Rolle im Projektmanagement und definieren Arbeitstage, Feiertage und Ausnahmen. Aspose.Tasks bietet robuste Funktionen zum Bearbeiten von Kalendern in Ihren Projekten. +## Schnelle Antworten +- **Was ist die primäre Klasse für Kalender?** `Project.Calendars`‑Sammlung. +- **Wie lege ich Arbeitszeiten fest?** Erstellen oder ändern Sie ein `Calendar`‑Objekt und definieren dessen `WorkingTime`. +- **Kann ich Kalender aus Microsoft Project importieren?** Ja – laden Sie eine MPP‑Datei und greifen Sie auf deren Kalender zu. +- **Wie entferne ich einen Kalender aus einem Projekt?** Verwenden Sie `Project.Calendars.Remove(calendar)`. +- **Wie rufe ich einen Kalender nach Namen ab?** Rufen Sie `Project.Calendars.GetByName("YourCalendar")` auf. ## Voraussetzungen -Bevor wir beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen: +Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben: -1. Visual Studio: Installieren Sie Visual Studio oder eine andere kompatible IDE für die .NET-Entwicklung. -2. Aspose.Tasks für .NET: Laden Sie Aspose.Tasks für .NET herunter und installieren Sie es von[Hier](https://releases.aspose.com/tasks/net/). -3. Grundkenntnisse von C#: Kenntnisse der Programmiersprache C# sind von Vorteil. +1. Visual Studio: Installieren Sie Visual Studio oder eine andere kompatible IDE für .NET‑Entwicklung. +2. Aspose.Tasks für .NET: Laden Sie Aspose.Tasks für .NET von [here](https://releases.aspose.com/tasks/net/) herunter und installieren Sie es. +3. Grundlegendes Verständnis von C#: Vertrautheit mit der Programmiersprache C# ist von Vorteil. ## Namespaces importieren -Importieren wir zunächst die notwendigen Namespaces, um mit Aspose.Tasks zu arbeiten: +Zuerst importieren wir die notwendigen Namespaces, um mit Aspose.Tasks zu arbeiten: ```csharp using Aspose.Tasks; @@ -35,24 +49,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Erstellen eines neuen Kalenders -### Schritt 1: Initialisieren Sie ein neues`Project` object. +### Schritt 1: Initialisieren eines neuen `Project`-Objekts. ```csharp var project = new Project(); ``` -### Schritt 2: Fügen Sie Kalender zur Kalendersammlung des Projekts hinzu. +### Schritt 2: Kalender zur Kalender‑Sammlung des Projekts hinzufügen. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Schritt 3: Gehen Sie die Kalender durch und zeigen Sie ihre Namen an. +### Schritt 3: Durch die Kalender iterieren und deren Namen anzeigen. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +73,21 @@ foreach (var calendar in project.Calendars) } ``` +## Wie legt man Arbeitszeiten für einen Kalender fest? + +Um **Arbeitszeiten festzulegen**, ändern Sie die `WorkingTime`‑Sammlung eines `Calendar`. +Zum Beispiel können Sie einen standardmäßigen Arbeitstag von 9 Uhr bis 17 Uhr definieren oder benutzerdefinierte Ausnahmen hinzufügen. +Der Code dafür ist identisch mit den später gezeigten Beispielen, wenn wir einen Standardkalender erstellen. + ## Ersetzen eines Kalenders durch einen neuen Kalender -### Schritt 1: Laden Sie ein vorhandenes Projekt. +### Schritt 1: Ein vorhandenes Projekt laden. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Schritt 2: Entfernen Sie den vorhandenen Kalender (falls vorhanden). +### Schritt 2: Den vorhandenen Kalender entfernen (falls vorhanden). +Dies demonstriert das Szenario **Kalender aus Projekt entfernen**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,7 +96,7 @@ if (calendar != null) } ``` -### Schritt 3: Fügen Sie einen neuen Kalender hinzu. +### Schritt 3: Einen neuen Kalender hinzufügen. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); @@ -84,12 +104,13 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M ## Kalender nach Name oder ID abrufen -### Schritt 1: Laden Sie das Projekt. +### Schritt 1: Das Projekt laden. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Schritt 2: Kalender nach Name oder UID abrufen. +### Schritt 2: Kalender nach Name oder UID abrufen. +Dies veranschaulicht die Operation **Kalender nach Namen abrufen**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +123,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Durchlaufen von Kalendern +## Durch Kalender iterieren -### Schritt 1: Laden Sie das Projekt. +### Schritt 1: Das Projekt laden. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Schritt 2: Rufen Sie die Anzahl der Kalender ab. +### Schritt 2: Die Anzahl der Kalender ermitteln. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Schritt 3: Durchlaufen Sie die Kalendersammlung und die Anzeigenamen. +### Schritt 3: Durch die Kalender‑Sammlung iterieren und Namen anzeigen. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,50 +146,76 @@ foreach (var calendar in calendars) ## Erstellen eines Standardkalenders -### Schritt 1: Initialisieren Sie ein neues Projekt. +### Schritt 1: Ein neues Projekt initialisieren. ```csharp var project = new Project(); ``` -### Schritt 2: Definieren Sie einen neuen Kalender und machen Sie ihn zum Standard. +### Schritt 2: Einen neuen Kalender definieren und zum Standard machen. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Schritt 3: Speichern Sie das Projekt. +### Schritt 3: Das Projekt speichern. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Abschluss +## Häufige Probleme und Lösungen -Die Verwaltung von Kalendersammlungen in Aspose.Tasks für .NET ist für ein effektives Projektmanagement unerlässlich. Mit den bereitgestellten Funktionalitäten können Sie Kalender entsprechend Ihren Projektanforderungen effizient erstellen, ändern und bearbeiten. +- **Kalender nicht gefunden bei Verwendung von `GetByName`** – Stellen Sie sicher, dass der exakte Name, einschließlich Groß‑/Kleinschreibung, mit dem beim Hinzufügen des Kalenders verwendeten übereinstimmt. +- **Arbeitszeiten wurden nicht angewendet** – Nachdem Sie `WorkingTime` gesetzt haben, denken Sie daran, das Projekt zu speichern; andernfalls bleiben die Änderungen nur im Speicher. +- **Importieren von Kalendern aus einer MPP‑Datei schlägt fehl** – Überprüfen Sie, ob die Quelldatei eine gültige Microsoft‑Project‑Datei ist und Sie Leseberechtigungen besitzen. -## FAQs +## FAQ -### F1: Kann ich in Aspose.Tasks benutzerdefinierte Arbeitstage erstellen? +### Q1: Kann ich benutzerdefinierte Arbeitstage in Aspose.Tasks erstellen? A1: Ja, Sie können benutzerdefinierte Arbeitstage erstellen, indem Sie Ausnahmen zu Kalendern hinzufügen. -### F2: Ist es möglich, Kalender aus Microsoft Project-Dateien zu importieren? +### Q2: Ist es möglich, Kalender aus Microsoft‑Project‑Dateien zu importieren? + +A2: Absolut, Aspose.Tasks unterstützt das Importieren von Kalendern aus Microsoft‑Project‑Dateien. + +### Q3: Wie kann ich einen bestimmten Kalender aus einem Projekt entfernen? + +A3: Sie können einen Kalender entfernen, indem Sie ihn aus der Sammlung holen und anschließend die `Remove`‑Methode aufrufen. -A2: Absolut, Aspose.Tasks unterstützt den Import von Kalendern aus Microsoft Project-Dateien. +### Q4: Unterstützt Aspose.Tasks das Exportieren von Kalendern in verschiedene Formate? -### F3: Wie kann ich einen bestimmten Kalender aus einem Projekt entfernen? +A4: Ja, Aspose.Tasks ermöglicht das Exportieren von Kalendern in verschiedene Formate wie XML, MPP usw. - A3: Sie können einen Kalender entfernen, indem Sie ihn aus der Sammlung abrufen und dann den aufrufen`Remove` Methode. +### Q5: Kann ich Arbeitszeiten für bestimmte Tage in einem Kalender anpassen? -### F4: Unterstützt Aspose.Tasks den Export von Kalendern in verschiedene Formate? +A5: Natürlich, Sie können Arbeitszeiten für einzelne Tage mithilfe von Ausnahmen im Kalender definieren. -A4: Ja, Aspose.Tasks ermöglicht den Export von Kalendern in verschiedene Formate wie XML, MPP usw. +## Häufig gestellte Fragen + +**Q: Was ist der beste Weg, einen 24‑Stunden‑Schichtkalender festzulegen?** +A: Erstellen Sie einen neuen Kalender, leeren Sie vorhandene `WorkingTime`‑Einträge und fügen Sie für jeden Wochentag einen einzigen `WorkingTime`‑Bereich von 00:00 bis 24:00 hinzu. + +**Q: Kann ich einen Kalender von einem Projekt in ein anderes kopieren?** +A: Ja – exportieren Sie den Kalender mit `project.Save` nach XML und importieren Sie ihn anschließend in ein anderes Projekt mit `new Project(xmlPath)`. + +**Q: Wie importiere ich Kalender aus Microsoft Project programmgesteuert?** +A: Laden Sie die MPP‑Datei mit `new Project("source.mpp")`; die Kalender stehen anschließend über `project.Calendars` zur Verfügung. + +**Q: Gibt es ein Limit für die Anzahl der Kalender in einem Projekt?** +A: Praktisch gibt es kein Limit; die Sammlung kann so viele Kalender aufnehmen, wie der Speicher zulässt, jedoch sollte die Liste aus Leistungsgründen überschaubar bleiben. + +**Q: Aktualisieren Änderungen an einem Kalender automatisch die Aufgaben, die ihn verwenden?** +A: Ja – Aufgaben, die mit einem Kalender verknüpft sind, übernehmen die aktualisierten Arbeitszeiten nach dem Speichern des Projekts. + +--- -### F5: Kann ich die Arbeitszeiten für bestimmte Tage in einem Kalender anpassen? +**Letzte Aktualisierung:** 2026-04-13 +**Getestet mit:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose -A5: Natürlich können Sie über Ausnahmen im Kalender Arbeitszeiten für einzelne Tage festlegen. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/german/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/german/net/calendar-scheduling/calendar-exceptions/_index.md index 316150706..19c958438 100644 --- a/tasks/german/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/german/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Behandeln von Kalenderausnahmen in Aspose.Tasks -linktitle: Behandeln von Kalenderausnahmen in Aspose.Tasks -second_title: Aspose.Tasks .NET-API -description: Erfahren Sie anhand von Schritt-für-Schritt-Anleitungen und Beispielen, wie Sie Kalenderausnahmen in Aspose.Tasks für .NET verwalten. -weight: 12 +date: 2026-04-13 +description: Erfahren Sie, wie Sie Kalenderausnahmen in Aspose.Tasks für .NET löschen + und das Ausnahmedatum beim Verwalten der ASP.NET‑Kalenderplanung überprüfen. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Kalenderausnahme mit Aspose.Tasks löschen +second_title: Aspose.Tasks .NET API +title: Kalenderausnahme mit Aspose.Tasks löschen url: /de/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Behandeln von Kalenderausnahmen in Aspose.Tasks +# Kalenderausnahme löschen mit Aspose.Tasks ## Einführung -In diesem Tutorial erfahren Sie, wie Sie Kalenderausnahmen in Aspose.Tasks mithilfe des .NET Frameworks verwalten. Mit Kalenderausnahmen können wir spezielle Daten oder Zeiträume in einem Projektkalender definieren, an denen sich der reguläre Arbeitsplan ändert, wie z. B. Feiertage oder vorübergehende Schließungen. Wir werden Schritt für Schritt verschiedene Methoden zur Behandlung von Kalenderausnahmen mit Aspose.Tasks für .NET behandeln. +In diesem Tutorial lernen Sie, wie Sie **Kalenderausnahmen löschen** und andere Kalenderausnahmen in Aspose.Tasks mit dem .NET‑Framework verwalten. Kalenderausnahmen ermöglichen es, Feiertage, vorübergehende Schließungen oder andere besondere Zeiträume zu modellieren, in denen der normale Arbeitsplan geändert wird. Das Verständnis, wie man diese Ausnahmen hinzufügt, abfragt und entfernt, ist für eine genaue Projektplanung unerlässlich, insbesondere bei **ASP.NET‑Kalenderplanung**‑Szenarien. + +## Schnelle Antworten +- **Was ist die primäre Methode zum Entfernen einer Ausnahme?** Verwenden Sie die `Delete()`‑Methode des `CalendarException`‑Objekts. +- **Welche Klasse prüft ein Datum gegen eine Ausnahme?** `CalendarException.CheckException()` — nützlich, um das **Ausnahmedatum zu prüfen**. +- **Benötige ich eine Lizenz, um den Code auszuführen?** Ja, für den Produktionseinsatz ist eine gültige Aspose.Tasks‑Lizenz erforderlich. +- **Kann ich mehrere Ausnahmen zu einem Kalender hinzufügen?** Absolut; die `Exceptions`‑Sammlung unterstützt viele Einträge. +- **Unterstützte .NET‑Versionen?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Was ist eine Kalenderausnahme? + +Eine **Kalenderausnahme** stellt eine Abweichung vom regulären Arbeitskalender dar – man kann sie als Regel verstehen, die besagt: „An diesen Daten sind die Arbeitszeiten anders oder es gibt keine Arbeitszeit.“ In Aspose.Tasks kann jede Ausnahme eigene Arbeitszeiten, ein Wiederholungsmuster und Flags haben, die anzeigen, ob der Tag ein Arbeitstag ist. + +## Warum Kalenderausnahmen in ASP.NET‑Kalenderplanung verwalten? + +- **Genauere Zeitpläne:** Projekte berücksichtigen automatisch Feiertage und Sonderschließungen, wodurch unrealistische Fristen vermieden werden. +- **Flexibilität:** Sie können tägliche, wöchentliche, monatliche oder jährliche Muster definieren, die den realen Geschäftskalendern entsprechen. +- **Automatisierung:** Das programmgesteuerte Prüfen eines Ausnahmedatums ermöglicht den Aufbau dynamischer Planungslogik in ASP.NET‑Anwendungen. ## Voraussetzungen -Bevor wir beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen: -- Grundkenntnisse der Programmiersprache C#. -- Visual Studio ist auf Ihrem System installiert. -- Aspose.Tasks für .NET-Bibliothek zu Ihrem Projekt hinzugefügt. +- Grundkenntnisse in C#‑Programmierung. +- Visual Studio (beliebige aktuelle Version). +- Aspose.Tasks für .NET‑Bibliothek zu Ihrem Projekt hinzugefügt (via NuGet oder manuelle Referenz). ## Namespaces importieren -Importieren wir zunächst die notwendigen Namespaces für unser Projekt: +Importieren Sie zunächst die benötigten Namespaces: ```csharp using Aspose.Tasks; using System; - - ``` -## Schritt 1: Löschen einer Kalenderausnahme +## Schritt 1: Kalenderausnahme löschen -Um eine Kalenderausnahme zu löschen, gehen Sie folgendermaßen vor: +Das Entfernen einer unerwünschten Ausnahme ist unkompliziert. Der folgende Code lädt ein Projekt, wählt den ersten Kalender aus, zeigt grundlegende Informationen an, löscht die erste Ausnahme und zeigt anschließend die aktualisierte Anzahl. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Kalenderinformationen anzeigen + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Entfernen Sie die erste Ausnahme + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Schritt 2: Arbeitszeit einer Kalenderausnahme ermitteln +> **Profi‑Tipp:** Überprüfen Sie stets, ob der Ausnahmindex existiert, bevor Sie `Delete()` aufrufen, um `IndexOutOfRangeException` zu vermeiden. -Um die Arbeitszeit einer Kalenderausnahme abzurufen, gehen Sie folgendermaßen vor: +## Schritt 2: Arbeitszeit einer Kalenderausnahme abrufen + +Wenn Sie die für eine Ausnahme definierten Arbeitszeiten prüfen müssen, verwenden Sie `GetWorkingTime()`. Dieses Beispiel zeigt zudem, wie man mit `CheckException` das **Ausnahmedatum prüft**. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Kalender- und Ausnahmeinformationen anzeigen + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Erhalten Sie Arbeitszeiten und zeigen Sie Details an + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -87,7 +109,7 @@ public void CalendarExceptionGetWorkingTime() ## Schritt 3: Kalenderausnahmen definieren -Um Kalenderausnahmen hinzuzufügen oder zu entfernen, führen Sie die folgenden Schritte aus: +Im Folgenden finden Sie eine vollständige Schritt‑für‑Schritt‑Durchführung, die zeigt, wie man Kalenderausnahmen **hinzufügt**, **prüft** und **entfernt**. Beachten Sie die Verwendung von `CheckException`, um das **Ausnahmedatum** für einen bestimmten Moment zu prüfen. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Erstellen Sie eine neue Kalenderausnahme + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Ausnahmedetails festlegen + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Prüfen Sie, ob ein Datum eine Ausnahme darstellt + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Fügen Sie die Ausnahme zum Kalender hinzu + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Entfernen Sie eine Ausnahme, falls vorhanden + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Fügen Sie eine neue Ausnahme hinzu + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Ausnahmen drucken + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Abschluss +## Häufige Probleme & Tipps -In diesem Artikel haben wir verschiedene Aspekte der Behandlung von Kalenderausnahmen in Aspose.Tasks für .NET behandelt. Indem Sie die bereitgestellten Schritte befolgen, können Sie Ausnahmen in Ihren Projektzeitplänen effektiv verwalten und so eine genaue Darstellung von Arbeitszeiten und besonderen Ereignissen gewährleisten. +| Problem | Grund | Lösung | +|-------|--------|----------| +| **`IndexOutOfRangeException` beim Löschen** | Versuch, eine nicht existente Ausnahme zu löschen. | Stellen Sie sicher, dass `calendar.Exceptions.Count` > Index ist, bevor Sie `Delete()` aufrufen. | +| **Falsche Arbeitszeiten** | `DayWorking` oder `WorkingTimes` wurden nicht korrekt gesetzt. | Verwenden Sie `exception.WorkingTimes.Add(new WorkingTime(...))`, um explizite Zeiträume zu definieren. | +| **Ausnahme nicht erkannt** | `CheckException` gibt `false` zurück, weil das Datum außerhalb des definierten Bereichs liegt. | Überprüfen Sie `FromDate`/`ToDate` und den `Type` (Daily, Weekly usw.). | -## FAQs +## Häufig gestellte Fragen -### F1: Kann ich einem einzelnen Kalender mehrere Ausnahmen hinzufügen? +**F: Kann ich mehrere Ausnahmen zu einem einzelnen Kalender hinzufügen?** +A: Ja, Sie können beliebig viele Ausnahmen hinzufügen, um Feiertage, Wartungsfenster oder andere spezielle Planungsregeln darzustellen. -A1: Ja, Sie können einem Kalender mehrere Ausnahmen hinzufügen, um verschiedene besondere Daten oder Zeiträume zu berücksichtigen. +**F: Wie prüfe ich das **Ausnahmedatum** für einen bestimmten Tag?** +A: Verwenden Sie die Methode `CheckException(DateTime date)` einer `CalendarException`‑Instanz. Sie gibt `true` zurück, wenn das angegebene Datum innerhalb des Ausnahmereichs liegt. -### F2: Wie kann ich überprüfen, ob ein bestimmtes Datum eine Ausnahme darstellt? +**F: Ist es möglich, eine bestehende Ausnahme aus einem Kalender zu entfernen?** +A: Absolut. Greifen Sie auf die `Exceptions`‑Sammlung zu und rufen Sie `Remove()` auf oder verwenden Sie `Delete()` auf dem jeweiligen `CalendarException`‑Objekt. - A2: Sie können das verwenden`CheckException()` Methode, um zu überprüfen, ob ein bestimmtes Datum unter eine Ausnahme fällt. +**F: Welche Arten von Kalenderausnahmen werden unterstützt?** +A: Aspose.Tasks unterstützt tägliche, wöchentliche, monatliche und jährliche Ausnahmetypen, was Ihnen Flexibilität bietet, fast jedes Wiederholungsmuster zu modellieren. -### F3: Ist es möglich, eine bestehende Ausnahme aus einem Kalender zu entfernen? +**F: Kann ich Arbeitszeiten für bestimmte Ausnahmedaten anpassen?** +A: Ja. Nachdem Sie eine Ausnahme erstellt haben, füllen Sie deren `WorkingTimes`‑Sammlung mit `WorkingTime`‑Objekten, die Start‑ und Endzeiten für diesen Tag definieren. - A3: Ja, Sie können Ausnahmen entfernen, indem Sie auf zugreifen`Exceptions` Sammlung des Kalenders und Nutzung des`Remove()` Methode. +## Fazit -### F4: Welche Arten von Kalenderausnahmen werden unterstützt? +Wir haben den gesamten Lebenszyklus von **Kalenderausnahmen löschen**‑Operationen durchlaufen, von der Inspektion vorhandener Ausnahmen bis zum Hinzufügen neuer und dem Prüfen von Daten. Das Beherrschen dieser Techniken stellt sicher, dass Ihre Projektpläne reale Kalender berücksichtigen und Ihre ASP.NET‑Kalenderplanungs‑Implementierungen robust und zuverlässig machen. -A4: Aspose.Tasks unterstützt verschiedene Arten von Ausnahmen, einschließlich täglicher, wöchentlicher, monatlicher und jährlicher Ausnahmen, und bietet so Flexibilität bei der Definition von Ausnahmeregeln. +--- -### F5: Kann ich die Arbeitszeiten für bestimmte Ausnahmetermine anpassen? +**Zuletzt aktualisiert:** 2026-04-13 +**Getestet mit:** Aspose.Tasks für .NET (neueste Version) +**Autor:** Aspose -A5: Ja, Sie können benutzerdefinierte Arbeitszeiten für einzelne Ausnahmetermine definieren, indem Sie die entsprechenden Methoden von Aspose.Tasks verwenden. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/german/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/german/net/calendar-scheduling/child-tasks-collector/_index.md index 34470432f..98a9e231a 100644 --- a/tasks/german/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/german/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Sammeln von untergeordneten Aufgaben in Aspose.Tasks -linktitle: Sammeln von untergeordneten Aufgaben in Aspose.Tasks -second_title: Aspose.Tasks .NET-API -description: Erfahren Sie, wie Sie untergeordnete Aufgaben mit Aspose.Tasks für .NET effizient sammeln. Verbessern Sie das Projektmanagement in Ihren .NET-Anwendungen. -weight: 15 +date: 2026-04-13 +description: Erfahren Sie, wie Sie mit Aspose.Tasks für .NET einen Sammler für Unteraufgaben + erstellen. Verbessern Sie das Projektmanagement in Ihren .NET-Anwendungen. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Child Tasks Collector in Aspose.Tasks erstellen +second_title: Aspose.Tasks .NET API +title: Wie man einen Sammler für Unteraufgaben in Aspose.Tasks erstellt url: /de/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Sammeln von untergeordneten Aufgaben in Aspose.Tasks +# Child Tasks Collector in Aspose.Tasks erstellen ## Einführung -Im Bereich Projektmanagement zeichnet sich Aspose.Tasks für .NET als robuste Lösung für die effiziente Abwicklung von Aufgaben und Projekten aus. Diese leistungsstarke Bibliothek stellt Entwicklern die Tools zur Verfügung, die sie benötigen, um Aufgaben, Projekte und alles dazwischen nahtlos zu verwalten. In diesem Tutorial befassen wir uns mit einem bestimmten Aspekt von Aspose.Tasks: dem Sammeln untergeordneter Aufgaben. +Wenn Sie einen **Child Tasks Collector** für eine Microsoft Project‑Datei erstellen müssen, macht Aspose.Tasks für .NET das unkompliziert. In diesem Tutorial führen wir Sie Schritt für Schritt durch die erforderlichen Vorgänge, um jeden Unterauftrag eines übergeordneten Auftrags zu sammeln, sodass Sie sie sicher verarbeiten, analysieren oder exportieren können. Am Ende der Anleitung verfügen Sie über ein wiederverwendbares Snippet, das sich nahtlos in jede .NET‑basierte Projekt‑Management‑Lösung einfügt. + +## Schnelle Antworten +- **Was macht der ChildTasksCollector?** Er durchläuft eine Aufgabenhierarchie und sammelt alle Nachfolger‑Aufgaben in einer Sammlung. +- **Welche Bibliothek stellt diese Funktion bereit?** Aspose.Tasks für .NET. +- **Benötige ich eine Lizenz, um das Beispiel auszuführen?** Eine kostenlose Testversion reicht für die Evaluierung; für den Produktionseinsatz ist eine Lizenz erforderlich. +- **Welche .NET‑Versionen werden unterstützt?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Wie lange dauert die Implementierung?** Ungefähr 5‑10 Minuten, sobald die Bibliothek installiert ist. + +## Was ist ein Child Tasks Collector? + +Ein **Child Tasks Collector** ist ein Dienstobjekt, das den Aufgabenbaum einer Project‑Datei durchläuft, beginnend bei einer angegebenen Wurzelaufgabe, und jede gefundene Unteraufgabe (Sub‑Task) aggregiert. Das ist besonders nützlich, wenn Sie Massenoperationen – wie das Aktualisieren von Feldern, Exportieren von Daten oder Erzeugen von Berichten – durchführen möchten, ohne manuell jede Ebene der Hierarchie zu iterieren. + +## Warum einen Child Tasks Collector erstellen? + +- **Rekursion vereinfachen:** Der Collector übernimmt die Tiefensuche intern, sodass Sie keine eigenen rekursiven Schleifen schreiben müssen. +- **Produktivität steigern:** Alle Nachfolger‑Aufgaben werden in einer einzigen Sammlung bereitgestellt, was Massenbearbeitungen oder Analysen trivial macht. +- **Sauberen Code beibehalten:** Ihre Geschäftslogik bleibt von der low‑level Navigation der Projektstruktur getrennt. ## Voraussetzungen -Bevor wir beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind: +Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben: -1. Grundlegendes Verständnis von C#: Vertrautheit mit der Programmiersprache C# ist unerlässlich. -2. Installation von Aspose.Tasks für .NET: Laden Sie die Aspose.Tasks für .NET-Bibliothek von herunter und installieren Sie sie[Download-Link](https://releases.aspose.com/tasks/net/). -3. Entwicklungsumgebung: Richten Sie eine Entwicklungsumgebung wie Visual Studio ein, um C#-Code zu schreiben und auszuführen. -4. Zugriff auf Dokumentation: Bewahren Sie die auf[Aspose.Tasks für .NET-Dokumentation](https://reference.aspose.com/tasks/net/) praktisch als Referenz. +1. **Grundlegendes Verständnis von C#** – Sie sollten sich damit wohlfühlen, einfache Konsolenanwendungen zu schreiben und auszuführen. +2. **Aspose.Tasks für .NET installiert** – laden Sie es über den [download link](https://releases.aspose.com/tasks/net/). +3. **Eine Entwicklungsumgebung** – Visual Studio, Rider oder jede IDE, die C# unterstützt. +4. **Zugang zu den offiziellen Dokumenten** – halten Sie die [Aspose.Tasks für .NET documentation](https://reference.aspose.com/tasks/net/) in der Nähe für Referenz. -Nachdem wir nun die Voraussetzungen erfüllt haben, tauchen wir in die Schritt-für-Schritt-Anleitung zum Sammeln untergeordneter Aufgaben mit Aspose.Tasks für .NET ein. +Jetzt, da die Grundlagen geschaffen sind, tauchen wir in den Code ein. ## Namespaces importieren -Importieren Sie zunächst die erforderlichen Namespaces in Ihren C#-Code, um auf die von Aspose.Tasks für .NET bereitgestellten Funktionen zuzugreifen. +Zuerst bringen wir die benötigten Namespaces in den Gültigkeitsbereich, damit der Compiler weiß, wo er die Klassen findet, die wir verwenden werden. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Lassen Sie uns nun das bereitgestellte Beispiel in mehrere Schritte unterteilen, um den Prozess gründlich zu verstehen. +## Schritt-für-Schritt-Anleitung -## Schritt 1: Projektobjekt initialisieren +### Schritt 1: Das Project‑Objekt initialisieren ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Diese Codezeile initialisiert eine neue`Project` Objekt, das eine Projektdatei mit dem Namen „ParentChildTasks.mpp“ aus dem angegebenen Verzeichnis lädt. +Diese Zeile lädt eine vorhandene Microsoft Project‑Datei (`ParentChildTasks.mpp`) aus dem Ordner `DataDir` in ein `Project`‑Objekt und gibt uns programmgesteuerten Zugriff auf deren Aufgaben. -## Schritt 2: Erstellen Sie ein ChildTasksCollector-Objekt +### Schritt 2: Eine ChildTasksCollector‑Instanz erstellen ```csharp var collector = new ChildTasksCollector(); ``` - Hier erstellen wir ein neues`ChildTasksCollector` Objekt, das uns hilft, untergeordnete Aufgaben aus dem Projekt zu sammeln. +Hier **erstellen wir einen Child Tasks Collector** – eine Instanz von `ChildTasksCollector`, die jede gefundene Unteraufgabe speichert. -## Schritt 3: Collector auf Root-Task anwenden +### Schritt 3: Den Collector auf die Root‑Aufgabe anwenden ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Wir wenden das an`ChildTasksCollector` zur Stammaufgabe des Projekts und initiiert den Erfassungsprozess rekursiv. +Wir weisen Aspose.Tasks an, die Sammlung bei der Root‑Aufgabe des Projekts zu starten. Die Methode `Apply` durchläuft die Hierarchie rekursiv und füllt `collector.Tasks` mit allen Nachfolger‑Aufgaben. -## Schritt 4: Durchlaufen Sie die gesammelten Aufgaben +### Schritt 4: Durch die gesammelten Aufgaben iterieren ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Schließlich durchlaufen wir die gesammelten Aufgaben und geben ihre Namen auf der Konsole aus. - -## Abschluss +Abschließend durchlaufen wir die gesammelten Aufgaben und geben den Namen jeder Aufgabe in der Konsole aus. In einem realen Szenario könnten Sie `Console.WriteLine` durch jede gewünschte benutzerdefinierte Verarbeitung ersetzen (z. B. Export nach CSV, Feld‑Updates usw.). -In diesem Tutorial haben wir untersucht, wie man untergeordnete Aufgaben mit Aspose.Tasks für .NET sammelt. Indem Sie die oben beschriebenen Schritte befolgen, können Sie Aufgaben innerhalb Ihrer Projekte effizient verwalten und manipulieren und so die Produktivität und Organisation verbessern. +## Häufige Probleme und Lösungen -## FAQs +| Problem | Grund | Lösung | +|---------|-------|--------| +| **Keine Aufgaben werden zurückgegeben** | Der Collector wurde auf die falsche Aufgabe angewendet (z. B. ein Blattknoten). | Wenden Sie `TaskUtils.Apply` auf `project.RootTask` oder den gewünschten übergeordneten Auftrag an. | +| **NullReferenceException** | `DataDir` oder der Dateipfad ist falsch. | Stellen Sie sicher, dass `DataDir` auf den Ordner zeigt, der `ParentChildTasks.mpp` enthält. | +| **Lizenz nicht gesetzt** | Aspose.Tasks gibt im Testmodus eine Lizenzwarnung aus. | Laden Sie Ihre Lizenz mit `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` bevor Sie das `Project`‑Objekt erstellen. | -### F1: Ist Aspose.Tasks für .NET mit allen Versionen von .NET kompatibel? +## Häufig gestellte Fragen -A1: Ja, Aspose.Tasks für .NET ist mit verschiedenen Versionen des .NET-Frameworks kompatibel und gewährleistet so eine umfassende Kompatibilität. +**F: Ist Aspose.Tasks für .NET mit allen .NET‑Versionen kompatibel?** +**A:** Ja, Aspose.Tasks für .NET funktioniert mit .NET Framework 4.5+, .NET Core 3.1+ und .NET 5/6+. -### F2: Kann ich Aspose.Tasks für .NET verwenden, um neue Projektdateien zu erstellen? +**F: Kann ich mit Aspose.Tasks für .NET neue Projektdateien erstellen?** +**A:** Absolut! Die Bibliothek ermöglicht das programmgesteuerte Erstellen, Lesen und Manipulieren von Projektdateien. -A2: Auf jeden Fall! Aspose.Tasks für .NET bietet Funktionen zum mühelosen Erstellen, Lesen und Bearbeiten von Projektdateien. +**F: Unterstützt Aspose.Tasks für .NET mehrere Plattformen?** +**A:** Obwohl es für .NET konzipiert ist, können Sie es auf jeder Plattform ausführen, die die .NET‑Laufzeit unterstützt, einschließlich Windows, Linux und macOS. -### F3: Unterstützt Aspose.Tasks für .NET mehrere Plattformen? +**F: Gibt es technischen Support für Aspose.Tasks für .NET?** +**A:** Ja, Sie erhalten Hilfe über das [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -A3: Obwohl Aspose.Tasks für .NET hauptsächlich für .NET-Umgebungen entwickelt wurde, kann es auf verschiedenen Plattformen verwendet werden, die die .NET-Entwicklung unterstützen. +**F: Kann ich Aspose.Tasks für .NET vor dem Kauf testen?** +**A:** Selbstverständlich! Eine kostenlose Testversion steht auf der [release page](https://releases.aspose.com/) zur Verfügung. -### F4: Ist technischer Support für Aspose.Tasks für .NET verfügbar? - -A4: Ja, Benutzer können über das auf technischen Support zugreifen[Aspose.Tasks-Forum](https://forum.aspose.com/c/tasks/15). +--- -### F5: Kann ich Aspose.Tasks für .NET vor dem Kauf testen? +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks 24.11 for .NET +**Author:** Aspose - A5: Auf jeden Fall! Sie können eine kostenlose Testversion von der nutzen[Release-Seite](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/greek/net/calendar-scheduling/calendar-collection/_index.md b/tasks/greek/net/calendar-scheduling/calendar-collection/_index.md index 074f2cc19..c6bef73f2 100644 --- a/tasks/greek/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/greek/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Διαχείριση της συλλογής ημερολογίου στο Aspose.Tasks -linktitle: Διαχείριση της συλλογής ημερολογίου στο Aspose.Tasks +date: 2026-04-13 +description: Μάθετε πώς να ορίζετε τις ώρες εργασίας και να διαχειρίζεστε συλλογές + ημερολογίων στο Aspose.Tasks για .NET. Εισάγετε ημερολόγια του Microsoft Project, + αφαιρέστε το ημερολόγιο του έργου και ανακτήστε το ημερολόγιο με το όνομα εύκολα. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Διαχείριση Συλλογής Ημερολογίων στο Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Μάθετε πώς να διαχειρίζεστε αποτελεσματικά τις συλλογές ημερολογίων στο Aspose.Tasks για .NET. Δημιουργήστε, τροποποιήστε και χειριστείτε ημερολόγια με ευκολία. -weight: 11 +title: Ορισμός ωρών εργασίας στη συλλογή ημερολογίων Aspose.Tasks url: /el/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Διαχείριση της συλλογής ημερολογίου στο Aspose.Tasks +# Ορισμός ωρών εργασίας στη συλλογή ημερολογίων Aspose.Tasks -## Εισαγωγή +Σε αυτό το σεμινάριο, θα μάθετε πώς να **ορίσετε ώρες εργασίας** και να διαχειριστείτε τις συλλογές ημερολογίων χρησιμοποιώντας το Aspose.Tasks για .NET. Τα ημερολόγια ορίζουν τις εργάσιμες ημέρες, τις αργίες και τις εξαιρέσεις, έτσι η εξοικείωση με αυτά σας επιτρέπει να ελέγχετε με ακρίβεια τα χρονοδιαγράμματα των έργων. Θα σας δείξουμε επίσης πώς να εισάγετε ημερολόγια από το Microsoft Project, να αφαιρέσετε ένα ημερολόγιο από ένα έργο και να λάβετε ένα ημερολόγιο με βάση το όνομα. -Σε αυτό το σεμινάριο, θα εξερευνήσουμε τον τρόπο διαχείρισης συλλογών ημερολογίου στο Aspose.Tasks για .NET. Τα ημερολόγια διαδραματίζουν κρίσιμο ρόλο στη διαχείριση έργων, καθορίζοντας εργάσιμες ημέρες, αργίες και εξαιρέσεις. Το Aspose.Tasks παρέχει ισχυρή λειτουργικότητα για τον χειρισμό ημερολογίων στα έργα σας. +## Γρήγορες Απαντήσεις +- **Ποια είναι η κύρια κλάση για τα ημερολόγια;** `Project.Calendars` collection. +- **Πώς ορίζω ώρες εργασίας;** Δημιουργήστε ή τροποποιήστε ένα αντικείμενο `Calendar` και ορίστε το `WorkingTime` του. +- **Μπορώ να εισάγω ημερολόγια από το Microsoft Project;** Ναι – φορτώστε ένα αρχείο MPP και αποκτήστε πρόσβαση στα ημερολόγια του. +- **Πώς να αφαιρέσετε ένα ημερολόγιο από ένα έργο;** Χρησιμοποιήστε `Project.Calendars.Remove(calendar)`. +- **Πώς να ανακτήσετε ένα ημερολόγιο με βάση το όνομα;** Καλέστε `Project.Calendars.GetByName("YourCalendar")`. ## Προαπαιτούμενα Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τα εξής: -1. Visual Studio: Εγκαταστήστε το Visual Studio ή οποιοδήποτε άλλο συμβατό IDE για ανάπτυξη .NET. -2. Aspose.Tasks για .NET: Κατεβάστε και εγκαταστήστε το Aspose.Tasks για .NET από[εδώ](https://releases.aspose.com/tasks/net/). +1. Visual Studio: Εγκαταστήστε το Visual Studio ή οποιοδήποτε άλλο συμβατό IDE για ανάπτυξη .NET. +2. Aspose.Tasks for .NET: Κατεβάστε και εγκαταστήστε το Aspose.Tasks for .NET από [here](https://releases.aspose.com/tasks/net/). 3. Βασική κατανόηση της C#: Η εξοικείωση με τη γλώσσα προγραμματισμού C# θα είναι επωφελής. -## Εισαγωγή χώρων ονομάτων +## Εισαγωγή ονομάτων χώρων (Namespaces) -Αρχικά, ας εισαγάγουμε τους απαραίτητους χώρους ονομάτων για εργασία με το Aspose.Tasks: +Αρχικά, ας εισάγουμε τους απαραίτητους χώρους ονομάτων για να εργαστούμε με το Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,24 +48,26 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## Δημιουργία Νέου Ημερολογίου +## Δημιουργία νέου ημερολογίου + +### Βήμα 1: Αρχικοποίηση ενός νέου αντικειμένου `Project`. -### Βήμα 1: Αρχικοποιήστε ένα νέο`Project` object. ```csharp var project = new Project(); ``` -### Βήμα 2: Προσθέστε ημερολόγια στη συλλογή ημερολογίων του έργου. +### Βήμα 2: Προσθήκη ημερολογίων στη συλλογή ημερολογίων του έργου. + ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Βήμα 3: Επαναλάβετε τα ημερολόγια και εμφανίστε τα ονόματά τους. +### Βήμα 3: Επανάληψη μέσω των ημερολογίων και εμφάνιση των ονομάτων τους. + ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +75,23 @@ foreach (var calendar in project.Calendars) } ``` -## Αντικατάσταση ημερολογίου με νέο ημερολόγιο +## Πώς να ορίσετε ώρες εργασίας για ένα ημερολόγιο; + +Για να **ορίσετε ώρες εργασίας**, τροποποιείτε τη συλλογή `WorkingTime` ενός `Calendar`. +Για παράδειγμα, μπορείτε να ορίσετε μια τυπική εργάσιμη ημέρα 9 π.μ.–5 μ.μ. ή να προσθέσετε προσαρμοσμένες εξαιρέσεις. +Ο κώδικας για αυτό είναι ίδιος με τα παραδείγματα που εμφανίζονται αργότερα όταν δημιουργούμε ένα τυπικό ημερολόγιο. + +## Αντικατάσταση ενός ημερολογίου με νέο ημερολόγιο + +### Βήμα 1: Φόρτωση υπάρχοντος έργου. -### Βήμα 1: Φορτώστε ένα υπάρχον έργο. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Βήμα 2: Καταργήστε το υπάρχον ημερολόγιο (αν υπάρχει). +### Βήμα 2: Αφαίρεση του υπάρχοντος ημερολογίου (αν υπάρχει). +Αυτό δείχνει το σενάριο **αφαίρεσης ημερολογίου από το έργο**. + ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,45 +100,53 @@ if (calendar != null) } ``` -### Βήμα 3: Προσθέστε ένα νέο ημερολόγιο. +### Βήμα 3: Προσθήκη νέου ημερολογίου. + ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Λήψη ημερολογίου με όνομα ή αναγνωριστικό +## Λήψη ημερολογίου με βάση το όνομα ή το ID + +### Βήμα 1: Φόρτωση του έργου. -### Βήμα 1: Φορτώστε το έργο. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Βήμα 2: Ανάκτηση ημερολογίων με όνομα ή UID. +### Βήμα 2: Ανάκτηση ημερολογίων με βάση το όνομα ή το UID. +Αυτό απεικονίζει τη λειτουργία **λήψης ημερολογίου με όνομα**. + ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` ### Βήμα 3: Εμφάνιση λεπτομερειών ημερολογίου. + ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Επανάληψη πάνω από ημερολόγια +## Επανάληψη μέσω των ημερολογίων + +### Βήμα 1: Φόρτωση του έργου. -### Βήμα 1: Φορτώστε το έργο. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Βήμα 2: Ανακτήστε το πλήθος των ημερολογίων. +### Βήμα 2: Ανάκτηση του αριθμού των ημερολογίων. + ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Βήμα 3: Επαναλάβετε τη συλλογή ημερολογίου και τα εμφανιζόμενα ονόματα. +### Βήμα 3: Επανάληψη στη συλλογή ημερολογίων και εμφάνιση των ονομάτων. + ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,50 +157,79 @@ foreach (var calendar in calendars) ## Δημιουργία τυπικού ημερολογίου -### Βήμα 1: Αρχικοποιήστε ένα νέο έργο. +### Βήμα 1: Αρχικοποίηση νέου έργου. + ```csharp var project = new Project(); ``` -### Βήμα 2: Ορίστε ένα νέο ημερολόγιο και κάντε το τυπικό. +### Βήμα 2: Ορισμός νέου ημερολογίου και καθιστώντας το τυπικό. + ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Βήμα 3: Αποθηκεύστε το έργο. +### Βήμα 3: Αποθήκευση του έργου. + ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## συμπέρασμα +## Συχνά Προβλήματα και Λύσεις -Η διαχείριση συλλογών ημερολογίων στο Aspose.Tasks για .NET είναι απαραίτητη για την αποτελεσματική διαχείριση έργου. Με τις παρεχόμενες λειτουργίες, μπορείτε να δημιουργήσετε, να τροποποιήσετε και να χειριστείτε αποτελεσματικά ημερολόγια σύμφωνα με τις απαιτήσεις του έργου σας. +- **Το ημερολόγιο δεν βρέθηκε κατά τη χρήση του `GetByName`** – Βεβαιωθείτε ότι το ακριβές όνομα ταιριάζει με την περίπτωση που χρησιμοποιήθηκε όταν προστέθηκε το ημερολόγιο. +- **Οι ώρες εργασίας δεν εφαρμόζονται** – Μετά τον ορισμό του `WorkingTime`, θυμηθείτε να αποθηκεύσετε το έργο· διαφορετικά οι αλλαγές παραμένουν μόνο στη μνήμη. +- **Η εισαγωγή ημερολογίων από αρχείο MPP αποτυγχάνει** – Επαληθεύστε ότι το αρχείο προέλευσης είναι έγκυρο αρχείο Microsoft Project και ότι έχετε δικαιώματα ανάγνωσης. -## Συχνές ερωτήσεις +## Συχνές Ερωτήσεις ### Ε1: Μπορώ να δημιουργήσω προσαρμοσμένες εργάσιμες ημέρες στο Aspose.Tasks; -A1: Ναι, μπορείτε να δημιουργήσετε προσαρμοσμένες εργάσιμες ημέρες προσθέτοντας εξαιρέσεις στα ημερολόγια. +Α1: Ναι, μπορείτε να δημιουργήσετε προσαρμοσμένες εργάσιμες ημέρες προσθέτοντας εξαιρέσεις στα ημερολόγια. -### Ε2: Είναι δυνατή η εισαγωγή ημερολογίων από αρχεία Microsoft Project; +### Ε2: Είναι δυνατόν να εισάγετε ημερολόγια από αρχεία Microsoft Project; -A2: Απολύτως, το Aspose.Tasks υποστηρίζει την εισαγωγή ημερολογίων από αρχεία Microsoft Project. +Α2: Απόλυτα, το Aspose.Tasks υποστηρίζει την εισαγωγή ημερολογίων από αρχεία Microsoft Project. ### Ε3: Πώς μπορώ να αφαιρέσω ένα συγκεκριμένο ημερολόγιο από ένα έργο; - A3: Μπορείτε να αφαιρέσετε ένα ημερολόγιο παίρνοντας το από τη συλλογή και, στη συνέχεια, καλώντας το`Remove` μέθοδος. +Α3: Μπορείτε να αφαιρέσετε ένα ημερολόγιο λαμβάνοντάς το από τη συλλογή και στη συνέχεια καλώντας τη μέθοδο `Remove`. ### Ε4: Το Aspose.Tasks υποστηρίζει την εξαγωγή ημερολογίων σε διαφορετικές μορφές; -A4: Ναι, το Aspose.Tasks επιτρέπει την εξαγωγή ημερολογίων σε διάφορες μορφές όπως XML, MPP κ.λπ. +Α4: Ναι, το Aspose.Tasks επιτρέπει την εξαγωγή ημερολογίων σε διάφορες μορφές όπως XML, MPP κ.λπ. ### Ε5: Μπορώ να προσαρμόσω τις ώρες εργασίας για συγκεκριμένες ημέρες σε ένα ημερολόγιο; -A5: Σίγουρα, μπορείτε να ορίσετε τις ώρες εργασίας για μεμονωμένες ημέρες χρησιμοποιώντας εξαιρέσεις στο ημερολόγιο. +Α5: Φυσικά, μπορείτε να ορίσετε ώρες εργασίας για μεμονωμένες ημέρες χρησιμοποιώντας εξαιρέσεις στο ημερολόγιο. + +## Συχνές Ερωτήσεις + +**Ε: Ποιος είναι ο καλύτερος τρόπος για να ορίσετε ημερολόγιο βάρδιας 24 ωρών;** +Α: Δημιουργήστε ένα νέο ημερολόγιο, καθαρίστε τις υπάρχουσες καταχωρήσεις `WorkingTime` και προσθέστε ένα ενιαίο εύρος `WorkingTime` από 00:00 έως 24:00 για κάθε εργάσιμη ημέρα. + +**Ε: Μπορώ να αντιγράψω ένα ημερολόγιο από ένα έργο σε άλλο;** +Α: Ναι—εξάγετε το ημερολόγιο σε XML χρησιμοποιώντας το `project.Save` και στη συνέχεια εισάγετε το σε άλλο έργο με `new Project(xmlPath)`. + +**Ε: Πώς μπορώ προγραμματιστικά να εισάγω ημερολόγια από το Microsoft Project;** +Α: Φορτώστε το αρχείο MPP με `new Project("source.mpp")`; τα ημερολόγια γίνονται διαθέσιμα μέσω του `project.Calendars`. + +**Ε: Υπάρχει όριο στον αριθμό των ημερολογίων σε ένα έργο;** +Α: Στην πράξη όχι· η συλλογή μπορεί να περιέχει όσα ημερολόγια επιτρέπει η μνήμη, αλλά διατηρήστε τη λίστα διαχειρίσιμη για απόδοση. + +**Ε: Οι αλλαγές σε ένα ημερολόγιο ενημερώνουν αυτόματα τις εργασίες που το χρησιμοποιούν;** +Α: Ναι—οι εργασίες που συνδέονται με ένα ημερολόγιο αντικατοπτρίζουν τις ενημερωμένες ώρες εργασίας μετά την αποθήκευση του έργου. + +--- + +**Τελευταία ενημέρωση:** 2026-04-13 +**Δοκιμή με:** Aspose.Tasks 24.11 for .NET +**Συγγραφέας:** Aspose + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/greek/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/greek/net/calendar-scheduling/calendar-exceptions/_index.md index e6b74f4ec..5824fb320 100644 --- a/tasks/greek/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/greek/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,64 @@ --- -title: Χειρισμός εξαιρέσεων ημερολογίου στο Aspose.Tasks -linktitle: Χειρισμός εξαιρέσεων ημερολογίου στο Aspose.Tasks +date: 2026-04-13 +description: Μάθετε πώς να διαγράψετε μια εξαίρεση ημερολογίου στο Aspose.Tasks για + .NET και να ελέγξετε την ημερομηνία εξαίρεσης κατά τη διαχείριση του προγραμματισμού + ημερολογίου ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Διαγραφή Εξαίρεσης Ημερολογίου με το Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Μάθετε πώς να διαχειρίζεστε τις εξαιρέσεις ημερολογίου στο Aspose.Tasks για .NET με οδηγίες βήμα προς βήμα και παραδείγματα. -weight: 12 +title: Διαγραφή Εξαίρεσης Ημερολογίου με Aspose.Tasks url: /el/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Χειρισμός εξαιρέσεων ημερολογίου στο Aspose.Tasks +# Διαγραφή Εξαίρεσης Ημερολογίου με Aspose.Tasks ## Εισαγωγή -Σε αυτό το σεμινάριο, θα εξερευνήσουμε τον τρόπο διαχείρισης εξαιρέσεων ημερολογίου στο Aspose.Tasks χρησιμοποιώντας το πλαίσιο .NET. Οι εξαιρέσεις ημερολογίου μας επιτρέπουν να ορίζουμε ειδικές ημερομηνίες ή περιόδους σε ένα ημερολόγιο έργου όπου το κανονικό πρόγραμμα εργασίας αλλάζει, όπως αργίες ή προσωρινά κλεισίματα. Θα καλύψουμε διάφορες μεθόδους για τον χειρισμό εξαιρέσεων ημερολογίου βήμα προς βήμα, χρησιμοποιώντας το Aspose.Tasks για .NET. +Σε αυτό το εκπαιδευτικό σεμινάριο, θα μάθετε πώς να **διαγράψετε εξαίρεση ημερολογίου** και να διαχειριστείτε άλλες εξαιρέσεις ημερολογίου στο Aspose.Tasks χρησιμοποιώντας το .NET framework. Οι εξαιρέσεις ημερολογίου σας επιτρέπουν να μοντελοποιήσετε αργίες, προσωρινές κλεισίματα ή οποιεσδήποτε ειδικές περιόδους όπου το κανονικό πρόγραμμα εργασίας αλλάζει. Η κατανόηση του πώς να προσθέτετε, να ερωτάτε και να αφαιρείτε αυτές τις εξαιρέσεις είναι ουσιώδης για ακριβή προγραμματισμό έργων, ειδικά όταν εργάζεστε με σενάρια **προγραμματισμού ημερολογίου ASP.NET**. + +## Γρήγορες Απαντήσεις +- **Ποια είναι η κύρια μέθοδος για την αφαίρεση μιας εξαίρεσης;** Χρησιμοποιήστε τη μέθοδο `Delete()` στο αντικείμενο `CalendarException`. +- **Ποια κλάση ελέγχει μια ημερομηνία έναντι μιας εξαίρεσης;** `CalendarException.CheckException()`—χρήσιμο για **έλεγχο ημερομηνίας εξαίρεσης**. +- **Χρειάζομαι άδεια για να εκτελέσω τον κώδικα;** Ναι, απαιτείται έγκυρη άδεια Aspose.Tasks για χρήση σε παραγωγή. +- **Μπορώ να προσθέσω πολλαπλές εξαιρέσεις σε ένα ημερολόγιο;** Απόλυτα· η συλλογή `Exceptions` υποστηρίζει πολλές καταχωρήσεις. +- **Υποστηριζόμενες εκδόσεις .NET;** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Τι είναι μια Εξαίρεση Ημερολογίου; + +Μια **εξαίρεση ημερολογίου** αντιπροσωπεύει μια απόκλιση από το κανονικό ημερολόγιο εργασίας—σκεφτείτε το ως έναν κανόνα που λέει «στις συγκεκριμένες ημερομηνίες, οι ώρες εργασίας είναι διαφορετικές ή δεν υπάρχει καθόλου». Στο Aspose.Tasks, κάθε εξαίρεση μπορεί να έχει τις δικές της ώρες εργασίας, μοτίβο επανάληψης και σημαίες που υποδεικνύουν αν η ημέρα είναι εργάσιμη. + +## Γιατί να Διαχειρίζεστε τις Εξαιρέσεις Ημερολογίου στον Προγραμματισμό Ημερολογίου ASP.NET; + +- **Ακριβείς χρονοδιαγράμματα:** Τα έργα σέβονται αυτόματα τις αργίες και τις ειδικές κλεισίματα, αποτρέποντας μη ρεαλιστικές προθεσμίες. +- **Ευελιξία:** Μπορείτε να ορίσετε ημερήσια, εβδομαδιαία, μηνιαία ή ετήσια μοτίβα, ταιριάζοντας με πραγματικά επιχειρηματικά ημερολόγια. +- **Αυτοματοποίηση:** Ο προγραμματιστικός έλεγχος μιας ημερομηνίας εξαίρεσης σας επιτρέπει να δημιουργήσετε δυναμική λογική προγραμματισμού σε εφαρμογές ASP.NET. ## Προαπαιτούμενα -Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τις ακόλουθες προϋποθέσεις: -- Βασικές γνώσεις γλώσσας προγραμματισμού C#. -- Το Visual Studio είναι εγκατεστημένο στο σύστημά σας. -- Η βιβλιοθήκη Aspose.Tasks για .NET προστέθηκε στο έργο σας. +- Βασικές γνώσεις προγραμματισμού C#. +- Visual Studio (οποιαδήποτε πρόσφατη έκδοση). +- Βιβλιοθήκη Aspose.Tasks για .NET προστιθέμενη στο έργο σας (μέσω NuGet ή χειροκίνητης αναφοράς). -## Εισαγωγή χώρων ονομάτων +## Εισαγωγή Χώρων Ονομάτων -Αρχικά, ας εισάγουμε τους απαραίτητους χώρους ονομάτων για το έργο μας: +Πρώτα, εισάγετε τους χώρους ονομάτων που θα χρειαστείτε: ```csharp using Aspose.Tasks; using System; - - ``` -## Βήμα 1: Διαγραφή εξαίρεσης ημερολογίου +## Βήμα 1: Διαγραφή Εξαίρεσης Ημερολογίου -Για να διαγράψετε μια εξαίρεση ημερολογίου, ακολουθήστε τα εξής βήματα: +Η αφαίρεση μιας ανεπιθύμητης εξαίρεσης είναι απλή. Ο παρακάτω κώδικας φορτώνει ένα έργο, επιλέγει το πρώτο ημερολόγιο, εμφανίζει βασικές πληροφορίες, διαγράφει την πρώτη εξαίρεση και στη συνέχεια δείχνει το ενημερωμένο πλήθος. ```csharp public void CalendarExceptionDelete() @@ -45,20 +66,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Εμφάνιση πληροφοριών ημερολογίου + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Καταργήστε την πρώτη εξαίρεση + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Βήμα 2: Λήψη χρόνου εργασίας μιας εξαίρεσης ημερολογίου +> **Συμβουλή:** Πάντα να επαληθεύετε ότι ο δείκτης της εξαίρεσης υπάρχει πριν καλέσετε `Delete()` για να αποφύγετε το `IndexOutOfRangeException`. -Για να ανακτήσετε τον χρόνο εργασίας μιας εξαίρεσης ημερολογίου, ακολουθήστε τα εξής βήματα: +## Βήμα 2: Λήψη Χρόνου Εργασίας μιας Εξαίρεσης Ημερολογίου + +Αν χρειάζεστε να εξετάσετε τις ώρες εργασίας που ορίζονται για μια εξαίρεση, χρησιμοποιήστε το `GetWorkingTime()`. Αυτό το παράδειγμα δείχνει επίσης πώς να **ελέγξετε ημερομηνία εξαίρεσης** με το `CheckException`. ```csharp [Test] @@ -68,12 +91,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Εμφάνιση πληροφοριών ημερολογίου και εξαιρέσεων + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Λάβετε τον χρόνο εργασίας και δείτε λεπτομέρειες + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +108,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Βήμα 3: Καθορισμός εξαιρέσεων ημερολογίου +## Βήμα 3: Ορισμός Εξαίρεσεων Ημερολογίου -Για να προσθέσετε ή να αφαιρέσετε εξαιρέσεις ημερολογίου, ακολουθήστε τα εξής βήματα: +Παρακάτω υπάρχει ένας πλήρης οδηγός που δείχνει πώς να **προσθέσετε**, **ελέγξετε** και **αφαιρέσετε** εξαιρέσεις ημερολογίου. Παρατηρήστε τη χρήση του `CheckException` για **έλεγχο ημερομηνίας εξαίρεσης** για μια συγκεκριμένη στιγμή. ```csharp [Test] @@ -96,10 +119,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Δημιουργήστε μια νέα εξαίρεση ημερολογίου + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Ορισμός λεπτομερειών εξαίρεσης + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +130,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Ελέγξτε εάν μια ημερομηνία αποτελεί εξαίρεση + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Προσθέστε την εξαίρεση στο ημερολόγιο + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Καταργήστε μια εξαίρεση εάν υπάρχει + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +144,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Προσθέστε μια νέα εξαίρεση + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Εξαιρέσεις εκτύπωσης + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +160,44 @@ public void DefineCalendarExceptions() } ``` -## συμπέρασμα +## Κοινά Προβλήματα & Συμβουλές -Σε αυτό το άρθρο, καλύψαμε διάφορες πτυχές του χειρισμού εξαιρέσεων ημερολογίου στο Aspose.Tasks για .NET. Ακολουθώντας τα παρεχόμενα βήματα, μπορείτε να διαχειριστείτε αποτελεσματικά τις εξαιρέσεις στα χρονοδιαγράμματα του έργου σας, διασφαλίζοντας την ακριβή αναπαράσταση των ωρών εργασίας και των ειδικών εκδηλώσεων. +| Πρόβλημα | Αιτία | Λύση | +|-------|--------|----------| +| **`IndexOutOfRangeException` κατά τη διαγραφή** | Προσπάθεια διαγραφής μιας εξαίρεσης που δεν υπάρχει. | Επαληθεύστε ότι `calendar.Exceptions.Count` > δείκτης πριν καλέσετε `Delete()`. | +| **Λανθασμένες ώρες εργασίας** | Δεν ορίζονται σωστά τα `DayWorking` ή `WorkingTimes`. | Χρησιμοποιήστε `exception.WorkingTimes.Add(new WorkingTime(...))` για να ορίσετε ρητές περιόδους. | +| **Η εξαίρεση δεν αναγνωρίζεται** | `CheckException` επιστρέφει `false` επειδή η ημερομηνία βρίσκεται εκτός του ορισμένου εύρους. | Ελέγξτε ξανά τα `FromDate`/`ToDate` και το `Type` (Daily, Weekly, κλπ.). | -## Συχνές ερωτήσεις +## Συχνές Ερωτήσεις -### Ε1: Μπορώ να προσθέσω πολλές εξαιρέσεις σε ένα μόνο ημερολόγιο; +**Q: Μπορώ να προσθέσω πολλαπλές εξαιρέσεις σε ένα μόνο ημερολόγιο;** +A: Ναι, μπορείτε να προσθέσετε όσες εξαιρέσεις χρειάζεστε για να αντιπροσωπεύσετε αργίες, περιόδους συντήρησης ή οποιονδήποτε ειδικό κανόνα προγραμματισμού. -A1: Ναι, μπορείτε να προσθέσετε πολλές εξαιρέσεις σε ένα ημερολόγιο για να χωρέσουν διάφορες ειδικές ημερομηνίες ή περιόδους. +**Q: Πώς να **έλεγχο ημερομηνίας εξαίρεσης** για μια συγκεκριμένη ημέρα;** +A: Χρησιμοποιήστε τη μέθοδο `CheckException(DateTime date)` σε μια παρουσία `CalendarException`. Επιστρέφει `true` εάν η δοθείσα ημερομηνία βρίσκεται εντός του εύρους της εξαίρεσης. -### Ε2: Πώς μπορώ να ελέγξω εάν μια συγκεκριμένη ημερομηνία αποτελεί εξαίρεση; +**Q: Είναι δυνατόν να αφαιρέσετε μια υπάρχουσα εξαίρεση από ένα ημερολόγιο;** +A: Απόλυτα. Πρόσβαση στη συλλογή `Exceptions` και κλήση του `Remove()` ή εκτέλεση του `Delete()` στο συγκεκριμένο αντικείμενο `CalendarException`. - A2: Μπορείτε να χρησιμοποιήσετε το`CheckException()` μέθοδος επαλήθευσης εάν μια συγκεκριμένη ημερομηνία εμπίπτει σε εξαίρεση. +**Q: Ποιοι τύποι εξαιρέσεων ημερολογίου υποστηρίζονται;** +A: Το Aspose.Tasks υποστηρίζει τύπους εξαίρεσης Daily, Weekly, Monthly και Yearly, προσφέροντας ευελιξία για να μοντελοποιήσετε σχεδόν οποιοδήποτε μοτίβο επανάληψης. -### Ε3: Είναι δυνατή η κατάργηση μιας υπάρχουσας εξαίρεσης από ένα ημερολόγιο; +**Q: Μπορώ να προσαρμόσω τις ώρες εργασίας για συγκεκριμένες ημερομηνίες εξαίρεσης;** +A: Ναι. Μετά τη δημιουργία μιας εξαίρεσης, γεμίστε τη συλλογή `WorkingTimes` με αντικείμενα `WorkingTime` που ορίζουν τις ώρες έναρξης και λήξης για εκείνη την ημέρα. - A3: Ναι, μπορείτε να καταργήσετε εξαιρέσεις μεταβαίνοντας στο`Exceptions` συλλογή του ημερολογίου και χρήση του`Remove()` μέθοδος. +## Συμπέρασμα -### Ε4: Ποιοι τύποι εξαιρέσεων ημερολογίου υποστηρίζονται; +Περάσαμε από το πλήρες κύκλο ζωής των λειτουργιών **διαγραφής εξαίρεσης ημερολογίου**, από την επιθεώρηση των υπαρχουσών εξαιρέσεων μέχρι την προσθήκη νέων και τον έλεγχο ημερομηνιών. Η κατανόηση αυτών των τεχνικών εξασφαλίζει ότι τα χρονοδιαγράμματα των έργων σας σέβονται τα πραγματικά ημερολόγια, κάνοντας τις υλοποιήσεις προγραμματισμού ημερολογίου ASP.NET ανθεκτικές και αξιόπιστες. -A4: Το Aspose.Tasks υποστηρίζει διάφορους τύπους εξαιρέσεων, συμπεριλαμβανομένων ημερήσιων, εβδομαδιαίων, μηνιαίων και ετήσιων εξαιρέσεων, παρέχοντας ευελιξία στον καθορισμό κανόνων εξαίρεσης. +--- -### Ε5: Μπορώ να προσαρμόσω τις ώρες εργασίας για συγκεκριμένες ημερομηνίες εξαίρεσης; +**Τελευταία Ενημέρωση:** 2026-04-13 +**Δοκιμή Με:** Aspose.Tasks for .NET (latest release) +**Συγγραφέας:** Aspose -A5: Ναι, μπορείτε να ορίσετε προσαρμοσμένους χρόνους εργασίας για μεμονωμένες ημερομηνίες εξαίρεσης χρησιμοποιώντας τις κατάλληλες μεθόδους που παρέχονται από το Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/greek/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/greek/net/calendar-scheduling/child-tasks-collector/_index.md index 5bc0d9baf..2d79c6bec 100644 --- a/tasks/greek/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/greek/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Συλλογή παιδικών εργασιών στο Aspose.Tasks -linktitle: Συλλογή παιδικών εργασιών στο Aspose.Tasks +date: 2026-04-13 +description: Μάθετε πώς να δημιουργήσετε συλλέκτης υποεργασιών χρησιμοποιώντας το + Aspose.Tasks για .NET. Βελτιώστε τη διαχείριση έργων στις .NET εφαρμογές σας. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Δημιουργία Συλλέκτη Παιδικών Εργασιών στο Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Μάθετε πώς να συλλέγετε αποτελεσματικά θυγατρικές εργασίες χρησιμοποιώντας το Aspose.Tasks για .NET. Βελτιώστε τη διαχείριση έργων στις εφαρμογές σας .NET. -weight: 15 +title: Πώς να δημιουργήσετε Συλλέκτης Υποεργασιών στο Aspose.Tasks url: /el/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Συλλογή παιδικών εργασιών στο Aspose.Tasks +# Δημιουργία Συλλογέα Παιδικών Εργασιών στο Aspose.Tasks ## Εισαγωγή -Στον τομέα της διαχείρισης έργων, το Aspose.Tasks για .NET ξεχωρίζει ως μια ισχυρή λύση για τον αποτελεσματικό χειρισμό εργασιών και έργων. Αυτή η ισχυρή βιβλιοθήκη παρέχει στους προγραμματιστές τα εργαλεία που χρειάζονται για να διαχειρίζονται απρόσκοπτα εργασίες, έργα και οτιδήποτε ενδιάμεσο. Σε αυτό το σεμινάριο, θα εμβαθύνουμε σε μια συγκεκριμένη πτυχή του Aspose.Tasks: συλλογή παιδικών εργασιών. +Αν χρειάζεστε **δημιουργία συλλογέα παιδικών εργασιών** για ένα αρχείο Microsoft Project, το Aspose.Tasks για .NET το κάνει απλό. Σε αυτό το tutorial θα περάσουμε βήμα-βήμα τις ακριβείς ενέργειες που απαιτούνται για τη συλλογή κάθε παιδικής εργασίας κάτω από έναν γονέα, ώστε να μπορείτε να τις επεξεργαστείτε, να τις αναλύσετε ή να τις εξάγετε με σιγουριά. Στο τέλος του οδηγού θα έχετε ένα επαναχρησιμοποιήσιμο απόσπασμα κώδικα που εντάσσεται φυσικά σε οποιαδήποτε .NET‑βασισμένη λύση διαχείρισης έργων. + +## Σύντομες Απαντήσεις +- **Τι κάνει ο ChildTasksCollector;** Διασχίζει μια ιεραρχία εργασιών και συγκεντρώνει όλες τις απογόνους εργασίες σε μια συλλογή. +- **Ποια βιβλιοθήκη παρέχει αυτή τη δυνατότητα;** Aspose.Tasks για .NET. +- **Χρειάζεται άδεια για την εκτέλεση του δείγματος;** Μια δωρεάν δοκιμή λειτουργεί για αξιολόγηση· απαιτείται άδεια για παραγωγική χρήση. +- **Ποιες εκδόσεις .NET υποστηρίζονται;** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Πόσο χρόνο παίρνει η υλοποίηση;** Περίπου 5‑10 λεπτά μόλις εγκατασταθεί η βιβλιοθήκη. + +## Τι είναι ο Συλλογέας Παιδικών Εργασιών; + +Ένας **συλλογέας παιδικών εργασιών** είναι ένα βοηθητικό αντικείμενο που διασχίζει το δέντρο εργασιών ενός αρχείου Project, ξεκινώντας από ένα καθορισμένο ριζικό task, και συγκεντρώνει κάθε παιδική (υπο‑task) που συναντά. Αυτό είναι ιδιαίτερα χρήσιμο όταν θέλετε να εφαρμόσετε μαζικές ενέργειες—όπως ενημέρωση πεδίων, εξαγωγή δεδομένων ή δημιουργία αναφορών—χωρίς να διατρέχετε χειροκίνητα κάθε επίπεδο της ιεραρχίας. + +## Γιατί να δημιουργήσετε έναν συλλογέα παιδικών εργασιών; + +- **Απλοποίηση της αναδρομής:** Ο συλλογέας διαχειρίζεται την αναδρομική διαδρομή εσωτερικά, ώστε να μην χρειάζεται να γράψετε τους δικούς σας βρόχους. +- **Αύξηση παραγωγικότητας:** Ανακτήστε όλες τις απογόνους εργασίες σε μια ενιαία συλλογή, κάνοντας τις μαζικές επεξεργασίες ή αναλύσεις εύκολες. +- **Καθαρός κώδικας:** Διατηρεί τη λογική της επιχείρησής σας ξεχωριστή από την χαμηλού επιπέδου πλοήγηση στη δομή του έργου. ## Προαπαιτούμενα -Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τις ακόλουθες προϋποθέσεις: +Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε: -1. Βασική κατανόηση της C#: Η εξοικείωση με τη γλώσσα προγραμματισμού C# είναι απαραίτητη. -2. Εγκατάσταση του Aspose.Tasks για .NET: Κατεβάστε και εγκαταστήστε τη βιβλιοθήκη Aspose.Tasks για .NET από τη[σύνδεσμος λήψης](https://releases.aspose.com/tasks/net/). -3. Περιβάλλον ανάπτυξης: Ρυθμίστε ένα περιβάλλον ανάπτυξης, όπως το Visual Studio, για να γράψετε και να εκτελέσετε κώδικα C#. -4. Πρόσβαση στην τεκμηρίωση: Διατηρήστε το[Aspose.Tasks για τεκμηρίωση .NET](https://reference.aspose.com/tasks/net/) βολικό για αναφορά. +1. **Βασική Κατανόηση της C#** – πρέπει να αισθάνεστε άνετα γράφοντας και εκτελώντας απλές εφαρμογές κονσόλας. +2. **Aspose.Tasks για .NET εγκατεστημένο** – κατεβάστε το από το [download link](https://releases.aspose.com/tasks/net/). +3. **Περιβάλλον ανάπτυξης** – Visual Studio, Rider ή οποιοδήποτε IDE υποστηρίζει C#. +4. **Πρόσβαση στην επίσημη τεκμηρίωση** – κρατήστε κοντά το [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) για αναφορά. -Τώρα που έχουμε καλύψει τις προϋποθέσεις, ας ρίξουμε μια ματιά στον βήμα προς βήμα οδηγό για τη συλλογή θυγατρικών εργασιών χρησιμοποιώντας το Aspose.Tasks για .NET. +Τώρα που όλα είναι έτοιμα, ας βουτήξουμε στον κώδικα. -## Εισαγωγή χώρων ονομάτων +## Εισαγωγή Χώρων Ονομάτων -Αρχικά, εισαγάγετε τους απαραίτητους χώρους ονομάτων στον κώδικα C# για πρόσβαση στη λειτουργικότητα που παρέχεται από το Aspose.Tasks για .NET. +Πρώτα, φέρτε τους απαιτούμενους χώρους ονομάτων στο πεδίο ορατότητας ώστε ο μεταγλωττιστής να γνωρίζει πού βρίσκονται οι κλάσεις που θα χρησιμοποιήσουμε. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Τώρα, ας αναλύσουμε το παράδειγμα που παρέχεται σε πολλά βήματα για να κατανοήσουμε πλήρως τη διαδικασία. +## Οδηγός Βήμα προς Βήμα -## Βήμα 1: Αρχικοποίηση αντικειμένου έργου +### Βήμα 1: Αρχικοποίηση του Αντικειμένου Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Αυτή η γραμμή κώδικα αρχικοποιεί μια νέα`Project` αντικείμενο, φορτώνοντας ένα αρχείο έργου με το όνομα "ParentChildTasks.mpp" από τον καθορισμένο κατάλογο. +Αυτή η γραμμή φορτώνει ένα υπάρχον αρχείο Microsoft Project (`ParentChildTasks.mpp`) από το φάκελο `DataDir` σε ένα αντικείμενο `Project`, δίνοντάς μας προγραμματιστική πρόσβαση στις εργασίες του. -## Βήμα 2: Δημιουργία αντικειμένου ChildTasksCollector +### Βήμα 2: Δημιουργία της Εμφάνισης ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Εδώ, δημιουργούμε ένα νέο`ChildTasksCollector` αντικείμενο, το οποίο θα μας βοηθήσει να συλλέξουμε παιδικές εργασίες από το έργο. +Εδώ **δημιουργούμε έναν συλλογέα παιδικών εργασιών** – μια εμφάνιση του `ChildTasksCollector` που θα αποθηκεύει κάθε παιδική εργασία που θα εντοπίσει. -## Βήμα 3: Εφαρμόστε το Collector στο Root Task +### Βήμα 3: Εφαρμογή του Συλλογέα στο Ριζικό Task ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Εφαρμόζουμε το`ChildTasksCollector` στη βασική εργασία του έργου, ξεκινώντας τη διαδικασία συλλογής αναδρομικά. +Λέμε στο Aspose.Tasks να ξεκινήσει τη συλλογή από το ριζικό task του έργου. Η μέθοδος `Apply` διασχίζει την ιεραρχία αναδρομικά, γεμίζοντας το `collector.Tasks` με όλες τις απογόνους εργασίες. -## Βήμα 4: Επανάληψη μέσω συλλεγμένων εργασιών +### Βήμα 4: Επανάληψη μέσω των Συλλεγμένων Εργασιών ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Τέλος, επαναλαμβάνουμε τις συλλεγμένες εργασίες και εκτυπώνουμε τα ονόματά τους στην κονσόλα. - -## συμπέρασμα +Τέλος, διατρέχουμε τις συγκεντρωμένες εργασίες και εκτυπώνουμε το όνομα κάθε εργασίας στην κονσόλα. Σε πραγματικό σενάριο μπορείτε να αντικαταστήσετε το `Console.WriteLine` με οποιαδήποτε προσαρμοσμένη επεξεργασία χρειάζεστε (π.χ., εξαγωγή σε CSV, ενημέρωση πεδίων κ.λπ.). -Σε αυτό το σεμινάριο, εξερευνήσαμε τον τρόπο συλλογής θυγατρικών εργασιών χρησιμοποιώντας το Aspose.Tasks για .NET. Ακολουθώντας τα βήματα που περιγράφονται παραπάνω, μπορείτε να διαχειρίζεστε αποτελεσματικά και να χειρίζεστε εργασίες εντός των έργων σας, βελτιώνοντας την παραγωγικότητα και την οργάνωση. +## Συνηθισμένα Προβλήματα και Λύσεις -## Συχνές ερωτήσεις +| Πρόβλημα | Αιτία | Διόρθωση | +|----------|-------|----------| +| **Δεν επιστρέφονται εργασίες** | Ο συλλογέας εφαρμόστηκε στο λάθος task (π.χ., σε φύλλο). | Εφαρμόστε `TaskUtils.Apply` στο `project.RootTask` ή στο συγκεκριμένο γονικό task από το οποίο θέλετε να ξεκινήσετε. | +| **NullReferenceException** | `DataDir` ή η διαδρομή του αρχείου είναι λανθασμένη. | Επιβεβαιώστε ότι το `DataDir` δείχνει στο φάκελο που περιέχει το `ParentChildTasks.mpp`. | +| **License not set** | Το Aspose.Tasks εμφανίζει προειδοποίηση άδειας σε λειτουργία δοκιμής. | Φορτώστε την άδειά σας με `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` πριν δημιουργήσετε το αντικείμενο `Project`. | -### Ε1: Είναι το Aspose.Tasks για .NET συμβατό με όλες τις εκδόσεις του .NET; +## Συχνές Ερωτήσεις -A1: Ναι, το Aspose.Tasks για .NET είναι συμβατό με διάφορες εκδόσεις του πλαισίου .NET, διασφαλίζοντας ευρεία συμβατότητα. +**Ε: Είναι το Aspose.Tasks για .NET συμβατό με όλες τις εκδόσεις του .NET;** +Α: Ναι, το Aspose.Tasks για .NET λειτουργεί με .NET Framework 4.5+, .NET Core 3.1+, και .NET 5/6+. -### Ε2: Μπορώ να χρησιμοποιήσω το Aspose.Tasks για .NET για τη δημιουργία νέων αρχείων έργου; +**Ε: Μπορώ να χρησιμοποιήσω το Aspose.Tasks για .NET για να δημιουργήσω νέα αρχεία έργου;** +Α: Απόλυτα! Η βιβλιοθήκη σας επιτρέπει να δημιουργείτε, να διαβάζετε και να επεξεργάζεστε αρχεία έργου προγραμματιστικά. -Α2: Απολύτως! Το Aspose.Tasks για .NET παρέχει λειτουργικότητα για τη δημιουργία, την ανάγνωση και τον χειρισμό αρχείων έργου χωρίς κόπο. +**Ε: Υποστηρίζει το Aspose.Tasks για .NET πολλαπλές πλατφόρμες;** +Α: Αν και σχεδιάστηκε για .NET, μπορείτε να το εκτελέσετε σε οποιαδήποτε πλατφόρμα υποστηρίζει το .NET runtime, όπως Windows, Linux και macOS. -### Ε3: Το Aspose.Tasks για .NET υποστηρίζει πολλές πλατφόρμες; +**Ε: Διατίθεται τεχνική υποστήριξη για το Aspose.Tasks για .NET;** +Α: Ναι, μπορείτε να λάβετε βοήθεια μέσω του [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -A3: Αν και έχει σχεδιαστεί κυρίως για περιβάλλοντα .NET, το Aspose.Tasks για .NET μπορεί να χρησιμοποιηθεί σε διάφορες πλατφόρμες που υποστηρίζουν την ανάπτυξη .NET. +**Ε: Μπορώ να δοκιμάσω το Aspose.Tasks για .NET πριν το αγοράσω;** +Α: Φυσικά! Μια δωρεάν δοκιμή είναι διαθέσιμη από τη [σελίδα κυκλοφορίας](https://releases.aspose.com/). -### Ε4: Διατίθεται τεχνική υποστήριξη για το Aspose.Tasks για .NET; - -A4: Ναι, οι χρήστες μπορούν να έχουν πρόσβαση σε τεχνική υποστήριξη μέσω του[Aspose.Tasks φόρουμ](https://forum.aspose.com/c/tasks/15). +--- -### Ε5: Μπορώ να δοκιμάσω το Aspose.Tasks για .NET πριν από την αγορά; +**Τελευταία ενημέρωση:** 2026-04-13 +**Δοκιμασμένο με:** Aspose.Tasks 24.11 for .NET +**Συγγραφέας:** Aspose - Α5: Σίγουρα! Μπορείτε να επωφεληθείτε από μια δωρεάν δοκιμή από το[σελίδα έκδοσης](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hindi/net/calendar-scheduling/calendar-collection/_index.md b/tasks/hindi/net/calendar-scheduling/calendar-collection/_index.md index 2cfa90f0f..b0a0481bf 100644 --- a/tasks/hindi/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/hindi/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Aspose.Tasks में कैलेंडर संग्रह का प्रबंधन करना -linktitle: Aspose.Tasks में कैलेंडर संग्रह का प्रबंधन करना +date: 2026-04-13 +description: Aspose.Tasks for .NET में कार्य घंटे सेट करना और कैलेंडर संग्रह प्रबंधित + करना सीखें। Microsoft Project से कैलेंडर आयात करें, कैलेंडर प्रोजेक्ट हटाएँ, और + नाम से कैलेंडर आसानी से प्राप्त करें। +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Aspose.Tasks में कैलेंडर संग्रह का प्रबंधन second_title: Aspose.Tasks .NET API -description: जानें कि .NET के लिए Aspose.Tasks में कैलेंडर संग्रहों को कुशलतापूर्वक कैसे प्रबंधित किया जाए। आसानी से कैलेंडर बनाएं, संशोधित करें और उनमें हेरफेर करें। -weight: 11 +title: Aspose.Tasks कैलेंडर संग्रह में कार्य घंटे सेट करें url: /hi/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks में कैलेंडर संग्रह का प्रबंधन करना +# Aspose.Tasks कैलेंडर संग्रह में कार्य घंटे सेट करें -## परिचय +इस ट्यूटोरियल में, आप सीखेंगे कि **कार्य घंटे कैसे सेट करें** और Aspose.Tasks for .NET का उपयोग करके कैलेंडर संग्रह को कैसे प्रबंधित करें। कैलेंडर कार्यदिवस, छुट्टियों और अपवादों को परिभाषित करते हैं, इसलिए इन्हें समझने से आप प्रोजेक्ट शेड्यूल को सटीक रूप से नियंत्रित कर सकते हैं। हम आपको यह भी दिखाएंगे कि Microsoft Project से कैलेंडर कैसे आयात करें, प्रोजेक्ट से कैलेंडर कैसे हटाएँ, और नाम द्वारा कैलेंडर कैसे प्राप्त करें। -इस ट्यूटोरियल में, हम जानेंगे कि .NET के लिए Aspose.Tasks में कैलेंडर संग्रह कैसे प्रबंधित करें। कार्यदिवसों, छुट्टियों और अपवादों को परिभाषित करने में कैलेंडर परियोजना प्रबंधन में महत्वपूर्ण भूमिका निभाते हैं। Aspose.Tasks आपकी परियोजनाओं के भीतर कैलेंडर में हेरफेर करने के लिए मजबूत कार्यक्षमता प्रदान करता है। +## त्वरित उत्तर +- **कैलेंडरों के लिए मुख्य क्लास कौन सी है?** `Project.Calendars` संग्रह। +- **मैं कार्य घंटे कैसे सेट करूँ?** एक `Calendar` ऑब्जेक्ट बनाएँ या संशोधित करें और उसके `WorkingTime` को परिभाषित करें। +- **क्या मैं Microsoft Project से कैलेंडर आयात कर सकता हूँ?** हाँ – एक MPP फ़ाइल लोड करें और उसके कैलेंडर तक पहुँचें। +- **प्रोजेक्ट से कैलेंडर कैसे हटाएँ?** `Project.Calendars.Remove(calendar)` का उपयोग करें। +- **नाम द्वारा कैलेंडर कैसे प्राप्त करें?** `Project.Calendars.GetByName("YourCalendar")` को कॉल करें। -## आवश्यक शर्तें +## पूर्वापेक्षाएँ शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं: -1. विजुअल स्टूडियो: .NET विकास के लिए विजुअल स्टूडियो या कोई अन्य संगत आईडीई स्थापित करें। -2. .NET के लिए Aspose.Tasks: .NET के लिए Aspose.Tasks को डाउनलोड और इंस्टॉल करें[यहाँ](https://releases.aspose.com/tasks/net/). -3. C# की बुनियादी समझ: C# प्रोग्रामिंग भाषा से परिचित होना फायदेमंद होगा। +1. Visual Studio: .NET विकास के लिए Visual Studio या कोई अन्य संगत IDE स्थापित करें। +2. Aspose.Tasks for .NET: Aspose.Tasks for .NET को [यहाँ](https://releases.aspose.com/tasks/net/) से डाउनलोड और स्थापित करें। +3. C# की बुनियादी समझ: C# प्रोग्रामिंग भाषा की परिचितता लाभदायक होगी। -## नामस्थान आयात करें +## नेमस्पेस आयात करें -सबसे पहले, आइए Aspose.Tasks के साथ काम करने के लिए आवश्यक नामस्थान आयात करें: +पहले, Aspose.Tasks के साथ काम करने के लिए आवश्यक नेमस्पेस आयात करें: ```csharp using Aspose.Tasks; @@ -35,12 +48,11 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## एक नया कैलेंडर बनाना +## नया कैलेंडर बनाना -### चरण 1: एक नया प्रारंभ करें`Project` object. +### चरण 1: नया `Project` ऑब्जेक्ट प्रारंभ करें। ```csharp var project = new Project(); ``` @@ -52,7 +64,7 @@ var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### चरण 3: कैलेंडरों को दोबारा दोहराएं और उनके नाम प्रदर्शित करें। +### चरण 3: कैलेंडरों के माध्यम से इटररेट करें और उनके नाम प्रदर्शित करें। ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## कैलेंडर को नये कैलेंडर से बदलना +## कैलेंडर के लिए कार्य घंटे कैसे सेट करें? -### चरण 1: किसी मौजूदा प्रोजेक्ट को लोड करें। +**कार्य घंटे सेट करने** के लिए, आप `Calendar` की `WorkingTime` संग्रह को संशोधित करते हैं। +उदाहरण के लिए, आप एक मानक 9 am‑5 pm कार्यदिवस परिभाषित कर सकते हैं या कस्टम अपवाद जोड़ सकते हैं। +इसका कोड वही है जैसा कि बाद में हम एक मानक कैलेंडर बनाते समय दिखाए गए उदाहरणों में है। + +## एक नए कैलेंडर से मौजूदा कैलेंडर को बदलना + +### चरण 1: मौजूदा प्रोजेक्ट लोड करें। ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### चरण 2: मौजूदा कैलेंडर हटाएं (यदि मौजूद है)। +### चरण 2: मौजूदा कैलेंडर हटाएँ (यदि मौजूद है)। +यह **कैलेंडर हटाने के प्रोजेक्ट** परिदृश्य को दर्शाता है। ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,20 +95,21 @@ if (calendar != null) } ``` -### चरण 3: एक नया कैलेंडर जोड़ें. +### चरण 3: एक नया कैलेंडर जोड़ें। ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## नाम या आईडी के आधार पर कैलेंडर प्राप्त करना +## नाम या आईडी द्वारा कैलेंडर प्राप्त करना -### चरण 1: प्रोजेक्ट लोड करें. +### चरण 1: प्रोजेक्ट लोड करें। ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### चरण 2: नाम या यूआईडी द्वारा कैलेंडर पुनर्प्राप्त करें। +### चरण 2: कैलेंडर को नाम या UID द्वारा प्राप्त करें। +यह **नाम द्वारा कैलेंडर प्राप्त करने** ऑपरेशन को दर्शाता है। ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +122,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## कैलेंडरों पर पुनरावृत्ति +## कैलेंडरों पर इटररेट करना -### चरण 1: प्रोजेक्ट लोड करें. +### चरण 1: प्रोजेक्ट लोड करें। ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### चरण 2: कैलेंडरों की गिनती पुनः प्राप्त करें। +### चरण 2: कैलेंडरों की संख्या प्राप्त करें। ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### चरण 3: कैलेंडर संग्रह और प्रदर्शन नामों पर पुनरावृति करें। +### चरण 3: कैलेंडर संग्रह पर इटररेट करें और नाम प्रदर्शित करें। ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +143,73 @@ foreach (var calendar in calendars) } ``` -## एक मानक कैलेंडर बनाना +## मानक कैलेंडर बनाना -### चरण 1: एक नया प्रोजेक्ट प्रारंभ करें। +### चरण 1: नया प्रोजेक्ट प्रारंभ करें। ```csharp var project = new Project(); ``` -### चरण 2: एक नया कैलेंडर परिभाषित करें और इसे मानक बनाएं। +### चरण 2: एक नया कैलेंडर परिभाषित करें और उसे मानक बनाएं। ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### चरण 3: प्रोजेक्ट सहेजें. +### चरण 3: प्रोजेक्ट सहेजें। ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## निष्कर्ष +## सामान्य समस्याएँ और समाधान -प्रभावी परियोजना प्रबंधन के लिए .NET के लिए Aspose.Tasks में कैलेंडर संग्रह प्रबंधित करना आवश्यक है। प्रदान की गई कार्यक्षमताओं के साथ, आप अपनी परियोजना की आवश्यकताओं के अनुसार कुशलतापूर्वक कैलेंडर बना सकते हैं, संशोधित कर सकते हैं और हेरफेर कर सकते हैं। +- **`GetByName` का उपयोग करते समय कैलेंडर नहीं मिला** – सुनिश्चित करें कि नाम बिल्कुल वही है जो कैलेंडर जोड़ते समय उपयोग किया गया था, जिसमें केस भी मेल खाता हो। +- **कार्य घंटे लागू नहीं हुए** – `WorkingTime` सेट करने के बाद, प्रोजेक्ट को सहेजना याद रखें; अन्यथा परिवर्तन केवल मेमोरी में रहेंगे। +- **MPP फ़ाइल से कैलेंडर आयात करने में विफलता** – जाँचें कि स्रोत फ़ाइल एक वैध Microsoft Project फ़ाइल है और आपके पास पढ़ने की अनुमति है। ## अक्सर पूछे जाने वाले प्रश्न -### Q1: क्या मैं Aspose.Tasks में कस्टम कार्यदिवस बना सकता हूँ? +### प्रश्न 1: क्या मैं Aspose.Tasks में कस्टम कार्यदिवस बना सकता हूँ? +A1: हाँ, आप कैलेंडरों में अपवाद जोड़कर कस्टम कार्यदिवस बना सकते हैं। + +### प्रश्न 2: क्या Microsoft Project फ़ाइलों से कैलेंडर आयात करना संभव है? +A2: बिल्कुल, Aspose.Tasks Microsoft Project फ़ाइलों से कैलेंडर आयात करने का समर्थन करता है। -A1: हाँ, आप कैलेंडर में अपवाद जोड़कर कस्टम कार्यदिवस बना सकते हैं। +### प्रश्न 3: मैं प्रोजेक्ट से एक विशिष्ट कैलेंडर कैसे हटा सकता हूँ? +A3: आप कैलेंडर को संग्रह से प्राप्त करके और फिर `Remove` मेथड को कॉल करके हटा सकते हैं। -### Q2: क्या Microsoft प्रोजेक्ट फ़ाइलों से कैलेंडर आयात करना संभव है? +### प्रश्न 4: क्या Aspose.Tasks कैलेंडर को विभिन्न फ़ॉर्मेट में निर्यात करने का समर्थन करता है? +A4: हाँ, Aspose.Tasks कैलेंडर को XML, MPP आदि जैसे विभिन्न फ़ॉर्मेट में निर्यात करने की अनुमति देता है। -A2: बिल्कुल, Aspose.Tasks Microsoft Project फ़ाइलों से कैलेंडर आयात करने का समर्थन करता है। +### प्रश्न 5: क्या मैं कैलेंडर में विशिष्ट दिनों के लिए कार्य घंटे अनुकूलित कर सकता हूँ? +A5: निश्चित रूप से, आप कैलेंडर में अपवादों का उपयोग करके व्यक्तिगत दिनों के लिए कार्य घंटे परिभाषित कर सकते हैं। + +## बार-बार पूछे जाने वाले प्रश्न -### Q3: मैं किसी प्रोजेक्ट से एक विशिष्ट कैलेंडर कैसे हटा सकता हूँ? +**प्रश्न: 24‑घंटे शिफ्ट कैलेंडर सेट करने का सबसे अच्छा तरीका क्या है?** +**उत्तर:** एक नया कैलेंडर बनाएं, मौजूदा `WorkingTime` प्रविष्टियों को साफ़ करें, और प्रत्येक कार्यदिवस के लिए 00:00 से 24:00 तक एक ही `WorkingTime` रेंज जोड़ें। - उ3: आप किसी कैलेंडर को संग्रह से प्राप्त करके और फिर कॉल करके हटा सकते हैं`Remove` तरीका। +**प्रश्न: क्या मैं एक प्रोजेक्ट से दूसरे प्रोजेक्ट में कैलेंडर कॉपी कर सकता हूँ?** +**उत्तर:** हाँ—`project.Save` का उपयोग करके कैलेंडर को XML में निर्यात करें और फिर `new Project(xmlPath)` से इसे दूसरे प्रोजेक्ट में आयात करें। -### Q4: क्या Aspose.Tasks विभिन्न प्रारूपों में कैलेंडर निर्यात करने का समर्थन करता है? +**प्रश्न: मैं प्रोग्रामेटिक रूप से Microsoft Project से कैलेंडर कैसे आयात करूँ?** +**उत्तर:** `new Project("source.mpp")` के साथ MPP फ़ाइल लोड करें; कैलेंडर `project.Calendars` के माध्यम से उपलब्ध हो जाएंगे। -A4: हां, Aspose.Tasks XML, MPP आदि जैसे विभिन्न प्रारूपों में कैलेंडर निर्यात करने की अनुमति देता है। +**प्रश्न: प्रोजेक्ट में कैलेंडरों की संख्या पर कोई सीमा है क्या?** +**उत्तर:** व्यावहारिक रूप से नहीं; संग्रह मेमोरी की अनुमति के अनुसार जितने भी कैलेंडर रख सकता है, लेकिन प्रदर्शन के लिए सूची को प्रबंधनीय रखें। + +**प्रश्न: क्या कैलेंडर में किए गए परिवर्तन स्वचालित रूप से उन कार्यों को अपडेट करते हैं जो इसका उपयोग करते हैं?** +**उत्तर:** हाँ—प्रोजेक्ट सहेजने के बाद, कैलेंडर से जुड़े कार्य अपडेटेड कार्य समय को दर्शाते हैं। + +--- -### Q5: क्या मैं कैलेंडर में विशिष्ट दिनों के लिए कार्य घंटों को अनुकूलित कर सकता हूँ? +**अंतिम अपडेट:** 2026-04-13 +**परीक्षण किया गया:** Aspose.Tasks 24.11 for .NET +**लेखक:** Aspose -A5: निश्चित रूप से, आप कैलेंडर में अपवादों का उपयोग करके अलग-अलग दिनों के लिए कार्य घंटे परिभाषित कर सकते हैं। {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hindi/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/hindi/net/calendar-scheduling/calendar-exceptions/_index.md index 169205bca..ce9b1b58e 100644 --- a/tasks/hindi/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/hindi/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Aspose.Tasks में कैलेंडर अपवादों को संभालना -linktitle: Aspose.Tasks में कैलेंडर अपवादों को संभालना +date: 2026-04-13 +description: Aspose.Tasks for .NET में कैलेंडर अपवाद को कैसे हटाएँ और ASP.NET कैलेंडर + शेड्यूलिंग का प्रबंधन करते समय अपवाद तिथि की जाँच करें। +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Aspose.Tasks के साथ कैलेंडर अपवाद हटाएँ second_title: Aspose.Tasks .NET API -description: चरण-दर-चरण ट्यूटोरियल और उदाहरणों के साथ .NET के लिए Aspose.Tasks में कैलेंडर अपवादों को प्रबंधित करना सीखें। -weight: 12 +title: Aspose.Tasks के साथ कैलेंडर अपवाद हटाएँ url: /hi/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks में कैलेंडर अपवादों को संभालना +# Aspose.Tasks के साथ कैलेंडर अपवाद हटाएँ ## परिचय -इस ट्यूटोरियल में, हम जानेंगे कि .NET फ्रेमवर्क का उपयोग करके Aspose.Tasks में कैलेंडर अपवादों को कैसे प्रबंधित किया जाए। कैलेंडर अपवाद हमें प्रोजेक्ट कैलेंडर में विशेष तिथियों या अवधियों को परिभाषित करने की अनुमति देते हैं जहां नियमित कामकाजी शेड्यूल बदल दिया जाता है, जैसे छुट्टियां या अस्थायी बंद। हम .NET के लिए Aspose.Tasks का उपयोग करके चरण दर चरण कैलेंडर अपवादों को संभालने के विभिन्न तरीकों को कवर करेंगे। +इस ट्यूटोरियल में, आप Aspose.Tasks का उपयोग करके .NET फ्रेमवर्क में **कैलेंडर अपवाद हटाना** और अन्य कैलेंडर अपवादों का प्रबंधन करना सीखेंगे। कैलेंडर अपवाद आपको छुट्टियों, अस्थायी बंद या किसी भी विशेष अवधि को मॉडल करने की अनुमति देते हैं जहाँ सामान्य कार्य शेड्यूल बदलता है। इन अपवादों को जोड़ना, क्वेरी करना और हटाना समझना सटीक प्रोजेक्ट शेड्यूलिंग के लिए आवश्यक है, विशेष रूप से **ASP.NET कैलेंडर शेड्यूलिंग** परिदृश्यों में काम करते समय। + +## त्वरित उत्तर +- **अपवाद हटाने की मुख्य विधि क्या है?** `CalendarException` ऑब्जेक्ट पर `Delete()` मेथड का उपयोग करें। +- **कौन सा क्लास किसी तिथि को अपवाद के विरुद्ध जांचता है?** `CalendarException.CheckException()`—**अपवाद तिथि जांचने** के लिए उपयोगी। +- **क्या कोड चलाने के लिए लाइसेंस चाहिए?** हाँ, उत्पादन उपयोग के लिए एक वैध Aspose.Tasks लाइसेंस आवश्यक है। +- **क्या मैं एक कैलेंडर में कई अपवाद जोड़ सकता हूँ?** बिल्कुल; `Exceptions` कलेक्शन कई एंट्रीज़ का समर्थन करता है। +- **समर्थित .NET संस्करण?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## कैलेंडर अपवाद क्या है? + +**कैलेंडर अपवाद** नियमित कार्य कैलेंडर से विचलन को दर्शाता है—इसे इस तरह समझें कि “इन तिथियों पर कार्य घंटे अलग हैं या बिल्कुल नहीं।” Aspose.Tasks में, प्रत्येक अपवाद के अपने कार्य समय, आवृत्ति पैटर्न, और फ़्लैग हो सकते हैं जो यह संकेत देते हैं कि वह दिन कार्य दिवस है या नहीं। + +## ASP.NET कैलेंडर शेड्यूलिंग में कैलेंडर अपवादों का प्रबंधन क्यों करें? + +- **सटीक समयरेखा:** प्रोजेक्ट स्वचालित रूप से छुट्टियों और विशेष बंदों का सम्मान करते हैं, जिससे अवास्तविक डेडलाइन से बचा जा सके। +- **लचीलापन:** आप दैनिक, साप्ताहिक, मासिक, या वार्षिक पैटर्न परिभाषित कर सकते हैं, जो वास्तविक व्यवसाय कैलेंडरों से मेल खाते हैं। +- **स्वचालन:** प्रोग्रामेटिक रूप से अपवाद तिथि की जांच करने से आप ASP.NET एप्लिकेशन में डायनेमिक शेड्यूलिंग लॉजिक बना सकते हैं। -## आवश्यक शर्तें +## आवश्यकताएँ -शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित आवश्यकताएँ हैं: -- C# प्रोग्रामिंग भाषा का बुनियादी ज्ञान। -- आपके सिस्टम पर विज़ुअल स्टूडियो स्थापित है। -- .NET लाइब्रेरी के लिए Aspose.Tasks आपके प्रोजेक्ट में जोड़ा गया। +- C# प्रोग्रामिंग का बुनियादी ज्ञान। +- Visual Studio (कोई भी नवीनतम संस्करण)। +- आपके प्रोजेक्ट में Aspose.Tasks for .NET लाइब्रेरी जोड़ें (NuGet या मैन्युअल रेफ़रेंस के माध्यम से)। -## नामस्थान आयात करें +## नेमस्पेस आयात करें -सबसे पहले, आइए अपने प्रोजेक्ट के लिए आवश्यक नामस्थान आयात करें: +सबसे पहले, उन नेमस्पेस को आयात करें जिनकी आपको आवश्यकता होगी: ```csharp using Aspose.Tasks; using System; - - ``` -## चरण 1: कैलेंडर अपवाद हटाना +## चरण 1: कैलेंडर अपवाद हटाएँ -कैलेंडर अपवाद को हटाने के लिए, इन चरणों का पालन करें: +अनचाहे अपवाद को हटाना सरल है। निम्नलिखित कोड एक प्रोजेक्ट लोड करता है, पहला कैलेंडर चुनता है, बुनियादी जानकारी दिखाता है, पहला अपवाद हटाता है, और फिर अपडेटेड काउंट दिखाता है। ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // कैलेंडर जानकारी प्रदर्शित करें + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // पहला अपवाद हटाएँ + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## चरण 2: कैलेंडर अपवाद का कार्य समय प्राप्त करना +> **Pro tip:** `Delete()` कॉल करने से पहले हमेशा यह सत्यापित करें कि अपवाद इंडेक्स मौजूद है, ताकि `IndexOutOfRangeException` से बचा जा सके। + +## चरण 2: कैलेंडर अपवाद का कार्य समय प्राप्त करें -कैलेंडर अपवाद का कार्य समय पुनः प्राप्त करने के लिए, इन चरणों का पालन करें: +यदि आपको किसी अपवाद के लिए परिभाषित कार्य घंटों की जाँच करनी है, तो `GetWorkingTime()` का उपयोग करें। यह उदाहरण यह भी दर्शाता है कि `CheckException` के साथ **अपवाद तिथि जांचना** कैसे किया जाता है। ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // कैलेंडर और अपवाद जानकारी प्रदर्शित करें + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // कार्य समय प्राप्त करें और विवरण प्रदर्शित करें + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## चरण 3: कैलेंडर अपवादों को परिभाषित करना +## चरण 3: कैलेंडर अपवाद निर्धारित करें -कैलेंडर अपवाद जोड़ने या हटाने के लिए, इन चरणों का पालन करें: +नीचे एक पूर्ण walkthrough दिया गया है जो दिखाता है कि कैलेंडर अपवादों को **जोड़ना**, **जांचना**, और **हटाना** कैसे किया जाता है। विशेष क्षण के लिए **अपवाद तिथि जांचने** हेतु `CheckException` के उपयोग पर ध्यान दें। ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // एक नया कैलेंडर अपवाद बनाएं + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // अपवाद विवरण सेट करें + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // जांचें कि क्या कोई तारीख अपवाद है + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // कैलेंडर में अपवाद जोड़ें + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // यदि कोई अपवाद मौजूद है तो उसे हटा दें + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // एक नया अपवाद जोड़ें + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // अपवाद प्रिंट करें + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## निष्कर्ष +## सामान्य समस्याएँ और सुझाव -इस लेख में, हमने .NET के लिए Aspose.Tasks में कैलेंडर अपवादों को संभालने के विभिन्न पहलुओं को शामिल किया है। दिए गए चरणों का पालन करके, आप काम के घंटों और विशेष घटनाओं का सटीक प्रतिनिधित्व सुनिश्चित करते हुए, अपने प्रोजेक्ट शेड्यूल में अपवादों को प्रभावी ढंग से प्रबंधित कर सकते हैं। +| समस्या | कारण | समाधान | +|-------|--------|----------| +| **`IndexOutOfRangeException` हटाते समय** | ऐसे अपवाद को हटाने की कोशिश करना जो मौजूद नहीं है। | `Delete()` कॉल करने से पहले `calendar.Exceptions.Count` > इंडेक्स है यह सत्यापित करें। | +| **गलत कार्य समय** | `DayWorking` या `WorkingTimes` को सही ढंग से सेट न करना। | स्पष्ट अवधि निर्धारित करने के लिए `exception.WorkingTimes.Add(new WorkingTime(...))` का उपयोग करें। | +| **अपवाद पहचाना नहीं गया** | `CheckException` `false` लौटाता है क्योंकि तिथि परिभाषित रेंज के बाहर है। | `FromDate`/`ToDate` और `Type` (Daily, Weekly, आदि) को दोबारा जांचें। | ## अक्सर पूछे जाने वाले प्रश्न -### Q1: क्या मैं एक ही कैलेंडर में एकाधिक अपवाद जोड़ सकता हूँ? +**Q: क्या मैं एक ही कैलेंडर में कई अपवाद जोड़ सकता हूँ?** +**A:** हाँ, आप आवश्यकतानुसार कई अपवाद जोड़ सकते हैं जो छुट्टियों, रखरखाव विंडो या किसी भी विशेष शेड्यूलिंग नियम को दर्शाते हैं। -उ1: हां, आप विभिन्न विशेष तिथियों या अवधियों को समायोजित करने के लिए कैलेंडर में कई अपवाद जोड़ सकते हैं। +**Q: मैं किसी विशिष्ट दिन के लिए **check exception date** कैसे करूँ?** +**A:** `CalendarException` इंस्टेंस पर `CheckException(DateTime date)` मेथड का उपयोग करें। यह `true` लौटाता है यदि प्रदान की गई तिथि अपवाद रेंज के भीतर आती है। -### Q2: मैं कैसे जांच सकता हूं कि कोई विशिष्ट तारीख अपवाद है या नहीं? +**Q: क्या कैलेंडर से मौजूदा अपवाद को हटाना संभव है?** +**A:** बिल्कुल। `Exceptions` कलेक्शन तक पहुँचें और `Remove()` कॉल करें या विशिष्ट `CalendarException` ऑब्जेक्ट पर `Delete()` को इनवोक करें। - A2: आप इसका उपयोग कर सकते हैं`CheckException()` यह सत्यापित करने की विधि कि कोई विशेष तिथि अपवाद के अंतर्गत आती है या नहीं। +**Q: कौन से प्रकार के कैलेंडर अपवाद समर्थित हैं?** +**A:** Aspose.Tasks Daily, Weekly, Monthly, और Yearly अपवाद प्रकारों को समर्थन देता है, जिससे आप लगभग किसी भी आवृत्ति पैटर्न को मॉडल कर सकते हैं। -### Q3: क्या किसी कैलेंडर से मौजूदा अपवाद को हटाना संभव है? +**Q: क्या मैं विशिष्ट अपवाद तिथियों के लिए कार्य घंटे कस्टमाइज़ कर सकता हूँ?** +**A:** हाँ। अपवाद बनाने के बाद, उसकी `WorkingTimes` कलेक्शन को `WorkingTime` ऑब्जेक्ट्स से भरें जो उस दिन के प्रारम्भ और समाप्ति समय को परिभाषित करते हैं। - उ3: हां, आप पहुंच कर अपवादों को हटा सकते हैं`Exceptions` कैलेंडर का संग्रह और उसका उपयोग करना`Remove()` तरीका। +## निष्कर्ष -### Q4: किस प्रकार के कैलेंडर अपवाद समर्थित हैं? +हमने **कैलेंडर अपवाद हटाने** ऑपरेशनों के पूरे जीवनचक्र को देखा, मौजूदा अपवादों की जाँच से लेकर नए जोड़ने और तिथियों की जांच तक। इन तकनीकों में निपुणता यह सुनिश्चित करती है कि आपके प्रोजेक्ट शेड्यूल वास्तविक कैलेंडरों का सम्मान करें, जिससे आपका ASP.NET कैलेंडर शेड्यूलिंग कार्यान्वयन मजबूत और विश्वसनीय बनता है। -A4: Aspose.Tasks दैनिक, साप्ताहिक, मासिक और वार्षिक अपवादों सहित विभिन्न प्रकार के अपवादों का समर्थन करता है, जो अपवाद नियमों को परिभाषित करने में लचीलापन प्रदान करता है। +--- -### Q5: क्या मैं विशिष्ट अपवाद तिथियों के लिए कार्य घंटों को अनुकूलित कर सकता हूँ? +**अंतिम अद्यतन:** 2026-04-13 +**परीक्षित संस्करण:** Aspose.Tasks for .NET (latest release) +**लेखक:** Aspose -A5: हां, आप Aspose.Tasks द्वारा प्रदान की गई उचित विधियों का उपयोग करके व्यक्तिगत अपवाद तिथियों के लिए कस्टम कार्य समय परिभाषित कर सकते हैं। {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hindi/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/hindi/net/calendar-scheduling/child-tasks-collector/_index.md index 41c3995d2..281a3c267 100644 --- a/tasks/hindi/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/hindi/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Aspose.Tasks में बाल कार्यों को एकत्रित करना -linktitle: Aspose.Tasks में बाल कार्यों को एकत्रित करना +date: 2026-04-13 +description: Aspose.Tasks for .NET का उपयोग करके चाइल्ड टास्क कलेक्टर बनाना सीखें। + अपने .NET एप्लिकेशनों में प्रोजेक्ट मैनेजमेंट को बेहतर बनाएं। +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Aspose.Tasks में चाइल्ड टास्क कलेक्टर बनाएं second_title: Aspose.Tasks .NET API -description: .NET के लिए Aspose.Tasks का उपयोग करके बाल कार्यों को कुशलतापूर्वक एकत्रित करना सीखें। अपने .NET अनुप्रयोगों में परियोजना प्रबंधन में सुधार करें। -weight: 15 +title: Aspose.Tasks में चाइल्ड टास्क कलेक्टर कैसे बनाएं url: /hi/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks में बाल कार्यों को एकत्रित करना +# Aspose.Tasks में चाइल्ड टास्क कलेक्टर बनाएं ## परिचय -परियोजना प्रबंधन के क्षेत्र में, .NET के लिए Aspose.Tasks कार्यों और परियोजनाओं को कुशलतापूर्वक संभालने के लिए एक मजबूत समाधान के रूप में सामने आता है। यह शक्तिशाली लाइब्रेरी डेवलपर्स को कार्यों, परियोजनाओं और उनके बीच की हर चीज़ को निर्बाध रूप से प्रबंधित करने के लिए आवश्यक उपकरण प्रदान करती है। इस ट्यूटोरियल में, हम Aspose.Tasks के एक विशिष्ट पहलू पर गौर करेंगे: बाल कार्यों को एकत्रित करना। +यदि आपको Microsoft Project फ़ाइल के लिए **create child tasks collector** की आवश्यकता है, तो Aspose.Tasks for .NET इसे सरल बनाता है। इस ट्यूटोरियल में हम प्रत्येक चाइल्ड टास्क को पैरेंट के तहत एकत्र करने के लिए आवश्यक सटीक चरणों को दिखाएंगे, ताकि आप उन्हें आत्मविश्वास के साथ प्रोसेस, विश्लेषण या एक्सपोर्ट कर सकें। गाइड के अंत तक आपके पास एक पुन: उपयोग योग्य स्निपेट होगा जो किसी भी .NET‑आधारित प्रोजेक्ट‑मैनेजमेंट समाधान में स्वाभाविक रूप से फिट हो जाएगा। + +## त्वरित उत्तर +- **ChildTasksCollector क्या करता है?** यह एक टास्क पदानुक्रम को पार करता है और सभी वंशज टास्क को एक संग्रह में इकट्ठा करता है। +- **यह सुविधा कौन सी लाइब्रेरी प्रदान करती है?** Aspose.Tasks for .NET। +- **क्या नमूना चलाने के लिए लाइसेंस चाहिए?** मूल्यांकन के लिए एक मुफ्त ट्रायल काम करता है; उत्पादन के लिए लाइसेंस आवश्यक है। +- **कौन से .NET संस्करण समर्थित हैं?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+। +- **इम्प्लीमेंटेशन में कितना समय लगेगा?** लाइब्रेरी स्थापित होने के बाद लगभग 5‑10 मिनट। + +## चाइल्ड टास्क कलेक्टर क्या है? + +एक **child tasks collector** एक उपयोगिता ऑब्जेक्ट है जो प्रोजेक्ट फ़ाइल के टास्क ट्री को एक निर्दिष्ट रूट टास्क से शुरू करके चलाता है, और प्रत्येक मिलने वाले चाइल्ड (सब‑टास्क) को एकत्र करता है। यह विशेष रूप से तब उपयोगी होता है जब आप बल्क ऑपरेशन्स—जैसे फ़ील्ड अपडेट करना, डेटा एक्सपोर्ट करना, या रिपोर्ट बनाना—को लागू करना चाहते हैं, बिना पदानुक्रम के प्रत्येक स्तर को मैन्युअल रूप से इटररेट किए। + +## चाइल्ड टास्क कलेक्टर क्यों बनाएं? -## आवश्यक शर्तें +- **रिकर्शन को सरल बनाएं:** कलेक्टर आंतरिक रूप से डेप्थ‑फ़र्स्ट ट्रैवर्सल संभालता है, इसलिए आपको अपना स्वयं का रिकर्सिव लूप लिखने की ज़रूरत नहीं। +- **उत्पादकता बढ़ाएँ:** सभी वंशज टास्क को एक ही संग्रह में प्राप्त करें, जिससे बल्क एडिट या विश्लेषण आसान हो जाता है। +- **कोड को साफ रखें:** आपका बिज़नेस लॉजिक प्रोजेक्ट स्ट्रक्चर की लो‑लेवल नेविगेशन से अलग रहता है। -शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित आवश्यक शर्तें हैं: +## पूर्वापेक्षाएँ -1. C# की बुनियादी समझ: C# प्रोग्रामिंग भाषा से परिचित होना आवश्यक है। -2. .NET के लिए Aspose.Tasks की स्थापना: .NET लाइब्रेरी के लिए Aspose.Tasks को डाउनलोड और इंस्टॉल करें।[लिंक को डाउनलोड करें](https://releases.aspose.com/tasks/net/). -3. विकास परिवेश: C# कोड लिखने और निष्पादित करने के लिए विज़ुअल स्टूडियो जैसा एक विकास परिवेश स्थापित करें। -4. दस्तावेज़ीकरण तक पहुंच: रखें[.NET दस्तावेज़ीकरण के लिए Aspose.Tasks](https://reference.aspose.com/tasks/net/) संदर्भ के लिए उपयोगी. +शुरू करने से पहले सुनिश्चित करें कि आपके पास हैं: -अब जब हमने आवश्यक शर्तें पूरी कर ली हैं, तो आइए .NET के लिए Aspose.Tasks का उपयोग करके चाइल्ड कार्यों को एकत्रित करने के लिए चरण-दर-चरण मार्गदर्शिका देखें। +1. **C# की बुनियादी समझ** – आपको सरल कंसोल एप्लिकेशन लिखने और चलाने में सहज होना चाहिए। +2. **Aspose.Tasks for .NET स्थापित** – इसे [download link](https://releases.aspose.com/tasks/net/) से डाउनलोड करें। +3. **एक विकास वातावरण** – Visual Studio, Rider, या कोई भी IDE जो C# को सपोर्ट करता हो। +4. **आधिकारिक दस्तावेज़ों तक पहुंच** – संदर्भ के लिए पास में [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) रखें। -## नामस्थान आयात करें +अब बुनियादी सेटअप तैयार है, चलिए कोड में डुबकी लगाते हैं। -सबसे पहले, .NET के लिए Aspose.Tasks द्वारा प्रदान की गई कार्यक्षमता तक पहुंचने के लिए अपने C# कोड में आवश्यक नेमस्पेस आयात करें। +## नेमस्पेस आयात करें + +पहले, आवश्यक नेमस्पेस को स्कोप में लाएँ ताकि कंपाइलर को पता हो कि हम कौन सी क्लासेज़ उपयोग करेंगे। ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -अब, आइए प्रक्रिया को पूरी तरह से समझने के लिए दिए गए उदाहरण को कई चरणों में तोड़ें। +## चरण-दर-चरण मार्गदर्शिका -## चरण 1: प्रोजेक्ट ऑब्जेक्ट को आरंभ करें +### चरण 1: प्रोजेक्ट ऑब्जेक्ट को इनिशियलाइज़ करें ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - कोड की यह पंक्ति एक नई शुरुआत करती है`Project` ऑब्जेक्ट, निर्दिष्ट निर्देशिका से "ParentChildTasks.mpp" नामक प्रोजेक्ट फ़ाइल लोड कर रहा है। +यह पंक्ति `DataDir` फ़ोल्डर से मौजूदा Microsoft Project फ़ाइल (`ParentChildTasks.mpp`) को एक `Project` ऑब्जेक्ट में लोड करती है, जिससे हमें उसके टास्क्स तक प्रोग्रामेटिक एक्सेस मिलती है। -## चरण 2: चाइल्डटास्ककलेक्टर ऑब्जेक्ट बनाएं +### चरण 2: ChildTasksCollector इंस्टेंस बनाएं ```csharp var collector = new ChildTasksCollector(); ``` - यहां, हम एक नया बनाते हैं`ChildTasksCollector` ऑब्जेक्ट, जो हमें प्रोजेक्ट से चाइल्ड कार्य एकत्र करने में मदद करेगा। +यहाँ हम **child tasks collector** बनाते हैं – `ChildTasksCollector` का एक इंस्टेंस जो खोजे गए प्रत्येक चाइल्ड टास्क को संग्रहीत करेगा। -## चरण 3: रूट टास्क पर कलेक्टर लागू करें +### चरण 3: कलेक्टर को रूट टास्क पर लागू करें ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - हम लागू करते हैं`ChildTasksCollector` प्रोजेक्ट के मूल कार्य के लिए, संग्रह प्रक्रिया को पुनरावर्ती रूप से प्रारंभ करना। +हम Aspose.Tasks को प्रोजेक्ट के रूट टास्क से संग्रह शुरू करने के लिए कहते हैं। `Apply` मेथड पदानुक्रम को रिकर्सिवली चलाता है, और `collector.Tasks` को सभी वंशज टास्क से भर देता है। -## चरण 4: एकत्रित कार्यों के माध्यम से पुनरावृति करें +### चरण 4: एकत्रित टास्क पर इटररेट करें ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,40 @@ foreach (var task in collector.Tasks) } ``` -अंत में, हम एकत्रित कार्यों को दोहराते हैं और उनके नाम कंसोल पर प्रिंट करते हैं। +अंत में, हम एकत्रित टास्क्स पर लूप चलाते हैं और प्रत्येक टास्क का नाम कंसोल में प्रिंट करते हैं। वास्तविक दुनिया में आप `Console.WriteLine` को किसी भी कस्टम प्रोसेसिंग (जैसे CSV एक्सपोर्ट, फ़ील्ड अपडेट आदि) से बदल सकते हैं। -## निष्कर्ष +## सामान्य समस्याएँ और समाधान -इस ट्यूटोरियल में, हमने पता लगाया कि .NET के लिए Aspose.Tasks का उपयोग करके चाइल्ड कार्यों को कैसे एकत्र किया जाए। ऊपर बताए गए चरणों का पालन करके, आप उत्पादकता और संगठन को बढ़ाते हुए, अपनी परियोजनाओं के भीतर कार्यों को कुशलतापूर्वक प्रबंधित और हेरफेर कर सकते हैं। +| समस्या | कारण | समाधान | +|-------|--------|-----| +| **कोई टास्क रिटर्न नहीं होते** | कलेक्टर को गलत टास्क (जैसे लीफ़ नोड) पर लागू किया गया था। | `TaskUtils.Apply` को `project.RootTask` या उस विशिष्ट पैरेंट पर लागू करें जिससे आप शुरू करना चाहते हैं। | +| **NullReferenceException** | `DataDir` या फ़ाइल पाथ गलत है। | सुनिश्चित करें कि `DataDir` उस फ़ोल्डर की ओर इशारा कर रहा है जिसमें `ParentChildTasks.mpp` मौजूद है। | +| **License not set** | ट्रायल मोड में Aspose.Tasks लाइसेंसिंग चेतावनी देता है। | `Project` ऑब्जेक्ट बनाने से पहले `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` के साथ अपना लाइसेंस लोड करें। | ## अक्सर पूछे जाने वाले प्रश्न -### Q1: क्या .NET के लिए Aspose.Tasks .NET के सभी संस्करणों के साथ संगत है? - -A1: हां, .NET के लिए Aspose.Tasks व्यापक अनुकूलता सुनिश्चित करते हुए, .NET फ्रेमवर्क के विभिन्न संस्करणों के साथ संगत है। - -### Q2: क्या मैं नई प्रोजेक्ट फ़ाइलें बनाने के लिए .NET के लिए Aspose.Tasks का उपयोग कर सकता हूँ? - -ए2: बिल्कुल! .NET के लिए Aspose.Tasks प्रोजेक्ट फ़ाइलों को सहजता से बनाने, पढ़ने और हेरफेर करने की कार्यक्षमता प्रदान करता है। +**Q: क्या Aspose.Tasks for .NET सभी .NET संस्करणों के साथ संगत है?** +A: हाँ, Aspose.Tasks for .NET .NET Framework 4.5+, .NET Core 3.1+, और .NET 5/6+ के साथ काम करता है। -### Q3: क्या .NET के लिए Aspose.Tasks एकाधिक प्लेटफ़ॉर्म का समर्थन करता है? +**Q: क्या मैं Aspose.Tasks for .NET का उपयोग करके नई प्रोजेक्ट फ़ाइलें बना सकता हूँ?** +A: बिल्कुल! लाइब्रेरी आपको प्रोग्रामेटिक रूप से प्रोजेक्ट फ़ाइलें बनाने, पढ़ने और संशोधित करने की अनुमति देती है। -A3: जबकि मुख्य रूप से .NET वातावरण के लिए डिज़ाइन किया गया है, .NET के लिए Aspose.Tasks का उपयोग .NET विकास का समर्थन करने वाले विभिन्न प्लेटफार्मों में किया जा सकता है। +**Q: क्या Aspose.Tasks for .NET कई प्लेटफ़ॉर्म का समर्थन करता है?** +A: जबकि यह .NET के लिए डिज़ाइन किया गया है, आप इसे किसी भी प्लेटफ़ॉर्म पर चला सकते हैं जो .NET रनटाइम को सपोर्ट करता है, जिसमें Windows, Linux, और macOS शामिल हैं। -### Q4: क्या .NET के लिए Aspose.Tasks के लिए तकनीकी सहायता उपलब्ध है? +**Q: क्या Aspose.Tasks for .NET के लिए तकनीकी समर्थन उपलब्ध है?** +A: हाँ, आप [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15) के माध्यम से मदद प्राप्त कर सकते हैं। -A4: हाँ, उपयोगकर्ता इसके माध्यम से तकनीकी सहायता प्राप्त कर सकते हैं[Aspose.कार्य मंच](https://forum.aspose.com/c/tasks/15). +**Q: क्या मैं Aspose.Tasks for .NET को खरीदने से पहले ट्राय कर सकता हूँ?** +A: बिल्कुल! एक मुफ्त ट्रायल [release page](https://releases.aspose.com/) से उपलब्ध है। -### Q5: क्या मैं खरीदने से पहले .NET के लिए Aspose.Tasks आज़मा सकता हूँ? +**अंतिम अपडेट:** 2026-04-13 +**टेस्टेड विथ:** Aspose.Tasks 24.11 for .NET +**लेखक:** Aspose - ए5: निश्चित रूप से! आप नि:शुल्क परीक्षण का लाभ उठा सकते हैं[रिलीज पेज](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hongkong/net/calendar-scheduling/calendar-collection/_index.md b/tasks/hongkong/net/calendar-scheduling/calendar-collection/_index.md index 72c9f8089..0d35dfa7e 100644 --- a/tasks/hongkong/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/hongkong/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,44 @@ --- -title: 在 Aspose.Tasks 中管理行事曆集合 -linktitle: 在 Aspose.Tasks 中管理行事曆集合 +date: 2026-04-13 +description: 學習如何在 Aspose.Tasks for .NET 中設定工作時間與管理日曆集合。匯入 Microsoft Project 的日曆、移除日曆專案,並可輕鬆依名稱取得日曆。 +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: 在 Aspose.Tasks 中管理日曆集合 second_title: Aspose.Tasks .NET API -description: 了解如何在 Aspose.Tasks for .NET 中有效地管理行事曆集合。輕鬆建立、修改和操作日曆。 -weight: 11 +title: 在 Aspose.Tasks 日曆集合中設定工作時間 url: /zh-hant/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# 在 Aspose.Tasks 中管理行事曆集合 +# 設定 Aspose.Tasks 行事曆集合的工作時間 -## 介紹 +在本教學中,您將學習如何 **設定工作時間** 以及使用 Aspose.Tasks for .NET 管理行事曆集合。行事曆定義工作日、假期與例外情況,精通它們即可精確控制專案排程。我們亦會示範如何從 Microsoft Project 匯入行事曆、從專案中移除行事曆,以及依名稱取得行事曆。 -在本教程中,我們將探討如何在 Aspose.Tasks for .NET 中管理行事曆集合。日曆在專案管理、定義工作日、假期和例外情況中發揮著至關重要的作用。 Aspose.Tasks 提供了強大的功能來操作專案中的日曆。 +## 快速解答 +- **什麼是行事曆的主要類別?** `Project.Calendars` collection. +- **如何設定工作時間?** 建立或修改 `Calendar` 物件並定義其 `WorkingTime`。 +- **可以從 Microsoft Project 匯入行事曆嗎?** 可以 – 載入 MPP 檔案並存取其行事曆。 +- **如何從專案中移除行事曆?** 使用 `Project.Calendars.Remove(calendar)`。 +- **如何依名稱取得行事曆?** 呼叫 `Project.Calendars.GetByName("YourCalendar")`。 -## 先決條件 +## 前置條件 -在我們開始之前,請確保您具備以下條件: +在開始之前,請確保您具備以下條件: -1. Visual Studio:安裝 Visual Studio 或任何其他相容的 IDE 以進行 .NET 開發。 -2. Aspose.Tasks for .NET:從下列位置下載並安裝 Aspose.Tasks for .NET[這裡](https://releases.aspose.com/tasks/net/). -3. 對 C# 的基本了解:熟悉 C# 程式語言將會很有幫助。 +1. Visual Studio:安裝 Visual Studio 或任何其他相容的 .NET 開發 IDE。 +2. Aspose.Tasks for .NET:從 [此處](https://releases.aspose.com/tasks/net/) 下載並安裝 Aspose.Tasks for .NET。 +3. 基本的 C# 知識:熟悉 C# 程式語言將會有幫助。 -## 導入命名空間 +## 匯入命名空間 -首先,讓我們匯入必要的命名空間來使用 Aspose.Tasks: +首先,讓我們匯入使用 Aspose.Tasks 所需的命名空間: ```csharp using Aspose.Tasks; @@ -35,24 +46,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## 建立新日曆 +## 建立新行事曆 -### 步驟一:初始化一個新的`Project` object. +### 步驟 1:初始化新的 `Project` 物件。 ```csharp var project = new Project(); ``` -### 步驟 2:將日曆新增至項目的日曆集合。 +### 步驟 2:將行事曆加入專案的行事曆集合。 ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### 第 3 步:遍歷日曆並顯示它們的名稱。 +### 步驟 3:遍歷行事曆並顯示其名稱。 ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +70,21 @@ foreach (var calendar in project.Calendars) } ``` -## 用新日曆取代日曆 +## 如何為行事曆設定工作時間? + +要 **設定工作時間**,您需要修改 `Calendar` 的 `WorkingTime` 集合。 +例如,您可以定義標準的上午 9 點至下午 5 點工作日,或加入自訂例外。 +此段程式碼與稍後建立標準行事曆的範例相同。 -### 第 1 步:載入現有項目。 +## 用新行事曆取代現有行事曆 + +### 步驟 1:載入現有專案。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 步驟 2:刪除現有日曆(如果存在)。 +### 步驟 2:移除現有的行事曆(若存在)。 +此示範 **移除行事曆專案** 的情境。 ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,45 +93,46 @@ if (calendar != null) } ``` -### 步驟 3:新增日曆。 +### 步驟 3:加入新行事曆。 ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## 透過名稱或 ID 取得日曆 +## 依名稱或 ID 取得行事曆 -### 第 1 步:載入項目。 +### 步驟 1:載入專案。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 步驟 2:按名稱或 UID 擷取日曆。 +### 步驟 2:依名稱或 UID 取得行事曆。 +此說明 **依名稱取得行事曆** 的操作。 ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### 步驟 3:顯示日曆詳細資料。 +### 步驟 3:顯示行事曆詳細資訊。 ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## 迭代日曆 +## 遍歷行事曆 -### 第 1 步:載入項目。 +### 步驟 1:載入專案。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 步驟 2:檢索日曆的計數。 +### 步驟 2:取得行事曆的數量。 ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### 步驟 3:迭代日曆集合和顯示名稱。 +### 步驟 3:遍歷行事曆集合並顯示名稱。 ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +141,78 @@ foreach (var calendar in calendars) } ``` -## 製作標準日曆 +## 建立標準行事曆 -### 步驟1:初始化一個新項目。 +### 步驟 1:初始化新專案。 ```csharp var project = new Project(); ``` -### 第 2 步:定義新日曆並使其成為標準。 +### 步驟 2:定義新行事曆並將其設為標準。 ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### 步驟 3:儲存項目。 +### 步驟 3:儲存專案。 ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## 結論 +## 常見問題與解決方案 -在 Aspose.Tasks for .NET 中管理行事曆集合對於有效的專案管理至關重要。透過提供的功能,您可以根據專案要求有效地建立、修改和操作日曆。 +- **使用 `GetByName` 時找不到行事曆** – 確認名稱完全相同且大小寫與加入時一致。 +- **工作時間未套用** – 設定 `WorkingTime` 後,請記得儲存專案;否則變更僅保留在記憶體中。 +- **從 MPP 檔匯入行事曆失敗** – 請確認來源檔案為有效的 Microsoft Project 檔,且您具有讀取權限。 -## 常見問題解答 +## 常見問答 ### Q1:我可以在 Aspose.Tasks 中建立自訂工作日嗎? -A1:是的,您可以透過向日曆新增例外來建立自訂工作日。 +A1:可以,您可以透過在行事曆加入例外來建立自訂工作日。 + +### Q2:是否可以從 Microsoft Project 檔案匯入行事曆? + +A2:當然可以,Aspose.Tasks 支援從 Microsoft Project 檔案匯入行事曆。 + +### Q3:我該如何從專案中移除特定行事曆? -### 問題 2:是否可以從 Microsoft Project 檔案匯入行事曆? +A3:您可以先從集合中取得該行事曆,然後呼叫 `Remove` 方法將其移除。 -A2:當然,Aspose.Tasks 支援從 Microsoft Project 檔案匯入日曆。 +### Q4:Aspose.Tasks 是否支援將行事曆匯出為不同格式? -### 問題 3:如何從專案中刪除特定日曆? +A4:是的,Aspose.Tasks 可將行事曆匯出為 XML、MPP 等多種格式。 - A3:您可以透過從集合中取得日曆然後調用`Remove`方法。 +### Q5:我可以為行事曆中的特定日期自訂工作時間嗎? -### Q4:Aspose.Tasks 支援將日曆匯出為不同格式嗎? +A5:當然可以,您可透過在行事曆中加入例外,為個別日期定義工作時間。 -A4:是的,Aspose.Tasks 允許將日曆匯出為各種格式,如 XML、MPP 等。 +## 常見問題 + +**Q:設定 24 小時輪班行事曆的最佳方式是什麼?** +A:建立新行事曆,清除現有的 `WorkingTime` 項目,然後為每個工作日新增一個從 00:00 到 24:00 的 `WorkingTime` 範圍。 + +**Q:我可以將行事曆從一個專案複製到另一個嗎?** +A:可以—使用 `project.Save` 將行事曆匯出為 XML,然後使用 `new Project(xmlPath)` 匯入至另一個專案。 + +**Q:如何以程式方式匯入 Microsoft Project 的行事曆?** +A:使用 `new Project("source.mpp")` 載入 MPP 檔案;行事曆即可透過 `project.Calendars` 取得。 + +**Q:專案中的行事曆數量有限制嗎?** +A:實際上沒有;只要記憶體允許,集合可容納任意數量的行事曆,但為了效能建議保持列表可管理。 + +**Q:對行事曆的變更會自動更新使用該行事曆的工作項目嗎?** +A:會的—在儲存專案後,連結至該行事曆的工作項目會反映更新後的工作時間。 + +--- -### Q5:我可以在日曆中自訂特定日期的工作時間嗎? +**最後更新:** 2026-04-13 +**測試環境:** Aspose.Tasks 24.11 for .NET +**作者:** Aspose -A5:當然,您可以使用日曆中的例外情況來定義單日的工作時間。 {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hongkong/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/hongkong/net/calendar-scheduling/calendar-exceptions/_index.md index 8848414eb..857f999d2 100644 --- a/tasks/hongkong/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/hongkong/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,62 @@ --- -title: 處理 Aspose.Tasks 中的日曆異常 -linktitle: 處理 Aspose.Tasks 中的日曆異常 +date: 2026-04-13 +description: 學習如何在 Aspose.Tasks for .NET 中刪除行事曆例外,並在管理 ASP.NET 行事曆排程時檢查例外日期。 +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: 使用 Aspose.Tasks 刪除日曆例外 second_title: Aspose.Tasks .NET API -description: 透過逐步教學和範例,了解如何在 Aspose.Tasks for .NET 中管理行事曆異常。 -weight: 12 +title: 使用 Aspose.Tasks 刪除行事曆例外 url: /zh-hant/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# 處理 Aspose.Tasks 中的日曆異常 +# 刪除日曆例外與 Aspose.Tasks + +## 簡介 + +在本教學中,您將學習如何 **刪除日曆例外**,以及如何在 Aspose.Tasks 中使用 .NET 框架管理其他日曆例外。日曆例外讓您能夠模擬假期、臨時關閉或任何正常工作時間變更的特殊期間。了解如何新增、查詢和移除這些例外對於精確的專案排程至關重要,尤其是在 **ASP.NET 日曆排程** 情境中。 + +## 快速解答 +- **移除例外的主要方法是什麼?** 使用 `CalendarException` 物件的 `Delete()` 方法。 +- **哪個類別用於檢查日期是否在例外範圍內?** `CalendarException.CheckException()`——可用於 **檢查例外日期**。 +- **執行程式碼是否需要授權?** 是的,生產環境必須使用有效的 Aspose.Tasks 授權。 +- **我可以在同一個日曆中新增多個例外嗎?** 當然可以;`Exceptions` 集合支援多個條目。 +- **支援的 .NET 版本?** .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6/7。 + +## 什麼是日曆例外? + +**日曆例外** 代表與常規工作日曆的偏離——可視為一條規則,表示「在這些日期,工作時間不同或完全沒有」。在 Aspose.Tasks 中,每個例外都可以擁有自己的工作時間、重複模式以及指示該天是否為工作日的旗標。 -## 介紹 +## 為何在 ASP.NET 日曆排程中管理日曆例外? -在本教程中,我們將探討如何使用 .NET 框架在 Aspose.Tasks 中管理日曆例外狀況。日曆例外允許我們在專案日曆中定義特殊日期或時期,其中常規工作時間表會發生變化,例如假期或臨時關閉。我們將使用 Aspose.Tasks for .NET 逐步介紹處理行事曆例外狀況的各種方法。 +- **準確的時間線:** 專案會自動遵守假期與特殊關閉,避免不切實際的截止日期。 +- **彈性:** 您可以定義每日、每週、每月或每年的模式,以符合現實商業日曆。 +- **自動化:** 以程式方式檢查例外日期,使您能在 ASP.NET 應用程式中構建動態排程邏輯。 ## 先決條件 -在我們開始之前,請確保您符合以下先決條件: -- C# 程式語言的基礎知識。 -- Visual Studio 安裝在您的系統上。 -- Aspose.Tasks for .NET 函式庫已新增至您的專案中。 +- 基本的 C# 程式設計知識。 +- Visual Studio(任何較新版本)。 +- 已在專案中加入 Aspose.Tasks for .NET 程式庫(透過 NuGet 或手動參考)。 -## 導入命名空間 +## 匯入命名空間 -首先,讓我們為我們的專案導入必要的命名空間: +首先,匯入您需要的命名空間: ```csharp using Aspose.Tasks; using System; - - ``` ## 步驟 1:刪除日曆例外 -若要刪除行事曆例外,請依照下列步驟操作: +移除不需要的例外相當簡單。以下程式碼會載入專案、選取第一個日曆、顯示基本資訊、刪除第一個例外,然後顯示更新後的計數。 ```csharp public void CalendarExceptionDelete() @@ -45,20 +64,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - //顯示日曆資訊 + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - //刪除第一個異常 + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## 步驟2:取得日曆異常的工作時間 +> **專業提示:** 在呼叫 `Delete()` 之前,務必確認例外索引是否存在,以避免 `IndexOutOfRangeException`。 + +## 步驟 2:取得日曆例外的工作時間 -若要擷取日曆例外的工作時間,請依照下列步驟操作: +如果需要檢查例外所定義的工作時段,請使用 `GetWorkingTime()`。此範例同時示範如何使用 `CheckException` **檢查例外日期**。 ```csharp [Test] @@ -68,12 +89,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - //顯示日曆和異常訊息 + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - //獲取工作時間並顯示詳細信息 + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -87,7 +108,7 @@ public void CalendarExceptionGetWorkingTime() ## 步驟 3:定義日曆例外 -若要新增或刪除日曆例外,請依照下列步驟操作: +以下是一個完整的操作流程,展示如何 **新增**、**檢查** 與 **移除** 日曆例外。請注意使用 `CheckException` 來 **檢查特定時刻的例外日期**。 ```csharp [Test] @@ -96,10 +117,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - //建立新的日曆例外 + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - //設定異常詳細資訊 + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +128,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - //檢查日期是否異常 + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - //將例外加入日曆中 + // Add the exception to the calendar calendar.Exceptions.Add(exception); - //刪除異常(如果存在) + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +142,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - //新增新的例外 + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - //列印例外 + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +158,44 @@ public void DefineCalendarExceptions() } ``` -## 結論 +## 常見問題與技巧 -在本文中,我們介紹了在 Aspose.Tasks for .NET 中處理行事曆異常的各個面向。透過遵循提供的步驟,您可以有效地管理專案進度中的異常情況,確保準確表示工作時間和特殊事件。 +| 問題 | 原因 | 解決方案 | +|-------|--------|----------| +| **刪除時的 `IndexOutOfRangeException`** | 嘗試刪除不存在的例外。 | 在呼叫 `Delete()` 前,確認 `calendar.Exceptions.Count` 大於索引。 | +| **工作時間不正確** | 未正確設定 `DayWorking` 或 `WorkingTimes`。 | 使用 `exception.WorkingTimes.Add(new WorkingTime(...))` 來定義明確的時間段。 | +| **例外未被識別** | `CheckException` 回傳 `false`,因為日期不在定義的範圍內。 | 再次確認 `FromDate`/`ToDate` 以及 `Type`(每日、每週等)。 | -## 常見問題解答 +## 常見問題 -### Q1:我可以在一個行事曆中新增多個例外嗎? +**Q: 我可以在單一日曆中新增多個例外嗎?** +**A:** 是的,您可以根據需要新增任意數量的例外,以表示假期、維護窗口或任何特殊排程規則。 -A1:是的,您可以在日曆上新增多個例外,以適應各種特殊日期或時段。 +**Q: 我該如何 **檢查例外日期** 於特定日期?** +**A:** 使用 `CalendarException` 實例的 `CheckException(DateTime date)` 方法。若提供的日期落在例外範圍內,會回傳 `true`。 -### Q2:如何檢查特定日期是否異常? +**Q: 是否可以從日曆中移除已存在的例外?** +**A:** 當然可以。存取 `Exceptions` 集合,然後呼叫 `Remove()` 或對特定的 `CalendarException` 物件使用 `Delete()`。 - A2:您可以使用`CheckException()`方法來驗證特定日期是否屬於例外情況。 +**Q: 支援哪些類型的日曆例外?** +**A:** Aspose.Tasks 支援每日、每週、每月與每年例外類型,讓您能彈性地建模幾乎任何重複模式。 -### 問題 3:是否可以從日曆中刪除現有的例外? +**Q: 我可以為特定例外日期自訂工作時間嗎?** +**A:** 可以。建立例外後,將 `WorkingTime` 物件加入其 `WorkingTimes` 集合,以定義該日的開始與結束時間。 - A3:是的,您可以透過訪問`Exceptions`收集日曆並使用`Remove()`方法。 +## 結論 -### 問題 4:支援哪些類型的日曆例外? +我們已完整說明 **刪除日曆例外** 的全流程,從檢視現有例外、新增例外到檢查日期。精通這些技巧可確保您的專案排程遵循真實世界的日曆,使您的 ASP.NET 日曆排程實作更為穩健可靠。 -A4:Aspose.Tasks支援各種類型的異常,包括每日、每週、每月和每年的異常,為定義異常規則提供了靈活性。 +--- -### Q5:我可以自訂特定例外日期的工作時間嗎? +**最後更新:** 2026-04-13 +**測試版本:** Aspose.Tasks for .NET (latest release) +**作者:** Aspose -A5:是的,您可以使用 Aspose.Tasks 提供的適當方法為各個例外日期定義自訂工作時間。 {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hongkong/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/hongkong/net/calendar-scheduling/child-tasks-collector/_index.md index 8ef2f2173..09de3f450 100644 --- a/tasks/hongkong/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/hongkong/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,95 @@ --- -title: 在 Aspose.Tasks 中收集子任務 -linktitle: 在 Aspose.Tasks 中收集子任務 +date: 2026-04-13 +description: 學習如何使用 Aspose.Tasks for .NET 建立子任務收集器。提升您 .NET 應用程式的專案管理。 +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: 在 Aspose.Tasks 中建立子任務收集器 second_title: Aspose.Tasks .NET API -description: 了解如何使用 Aspose.Tasks for .NET 有效地收集子任務。改進 .NET 應用程式中的專案管理。 -weight: 15 +title: 如何在 Aspose.Tasks 中建立子任務收集器 url: /zh-hant/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# 在 Aspose.Tasks 中收集子任務 +# 在 Aspose.Tasks 中建立子任務收集器 ## 介紹 -在專案管理領域,Aspose.Tasks for .NET 作為高效能處理任務和專案的強大解決方案脫穎而出。這個強大的程式庫為開發人員提供了無縫管理任務、專案和所有內容所需的工具。在本教程中,我們將深入研究 Aspose.Tasks 的一個特定方面:收集子任務。 +如果您需要為 Microsoft Project 檔案 **create child tasks collector**,Aspose.Tasks for .NET 讓這個過程變得簡單。在本教學中,我們將逐步說明收集父任務下所有子任務的具體步驟,讓您能自信地處理、分析或匯出它們。完成本指南後,您將擁有一段可重用的程式碼片段,能自然地融入任何基於 .NET 的專案管理解決方案。 + +## 快速解答 +- **ChildTasksCollector 的功能是什麼?** 它會遍歷任務層級結構,將所有子孫任務收集到一個集合中。 +- **哪個函式庫提供此功能?** Aspose.Tasks for .NET。 +- **執行範例是否需要授權?** 免費試用可用於評估;正式環境需購買授權。 +- **支援哪些 .NET 版本?** .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6+。 +- **實作大約需要多久?** 安裝函式庫後約 5‑10 分鐘即可完成。 + +## 什麼是 Child Tasks Collector? + +**child tasks collector** 是一個實用物件,會從指定的根任務開始,遍歷 Project 檔案的任務樹,並彙總它遇到的每一個子任務(子任務)。當您想要執行批次操作——例如更新欄位、匯出資料或產生報表——而不必手動逐層迭代時,這特別有用。 + +## 為什麼要建立 child tasks collector? -## 先決條件 +- **簡化遞迴:** 收集器在內部處理深度優先遍歷,讓您免於自行編寫遞迴迴圈。 +- **提升生產力:** 在單一集合中取得所有子孫任務,使批次編輯或分析變得簡單。 +- **維持程式碼整潔:** 將業務邏輯與專案結構的低階導航分離。 -在我們開始之前,請確保您具備以下先決條件: +## 前置條件 -1. 對 C# 的基本了解:熟悉 C# 程式語言至關重要。 -2. 安裝 Aspose.Tasks for .NET:從下列位置下載並安裝 Aspose.Tasks for .NET 函式庫:[下載連結](https://releases.aspose.com/tasks/net/). -3. 開發環境:設定開發環境,例如 Visual Studio,用於編寫和執行 C# 程式碼。 -4. 取得文件:保留[.NET 文件的 Aspose.Tasks](https://reference.aspose.com/tasks/net/)方便參考。 +在開始之前,請確保您已具備以下條件: -現在我們已經滿足了先決條件,讓我們深入了解使用 Aspose.Tasks for .NET 收集子任務的逐步指南。 +1. **Basic Understanding of C#** – 您應該能熟練撰寫與執行簡單的主控台應用程式。 +2. **Aspose.Tasks for .NET installed** – 從 [download link](https://releases.aspose.com/tasks/net/) 下載並安裝。 +3. **A development environment** – Visual Studio、Rider 或任何支援 C# 的 IDE。 +4. **Access to the official docs** – 請將 [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) 隨手備用以供參考。 -## 導入命名空間 +現在基礎已就緒,讓我們深入程式碼。 -首先,將必要的命名空間匯入到您的 C# 程式碼中,以存取 Aspose.Tasks for .NET 提供的功能。 +## 匯入命名空間 + +首先,將所需的命名空間匯入作用域,讓編譯器知道要從哪裡取得我們將使用的類別。 ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -現在,讓我們將提供的範例分解為多個步驟,以徹底理解該過程。 +## 步驟說明 -## 第 1 步:初始化項目對象 +### 步驟 1:初始化 Project 物件 ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` -這行程式碼初始化一個新的`Project`對象,從指定目錄載入名為「ParentChildTasks.mpp」的專案檔案。 +此行程式碼會從 `DataDir` 資料夾載入現有的 Microsoft Project 檔案 (`ParentChildTasks.mpp`) 成為 `Project` 物件,讓我們能以程式方式存取其任務。 -## 步驟2:建立ChildTasksCollector對象 +### 步驟 2:建立 ChildTasksCollector 實例 ```csharp var collector = new ChildTasksCollector(); ``` -在這裡,我們創建一個新的`ChildTasksCollector`對象,這將幫助我們從專案中收集子任務。 +此處我們 **create child tasks collector** —— 建立一個 `ChildTasksCollector` 實例,用於儲存它發現的每一個子任務。 -## 步驟 3:將收集器應用到根任務 +### 步驟 3:將收集器套用至根任務 ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` -我們應用`ChildTasksCollector`到專案的根任務,遞歸地啟動收集過程。 +我們指示 Aspose.Tasks 從專案的根任務開始收集。`Apply` 方法會遞迴遍歷層級,將所有子孫任務填入 `collector.Tasks`。 -## 第 4 步:迭代收集的任務 +### 步驟 4:遍歷收集到的任務 ```csharp foreach (var task in collector.Tasks) @@ -75,36 +98,42 @@ foreach (var task in collector.Tasks) } ``` -最後,我們迭代收集的任務並將其名稱列印到控制台。 - -## 結論 +最後,我們遍歷收集到的任務,並將每個任務的名稱輸出至主控台。實務上,您可以將 `Console.WriteLine` 替換為任何自訂的處理程序(例如匯出為 CSV、更新欄位等)。 -在本教程中,我們探討如何使用 Aspose.Tasks for .NET 收集子任務。透過執行上述步驟,您可以有效地管理和操作專案中的任務,從而提高生產力和組織性。 +## 常見問題與解決方案 -## 常見問題解答 +| 問題 | 原因 | 解決方案 | +|-------|--------|-----| +| **未返回任何任務** | 收集器套用到錯誤的任務(例如葉節點)。 | 將 `TaskUtils.Apply` 套用至 `project.RootTask` 或您想要開始的特定父任務。 | +| **NullReferenceException** | `DataDir` 或檔案路徑不正確。 | 確認 `DataDir` 指向包含 `ParentChildTasks.mpp` 的資料夾。 | +| **License not set** | Aspose.Tasks 在試用模式下會拋出授權警告。 | 在建立 `Project` 物件之前,使用 `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` 載入授權。 | -### Q1:Aspose.Tasks for .NET 是否與所有版本的 .NET 相容? +## 常見問答 -A1:是的,Aspose.Tasks for .NET 與.NET 框架的各個版本相容,確保了廣泛的兼容性。 +**Q: Aspose.Tasks for .NET 是否相容所有 .NET 版本?** +A: 是的,Aspose.Tasks for .NET 支援 .NET Framework 4.5+、.NET Core 3.1+ 以及 .NET 5/6+。 -### Q2:我可以使用 Aspose.Tasks for .NET 建立新的專案檔案嗎? +**Q: 我可以使用 Aspose.Tasks for .NET 來建立新專案檔案嗎?** +A: 當然可以!此函式庫允許您以程式方式建立、讀取與操作專案檔案。 -A2:當然! Aspose.Tasks for .NET 提供了輕鬆建立、讀取和操作項目檔案的功能。 +**Q: Aspose.Tasks for .NET 是否支援多平台?** +A: 雖然它是為 .NET 設計,但可在任何支援 .NET 執行環境的平台上執行,包括 Windows、Linux 與 macOS。 -### Q3:Aspose.Tasks for .NET 支援多個平台嗎? +**Q: 是否提供 Aspose.Tasks for .NET 的技術支援?** +A: 有,您可透過 [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15) 取得協助。 -A3:雖然Aspose.Tasks for .NET主要是為.NET環境設計的,但它可以在支援.NET開發的各種平台中使用。 +**Q: 我可以在購買前試用 Aspose.Tasks for .NET 嗎?** +A: 當然!可從 [release page](https://releases.aspose.com/) 取得免費試用版。 -### Q4:Aspose.Tasks for .NET 是否提供技術支援? - -A4:是的,使用者可以透過[Aspose.Tasks 論壇](https://forum.aspose.com/c/tasks/15). +--- -### Q5:我可以在購買前試用 Aspose.Tasks for .NET 嗎? +**最後更新:** 2026-04-13 +**測試環境:** Aspose.Tasks 24.11 for .NET +**作者:** Aspose - A5:當然!您可以從以下網站獲得免費試用[發布頁面](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hungarian/net/calendar-scheduling/calendar-collection/_index.md b/tasks/hungarian/net/calendar-scheduling/calendar-collection/_index.md index 08ae9a441..a121aaef7 100644 --- a/tasks/hungarian/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/hungarian/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Naptárgyűjtemény kezelése az Aspose.Tasks alkalmazásban -linktitle: Naptárgyűjtemény kezelése az Aspose.Tasks alkalmazásban +date: 2026-04-13 +description: Ismerje meg, hogyan állíthat be munkaidőket és kezelheti a naptárgyűjteményeket + az Aspose.Tasks for .NET-ben. Importáljon naptárakat a Microsoft Projectből, távolítson + el naptárakat a projektből, és könnyedén szerezze be a naptárat név szerint. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Naptárgyűjtemény kezelése az Aspose.Tasks‑ben second_title: Aspose.Tasks .NET API -description: Ismerje meg, hogyan kezelheti hatékonyan a naptárgyűjteményeket az Aspose.Tasks for .NET-ben. Könnyedén hozhat létre, módosíthat és kezelhet naptárakat. -weight: 11 +title: Munkaidő beállítása az Aspose.Tasks naptárgyűjteményben url: /hu/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Naptárgyűjtemény kezelése az Aspose.Tasks alkalmazásban +# Munkaidő beállítása az Aspose.Tasks naptárgyűjteményben -## Bevezetés +Ebben az útmutatóban megtanulja, hogyan **állíthat be munkaidőt**, és kezelheti a naptárgyűjteményeket az Aspose.Tasks for .NET segítségével. A naptárak meghatározzák a munkanapokat, ünnepnapokat és kivételeket, így azok elsajátítása lehetővé teszi a projekt ütemezésének pontos irányítását. Bemutatjuk továbbá, hogyan importálhat naptárakat a Microsoft Projectből, hogyan távolíthat el egy naptárat egy projektből, és hogyan kérhet le egy naptárat név alapján. -Ebben az oktatóanyagban megvizsgáljuk, hogyan kezelheti a naptárgyűjteményeket az Aspose.Tasks for .NET-ben. A naptárak döntő szerepet játszanak a projektmenedzsmentben, meghatározzák a munkanapokat, ünnepnapokat és kivételeket. Az Aspose.Tasks robusztus funkcionalitást biztosít a projekteken belüli naptárak kezeléséhez. +## Gyors válaszok +- **Mi a fő osztály a naptárakhoz?** `Project.Calendars` gyűjtemény. +- **Hogyan állíthatom be a munkaidőt?** Hozzon létre vagy módosítson egy `Calendar` objektumot, és határozza meg a `WorkingTime`-ját. +- **Importálhatok naptárakat a Microsoft Projectből?** Igen – töltsön be egy MPP fájlt, és érje el annak naptárait. +- **Hogyan távolítható el egy naptár egy projektből?** Használja a `Project.Calendars.Remove(calendar)` metódust. +- **Hogyan kérhető le egy naptár név alapján?** Hívja a `Project.Calendars.GetByName("YourCalendar")` metódust. ## Előfeltételek -Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik az alábbiakkal: +Mielőtt elkezdenénk, győződjön meg róla, hogy a következőkkel rendelkezik: -1. Visual Studio: Telepítse a Visual Studio-t vagy bármely más kompatibilis IDE-t a .NET-fejlesztéshez. -2. Aspose.Tasks for .NET: Töltse le és telepítse az Aspose.Tasks for .NET webhelyet innen[itt](https://releases.aspose.com/tasks/net/). -3. A C# alapszintű ismerete: A C# programozási nyelv ismerete előnyt jelent. +1. Visual Studio: Telepítse a Visual Studio-t vagy bármely más, .NET fejlesztéshez kompatibilis IDE-t. +2. Aspose.Tasks for .NET: Töltse le és telepítse az Aspose.Tasks for .NET-et innen: [here](https://releases.aspose.com/tasks/net/). +3. Alapvető C# ismeretek: A C# programozási nyelv ismerete előnyös lesz. ## Névterek importálása -Először is importáljuk az Aspose.Tasks használatához szükséges névtereket: +Először importáljuk a szükséges névtereket az Aspose.Tasks használatához: ```csharp using Aspose.Tasks; @@ -35,12 +48,11 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Új naptár létrehozása -### 1. lépés: Inicializáljon egy újat`Project` object. +### 1. lépés: Új `Project` objektum inicializálása. ```csharp var project = new Project(); ``` @@ -52,7 +64,7 @@ var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### 3. lépés: Ismételje meg a naptárakat, és jelenítse meg a nevüket. +### 3. lépés: A naptárak bejárása és nevének megjelenítése. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Naptár cseréje új naptárra +## Hogyan állítsuk be a munkaidőt egy naptárhoz? + +A **munkaidő beállításához** módosítja egy `Calendar` `WorkingTime` gyűjteményét. +Például definiálhat egy szabványos 9‑17 órás munkanapot, vagy egyedi kivételeket adhat hozzá. +Ennek a kódja megegyezik a később bemutatott példákkal, amikor egy szabványos naptárat hozunk létre. -### 1. lépés: Töltsön be egy meglévő projektet. +## Naptár cseréje egy új naptárral + +### 1. lépés: Létező projekt betöltése. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 2. lépés: Távolítsa el a meglévő naptárt (ha van). +### 2. lépés: A meglévő naptár eltávolítása (ha létezik). +Ez bemutatja a **naptár eltávolítása a projektből** szcenáriót. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -84,37 +103,38 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M ## Naptár lekérése név vagy azonosító alapján -### 1. lépés: Töltse be a projektet. +### 1. lépés: Projekt betöltése. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 2. lépés: Naptárak lekérése név vagy UID alapján. +### 2. lépés: Naptárak lekérése név vagy UID alapján. +Ez szemlélteti a **naptár lekérése név alapján** műveletet. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### 3. lépés: Jelenítse meg a naptár részleteit. +### 3. lépés: Naptár részleteinek megjelenítése. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Iterálás a naptárak felett +## Naptárak bejárása -### 1. lépés: Töltse be a projektet. +### 1. lépés: Projekt betöltése. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 2. lépés: A naptárak számának lekérése. +### 2. lépés: Naptárak számának lekérése. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### 3. lépés: Ismételje meg a naptárgyűjteményt és a megjelenített neveket. +### 3. lépés: A naptárgyűjtemény bejárása és nevek megjelenítése. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +143,78 @@ foreach (var calendar in calendars) } ``` -## Szabványos naptár készítése +## Szabványos naptár létrehozása -### 1. lépés: Inicializáljon egy új projektet. +### 1. lépés: Új projekt inicializálása. ```csharp var project = new Project(); ``` -### 2. lépés: Határozzon meg egy új naptárt, és tegye szabványossá. +### 2. lépés: Új naptár definiálása és szabványossá tétele. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### 3. lépés: Mentse el a projektet. +### 3. lépés: Projekt mentése. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Következtetés +## Gyakori problémák és megoldások + +- **Naptár nem található a `GetByName` használatakor** – Győződjön meg arról, hogy a pontos név megegyezik a naptár hozzáadásakor használt esetérzékeny névvel. +- **A munkaidő nem alkalmazódik** – A `WorkingTime` beállítása után ne felejtse el menteni a projektet; különben a változások csak memóriában maradnak. +- **A naptárak importálása MPP fájlból sikertelen** – Ellenőrizze, hogy a forrásfájl érvényes Microsoft Project fájl, és hogy rendelkezik olvasási jogosultsággal. + +## Gyakran Ismételt Kérdések + +### Q1: Létrehozhatok egyedi munkanapokat az Aspose.Tasks-ben? -A naptárgyűjtemények kezelése az Aspose.Tasks for .NET-ben elengedhetetlen a hatékony projektmenedzsmenthez. A biztosított funkciókkal hatékonyan hozhat létre, módosíthat és kezelhet naptárakat a projekt igényei szerint. +A1: Igen, egyedi munkanapokat hozhat létre a naptárakhoz kivételeket hozzáadva. -## GYIK +### Q2: Lehetséges naptárakat importálni Microsoft Project fájlokból? -### 1. kérdés: Létrehozhatok egyéni munkanapokat az Aspose.Tasks alkalmazásban? +A2: Teljesen, az Aspose.Tasks támogatja a naptárak importálását Microsoft Project fájlokból. -1. válasz: Igen, létrehozhat egyéni munkanapokat, ha kivételeket ad hozzá a naptárokhoz. +### Q3: Hogyan távolíthatok el egy konkrét naptárat egy projektből? -### 2. kérdés: Lehetséges naptárak importálása Microsoft Project fájlokból? +A3: Egy naptárat a gyűjteményből lekérve, majd a `Remove` metódus meghívásával távolíthat el. -2. válasz: Az Aspose.Tasks feltétlenül támogatja a naptárak importálását a Microsoft Project fájlokból. +### Q4: Támogatja az Aspose.Tasks a naptárak exportálását különböző formátumokba? -### 3. kérdés: Hogyan távolíthatok el egy adott naptárt egy projektből? +A4: Igen, az Aspose.Tasks lehetővé teszi a naptárak exportálását különböző formátumokba, például XML, MPP stb. - 3. válasz: Eltávolíthat egy naptárt, ha letölti a gyűjteményből, majd felhívja a`Remove` módszer. +### Q5: Testreszabhatom a munkaidőt egy naptárban konkrét napokra? -### 4. kérdés: Az Aspose.Tasks támogatja a naptárak különböző formátumokba történő exportálását? +A5: Természetesen, a naptárban kivételek segítségével meghatározhatja a munkaidőt egyedi napokra. -4. válasz: Igen, az Aspose.Tasks lehetővé teszi a naptárak exportálását különböző formátumokba, például XML, MPP stb. +## Gyakran Ismételt Kérdések + +**Q: Mi a legjobb mód egy 24‑órás műszak naptár beállítására?** +A: Hozzon létre egy új naptárat, törölje a meglévő `WorkingTime` bejegyzéseket, és minden hétköznapra adjon hozzá egyetlen `WorkingTime` tartományt 00:00-tól 24:00-ig. + +**Q: Másolhatok egy naptárat egy projektből a másikba?** +A: Igen – exportálja a naptárat XML-be a `project.Save` segítségével, majd importálja egy másik projektbe a `new Project(xmlPath)` használatával. + +**Q: Hogyan importálhatok programozottan naptárakat a Microsoft Projectből?** +A: Töltse be az MPP fájlt a `new Project("source.mpp")` paranccsal; a naptárak a `project.Calendars` segítségével elérhetők. + +**Q: Van korlát a projektben lévő naptárak számát illetően?** +A: Gyakorlatilag nincs; a gyűjtemény annyi naptárt tárolhat, amennyi a memória engedi, de a teljesítmény érdekében érdemes a listát kezelhető méretűen tartani. + +**Q: A naptár módosításai automatikusan frissítik a hozzá kapcsolt feladatokat?** +A: Igen – a naptárhoz kapcsolt feladatok a projekt mentése után tükrözik a frissített munkaidőket. + +--- -### 5. kérdés: Testreszabhatom a munkaidőt adott napokra a naptárban? +**Utolsó frissítés:** 2026-04-13 +**Tesztelve:** Aspose.Tasks 24.11 for .NET +**Szerző:** Aspose -5. válasz: Természetesen a naptárban kivételekkel meghatározhatja az egyes napok munkaidejét. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hungarian/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/hungarian/net/calendar-scheduling/calendar-exceptions/_index.md index 14abddb9f..126b4ad4d 100644 --- a/tasks/hungarian/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/hungarian/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: A naptári kivételek kezelése az Aspose.Tasks-ban -linktitle: A naptári kivételek kezelése az Aspose.Tasks-ban +date: 2026-04-13 +description: Ismerje meg, hogyan törölhet naptárkivételt az Aspose.Tasks .NET verziójában, + és ellenőrizze a kivétel dátumát az ASP.NET naptár ütemezésének kezelése során. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Naptárkivétel törlése az Aspose.Tasks használatával second_title: Aspose.Tasks .NET API -description: Ismerje meg, hogyan kezelheti a naptárkivételeket az Aspose.Tasks for .NET programban lépésenkénti oktatóanyagok és példák segítségével. -weight: 12 +title: Naptárkivétel törlése az Aspose.Tasks segítségével url: /hu/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# A naptári kivételek kezelése az Aspose.Tasks-ban +# Naptárkivétel törlése az Aspose.Tasks segítségével ## Bevezetés -Ebben az oktatóanyagban megvizsgáljuk, hogyan kezelhetjük a naptárkivételeket az Aspose.Tasks programban a .NET keretrendszer használatával. A naptári kivételek lehetővé teszik számunkra, hogy különleges dátumokat vagy időszakokat határozzunk meg a projektnaptárban, amikor a szokásos munkarend megváltozik, például ünnepnapok vagy ideiglenes bezárások. A naptárkivételek kezelésének különféle módszereit ismertetjük lépésről lépésre az Aspose.Tasks for .NET használatával. +Ebben az útmutatóban megtanulja, hogyan **delete calendar exception** és kezelje a többi naptárkivételt az Aspose.Tasks-ben a .NET keretrendszer használatával. A naptárkivételek lehetővé teszik, hogy modellezze a szabadságokat, ideiglenes zárásokat vagy bármilyen különleges időszakot, amikor a normál munkarend megváltozik. A kivételek hozzáadásának, lekérdezésének és eltávolításának megértése elengedhetetlen a pontos projektütemezéshez, különösen **ASP.NET calendar scheduling** szcenáriók esetén. + +## Gyors válaszok +- **Mi a fő módszer egy kivétel eltávolításához?** Use the `Delete()` method on the `CalendarException` object. +- **Melyik osztály ellenőrzi a dátumot egy kivétel ellen?** `CalendarException.CheckException()`—useful to **check exception date**. +- **Szükségem van licencre a kód futtatásához?** Igen, egy érvényes Aspose.Tasks licenc szükséges a termelésben való használathoz. +- **Hozzáadhatok több kivételt egy naptárhoz?** Természetesen; a `Exceptions` gyűjtemény sok bejegyzést támogat. +- **Támogatott .NET verziók?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Mi a naptárkivétel? + +A **calendar exception** egy eltérést jelent a szabályos munkanaptártól — tekintse úgy, mint egy szabályt, amely azt mondja: „ezeken a dátumokon a munkaidő más vagy egyáltalán nincs.” Az Aspose.Tasks-ben minden kivétel saját munkavégzési időkkel, ismétlődési mintával és jelzőkkel rendelkezhet, amelyek azt mutatják, hogy a nap munkanap-e. + +## Miért kezeljük a naptárkivételeket az ASP.NET Calendar Scheduling-ban? + +- **Pontos ütemtervek:** A projektek automatikusan figyelembe veszik a szabadságokat és a különleges zárásokat, megakadályozva a irreális határidőket. +- **Rugalmasság:** Napi, heti, havi vagy éves mintákat definiálhat, amelyek megfelelnek a valós üzleti naptáraknak. +- **Automatizálás:** A kivétel dátumának programozott ellenőrzése lehetővé teszi, hogy dinamikus ütemezési logikát építsen ASP.NET alkalmazásokban. ## Előfeltételek -Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik a következő előfeltételekkel: -- C# programozási nyelv alapismerete. -- A Visual Studio telepítve van a rendszerére. -- Aspose.Tasks for .NET könyvtár hozzáadva a projekthez. +- Alapvető C# programozási ismeretek. +- Visual Studio (bármely friss verzió). +- Aspose.Tasks for .NET könyvtár hozzáadva a projekthez (NuGet-en vagy manuális hivatkozással). -## Névterek importálása +## Névtér importálása -Először is importáljuk a projektünkhöz szükséges névtereket: +Először importálja a szükséges névtereket: ```csharp using Aspose.Tasks; using System; - - ``` -## 1. lépés: Naptári kivétel törlése +## 1. lépés: Naptárkivétel törlése -Naptárkivétel törléséhez kövesse az alábbi lépéseket: +Egy nem kívánt kivétel eltávolítása egyszerű. Az alábbi kód betölti a projektet, kiválasztja az első naptárat, megjeleníti az alapinformációkat, törli az első kivételt, majd mutatja a frissített számot. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Naptárinformációk megjelenítése + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Távolítsa el az első kivételt + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## 2. lépés: A naptári kivétel munkaidő-beszámítása +> **Pro tipp:** Mindig ellenőrizze, hogy a kivétel index létezik-e, mielőtt meghívná a `Delete()`-t, hogy elkerülje a `IndexOutOfRangeException`-t. + +## 2. lépés: Naptárkivétel munkavégzési idő lekérése -Egy naptárkivétel munkaidejének lekéréséhez kövesse az alábbi lépéseket: +Ha meg kell vizsgálnia egy kivételhez definiált munkavégzési órákat, használja a `GetWorkingTime()`-t. Ez a példa azt is bemutatja, hogyan **check exception date** a `CheckException` segítségével. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Naptár- és kivételinformációk megjelenítése + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // A munkaidő és a részletek megjelenítése + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## 3. lépés: Naptári kivételek meghatározása +## 3. lépés: Naptárkivételek definiálása -Naptárkivételek hozzáadásához vagy eltávolításához kövesse az alábbi lépéseket: +Az alábbiakban egy teljes útmutató látható, amely bemutatja, hogyan **add**, **check**, és **remove** naptárkivételeket. Figyelje meg a `CheckException` használatát a **check exception date** egy adott pillanatra. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Hozzon létre egy új naptárkivételt + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Állítsa be a kivétel részleteit + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Ellenőrizze, hogy egy dátum kivétel-e + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Adja hozzá a kivételt a naptárhoz + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Távolítsa el a kivételt, ha létezik + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Új kivétel hozzáadása + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Kivételek nyomtatása + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Következtetés +## Gyakori problémák és tippek -Ebben a cikkben az Aspose.Tasks for .NET naptárkivételeinek kezelésének különböző szempontjait ismertetjük. A megadott lépések követésével hatékonyan kezelheti a kivételeket a projekt ütemezésében, biztosítva a munkaidő és a különleges események pontos megjelenítését. +| Probléma | Ok | Megoldás | +|----------|----|----------| +| **`IndexOutOfRangeException` törléskor** | Megpróbál egy nem létező kivételt törölni. | Ellenőrizze, hogy a `calendar.Exceptions.Count` > index, mielőtt meghívná a `Delete()`-t. | +| **Helytelen munkavégzési idők** | `DayWorking` vagy `WorkingTimes` helytelen beállítása. | Használja a `exception.WorkingTimes.Add(new WorkingTime(...))`-t explicit időszakok meghatározásához. | +| **A kivétel nem ismerhető fel** | A `CheckException` `false`-t ad vissza, mert a dátum kívül esik a meghatározott tartományon. | Ellenőrizze újra a `FromDate`/`ToDate` és a `Type` (Daily, Weekly, stb.) értékeket. | -## GYIK +## Gyakran ismételt kérdések -### 1. kérdés: Hozzáadhatok több kivételt egyetlen naptárhoz? +**Q: Hozzáadhatok több kivételt egyetlen naptárhoz?** +A: Igen, annyi kivételt hozzáadhat, amennyire szükség van a szabadságok, karbantartási időszakok vagy bármilyen speciális ütemezési szabályok modellezéséhez. -1. válasz: Igen, több kivételt is hozzáadhat a naptárhoz, hogy megfeleljen a különféle különleges dátumoknak vagy időszakoknak. +**Q: Hogyan **check exception date** egy adott napra?** +A: Használja a `CheckException(DateTime date)` metódust egy `CalendarException` példányon. `true` értéket ad vissza, ha a megadott dátum a kivétel tartományába esik. -### 2. kérdés: Hogyan ellenőrizhetem, hogy egy adott dátum kivételt képez-e? +**Q: Lehet eltávolítani egy meglévő kivételt egy naptárból?** +A: Természetesen. Hozzáférhet a `Exceptions` gyűjteményhez, és meghívhatja a `Remove()`-t vagy a `Delete()`-t a konkrét `CalendarException` objektumon. - V2: Használhatja a`CheckException()` módszer annak ellenőrzésére, hogy egy adott dátum kivétel alá esik-e. +**Q: Milyen típusú naptárkivételek támogatottak?** +A: Az Aspose.Tasks támogatja a Daily, Weekly, Monthly és Yearly kivételtípusokat, ami rugalmasságot biztosít szinte bármilyen ismétlődési minta modellezéséhez. -### 3. kérdés: Eltávolítható-e egy meglévő kivétel a naptárból? +**Q: Testreszabhatom a munkavégzési órákat konkrét kivételdátumokhoz?** +A: Igen. Kivétel létrehozása után töltse fel a `WorkingTimes` gyűjteményét `WorkingTime` objektumokkal, amelyek meghatározzák az adott nap kezdő- és befejezési időpontját. - 3. válasz: Igen, eltávolíthatja a kivételeket, ha eléri a`Exceptions` a naptár gyűjtése és a`Remove()` módszer. +## Következtetés -### 4. kérdés: Milyen típusú naptári kivételek támogatottak? +Áttekintettük a **delete calendar exception** műveletek teljes életciklusát, a meglévő kivételek vizsgálatától az újak hozzáadásáig és a dátumok ellenőrzéséig. E technikák elsajátítása biztosítja, hogy projekt ütemezései tiszteletben tartsák a valós naptárakat, így az ASP.NET naptár ütemezési megoldásai robusztusak és megbízhatóak lesznek. -A4. válasz: Az Aspose.Tasks különféle típusú kivételeket támogat, beleértve a napi, heti, havi és éves kivételeket, rugalmasságot biztosítva a kivételszabályok meghatározásában. +--- -### 5. kérdés: Testreszabhatom a munkaidőt bizonyos kivételes dátumokhoz? +**Utoljára frissítve:** 2026-04-13 +**Tesztelve ezzel:** Aspose.Tasks for .NET (latest release) +**Szerző:** Aspose -5. válasz: Igen, egyéni munkaidőket határozhat meg az egyes kivételdátumokhoz az Aspose.Tasks által biztosított megfelelő módszerekkel. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/hungarian/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/hungarian/net/calendar-scheduling/child-tasks-collector/_index.md index 5cee0082c..616ec248e 100644 --- a/tasks/hungarian/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/hungarian/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Gyermekfeladatok gyűjtése az Aspose.Tasks-ban -linktitle: Gyermekfeladatok gyűjtése az Aspose.Tasks-ban +date: 2026-04-13 +description: Tanulja meg, hogyan hozhat létre gyermekfeladat-gyűjtőt az Aspose.Tasks + for .NET használatával. Javítsa a projektmenedzsmentet .NET alkalmazásaiban. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Gyermekfeladat-gyűjtő létrehozása az Aspose.Tasks-ben second_title: Aspose.Tasks .NET API -description: Ismerje meg, hogyan gyűjthet hatékonyan gyermekfeladatokat az Aspose.Tasks for .NET használatával. Javítsa a projektmenedzsmentet .NET-alkalmazásaiban. -weight: 15 +title: Hogyan hozhatunk létre gyermekfeladat-gyűjtőt az Aspose.Tasks-ben url: /hu/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gyermekfeladatok gyűjtése az Aspose.Tasks-ban +# Gyermekfeladat-gyűjtő létrehozása az Aspose.Tasks-ben ## Bevezetés -A projektmenedzsment területén az Aspose.Tasks for .NET robusztus megoldás a feladatok és projektek hatékony kezelésére. Ez a hatékony könyvtár biztosítja a fejlesztők számára azokat az eszközöket, amelyekre szükségük van a feladatok, projektek és a kettő közötti zökkenőmentes kezeléséhez. Ebben az oktatóanyagban az Aspose.Tasks egy sajátos aspektusába fogunk beleásni: gyermekfeladatok összegyűjtése. +Ha Microsoft Project fájlhoz **create child tasks collector**-t kell létrehozni, az Aspose.Tasks for .NET egyszerűvé teszi. Ebben az útmutatóban lépésről lépésre bemutatjuk, hogyan gyűjtsük össze a szülő alatti minden gyermekfeladatot, hogy magabiztosan feldolgozhassa, elemezhesse vagy exportálhassa őket. A útmutató végére egy újrahasználható kódrészletet kap, amely természetesen illeszkedik bármely .NET‑alapú projektmenedzsment megoldáshoz. -## Előfeltételek +## Gyors válaszok +- **What does the ChildTasksCollector do?** A feladat-hierarchián áthaladva összegyűjti az összes leszármazott feladatot egy gyűjteménybe. +- **Which library provides this feature?** Aspose.Tasks for .NET. +- **Do I need a license to run the sample?** A free trial works for evaluation; a license is required for production. +- **What .NET versions are supported?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **How long does the implementation take?** Roughly 5‑10 minutes once the library is installed. + +## Mi az a Child Tasks Collector? + +A **child tasks collector** egy segédobjektum, amely végigjárja egy Project fájl feladatrendszerét egy megadott gyökérfeladattól kiindulva, és összegyűjti az összes megtalált gyermek (alfeladat) elemet. Ez különösen hasznos, ha tömeges műveleteket szeretne alkalmazni – például mezők frissítése, adatok exportálása vagy jelentések készítése – anélkül, hogy manuálisan iterálna a hierarchia minden szintjén. + +## Miért érdemes child tasks collector-t létrehozni? -Mielőtt elkezdené, győződjön meg arról, hogy a következő előfeltételek teljesülnek: +- **Simplify recursion:** The collector handles the depth‑first traversal internally, so you avoid writing your own recursive loops. +- **Boost productivity:** Retrieve all descendant tasks in a single collection, making bulk edits or analyses trivial. +- **Maintain clean code:** Keeps your business logic separate from the low‑level navigation of the project structure. -1. A C# alapjai: A C# programozási nyelv ismerete elengedhetetlen. -2. Az Aspose.Tasks for .NET telepítése: Töltse le és telepítse az Aspose.Tasks for .NET könyvtárat a[letöltési link](https://releases.aspose.com/tasks/net/). -3. Fejlesztői környezet: Állítson be egy fejlesztői környezetet, például a Visual Studio-t a C# kód írására és végrehajtására. -4. Hozzáférés a dokumentációhoz: Őrizze meg a[Aspose.Tasks .NET dokumentációhoz](https://reference.aspose.com/tasks/net/) referenciaként használható. +## Előfeltételek + +1. **Basic Understanding of C#** – you should be comfortable writing and running simple console applications. +2. **Aspose.Tasks for .NET installed** – download it from the [download link](https://releases.aspose.com/tasks/net/). +3. **A development environment** – Visual Studio, Rider, or any IDE that supports C#. +4. **Access to the official docs** – keep the [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) nearby for reference. -Most, hogy megvannak az előfeltételek, nézzük meg az Aspose.Tasks for .NET segítségével történő gyermekfeladatok összegyűjtésének lépésenkénti útmutatóját. +Most, hogy az alapok megvannak, merüljünk el a kódban. ## Névterek importálása -Először is importálja a szükséges névtereket a C# kódjába, hogy hozzáférjen az Aspose.Tasks for .NET funkcióihoz. +Először hozza be a szükséges névtereket, hogy a fordító tudja, hol találja a használandó osztályokat. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Most bontsuk le a példát több lépésre, hogy alaposan megértsük a folyamatot. +## Lépésről‑lépésre útmutató -## 1. lépés: Inicializálja a projektobjektumot +### 1. lépés: A Project objektum inicializálása ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Ez a kódsor inicializál egy újat`Project` objektum, betölt egy "ParentChildTasks.mpp" nevű projektfájlt a megadott könyvtárból. +Ez a sor betölti a meglévő Microsoft Project fájlt (`ParentChildTasks.mpp`) a `DataDir` mappából egy `Project` objektumba, így programozott hozzáférést kapunk a feladataihoz. -## 2. lépés: Hozzon létre ChildTasksCollector objektumot +### 2. lépés: A ChildTasksCollector példány létrehozása ```csharp var collector = new ChildTasksCollector(); ``` - Itt létrehozunk egy újat`ChildTasksCollector` objektum, amely segít nekünk gyermekfeladatokat gyűjteni a projektből. +Itt **create child tasks collector**‑t hozunk létre – egy `ChildTasksCollector` példányt, amely tárolja az összes felfedezett gyermekfeladatot. -## 3. lépés: Alkalmazza a Collectort a Root Task-ra +### 3. lépés: A gyűjtő alkalmazása a gyökérfeladatra ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Alkalmazzuk a`ChildTasksCollector` a projekt gyökérfeladatához, rekurzív módon elindítva a gyűjtési folyamatot. +Megmondjuk az Aspose.Tasks-nek, hogy a projekt gyökérfeladatánál kezdje a gyűjtést. Az `Apply` metódus rekurzívan bejárja a hierarchiát, és a `collector.Tasks`‑be betölti az összes leszármazott feladatot. -## 4. lépés: Ismétlés az összegyűjtött feladatokon keresztül +### 4. lépés: A gyűjtött feladatok iterálása ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -Végül ismételjük az összegyűjtött feladatokat, és kinyomtatjuk a nevüket a konzolra. +Végül végigiterálunk a gyűjtött feladatokon, és kiírjuk minden feladat nevét a konzolra. Valós környezetben a `Console.WriteLine`‑t bármilyen egyedi feldolgozással helyettesítheti (például CSV‑exportálás, mezők frissítése stb.). -## Következtetés +## Gyakori problémák és megoldások -Ebben az oktatóanyagban megvizsgáltuk, hogyan gyűjthetünk gyermekfeladatokat az Aspose.Tasks for .NET használatával. A fent vázolt lépések követésével hatékonyan kezelheti és manipulálhatja a projekteken belüli feladatokat, javítva a termelékenységet és a szervezettséget. +| Issue | Reason | Fix | +|-------|--------|-----| +| **No tasks are returned** | A gyűjtőt a rossz feladatra alkalmazták (például egy levélcsomó). | Apply `TaskUtils.Apply` to `project.RootTask` or the specific parent you want to start from. | +| **NullReferenceException** | `DataDir` vagy a fájl útvonala helytelen. | Verify that `DataDir` points to the folder containing `ParentChildTasks.mpp`. | +| **License not set** | Az Aspose.Tasks licencfigyelmeztetést ad próba módban. | Load your license with `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` before creating the `Project` object. | -## GYIK +## Gyakran feltett kérdések -### 1. kérdés: Az Aspose.Tasks for .NET kompatibilis a .NET összes verziójával? +**Q: Az Aspose.Tasks for .NET kompatibilis minden .NET verzióval?** +A: Igen, az Aspose.Tasks for .NET működik .NET Framework 4.5+, .NET Core 3.1+, és .NET 5/6+ verziókkal. -1. válasz: Igen, az Aspose.Tasks for .NET kompatibilis a .NET-keretrendszer különböző verzióival, így széleskörű kompatibilitást biztosít. +**Q: Használhatom az Aspose.Tasks for .NET-et új projektfájlok létrehozására?** +A: Természetesen! A könyvtár lehetővé teszi projektfájlok programozott létrehozását, olvasását és módosítását. -### 2. kérdés: Használhatom az Aspose.Tasks for .NET alkalmazást új projektfájlok létrehozására? +**Q: Támogatja az Aspose.Tasks for .NET több platformot?** +A: Bár .NET-re készült, futtatható bármely olyan platformon, amely támogatja a .NET futtatókörnyezetet, beleértve a Windows, Linux és macOS rendszereket. -A2: Abszolút! Az Aspose.Tasks for .NET olyan funkciókat biztosít, amelyek segítségével könnyedén hozhat létre, olvashat és kezelhet projektfájlokat. +**Q: Elérhető technikai támogatás az Aspose.Tasks for .NET-hez?** +A: Igen, segítséget kaphat a [Aspose.Tasks fórumon](https://forum.aspose.com/c/tasks/15). -### 3. kérdés: Az Aspose.Tasks for .NET több platformot is támogat? +**Q: Kipróbálhatom az Aspose.Tasks for .NET-et vásárlás előtt?** +A: Természetesen! Ingyenes próba elérhető a [kiadási oldalon](https://releases.aspose.com/). -3. válasz: Bár elsősorban .NET-környezetekhez tervezték, az Aspose.Tasks for .NET különféle platformokon használható, amelyek támogatják a .NET-fejlesztést. - -### 4. kérdés: Rendelkezésre áll technikai támogatás az Aspose.Tasks for .NET számára? - -4. válasz: Igen, a felhasználók hozzáférhetnek a technikai támogatáshoz a következőn keresztül[Aspose.Tasks fórum](https://forum.aspose.com/c/tasks/15). +--- -### 5. kérdés: Kipróbálhatom az Aspose.Tasks-t .NET-hez a vásárlás előtt? +**Utoljára frissítve:** 2026-04-13 +**Tesztelve a következővel:** Aspose.Tasks 24.11 for .NET +**Szerző:** Aspose - A5: Természetesen! Ingyenes próbaverziót vehet igénybe a[kiadási oldal](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/indonesian/net/calendar-scheduling/calendar-collection/_index.md b/tasks/indonesian/net/calendar-scheduling/calendar-collection/_index.md index 00025689f..d7f82a45b 100644 --- a/tasks/indonesian/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/indonesian/net/calendar-scheduling/calendar-collection/_index.md @@ -1,29 +1,42 @@ --- -title: Mengelola Koleksi Kalender di Aspose.Tasks -linktitle: Mengelola Koleksi Kalender di Aspose.Tasks -second_title: Aspose.Tugas .NET API -description: Pelajari cara mengelola koleksi kalender di Aspose.Tasks untuk .NET secara efisien. Membuat, memodifikasi, dan memanipulasi kalender dengan mudah. -weight: 11 +date: 2026-04-13 +description: Pelajari cara mengatur jam kerja dan mengelola koleksi kalender di Aspose.Tasks + untuk .NET. Impor kalender dari Microsoft Project, hapus kalender proyek, dan dapatkan + kalender berdasarkan nama dengan mudah. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Mengelola Koleksi Kalender dalam Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Atur Jam Kerja di Koleksi Kalender Aspose.Tasks url: /id/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Mengelola Koleksi Kalender di Aspose.Tasks +# Atur Jam Kerja dalam Koleksi Kalender Aspose.Tasks -## Perkenalan +Dalam tutorial ini, Anda akan belajar cara **mengatur jam kerja** dan mengelola koleksi kalender menggunakan Aspose.Tasks untuk .NET. Kalender mendefinisikan hari kerja, hari libur, dan pengecualian, sehingga menguasainya memungkinkan Anda mengontrol jadwal proyek secara tepat. Kami juga akan menunjukkan cara mengimpor kalender Microsoft Project, menghapus kalender dari sebuah proyek, dan mendapatkan kalender berdasarkan nama. -Dalam tutorial ini, kita akan menjelajahi cara mengelola koleksi kalender di Aspose.Tasks untuk .NET. Kalender memainkan peran penting dalam manajemen proyek, menentukan hari kerja, hari libur, dan pengecualian. Aspose.Tasks menyediakan fungsionalitas yang kuat untuk memanipulasi kalender dalam proyek Anda. +## Jawaban Cepat +- **Apa kelas utama untuk kalender?** `Project.Calendars` collection. +- **Bagaimana cara mengatur jam kerja?** Buat atau modifikasi objek `Calendar` dan definisikan `WorkingTime`-nya. +- **Apakah saya dapat mengimpor kalender dari Microsoft Project?** Ya – muat file MPP dan akses kalendarnya. +- **Bagaimana cara menghapus kalender dari proyek?** Gunakan `Project.Calendars.Remove(calendar)`. +- **Bagaimana cara mengambil kalender berdasarkan nama?** Panggil `Project.Calendars.GetByName("YourCalendar")`. ## Prasyarat Sebelum kita mulai, pastikan Anda memiliki hal berikut: -1. Visual Studio: Instal Visual Studio atau IDE lain yang kompatibel untuk pengembangan .NET. -2. Aspose.Tasks untuk .NET: Unduh dan instal Aspose.Tasks untuk .NET dari[Di Sini](https://releases.aspose.com/tasks/net/). -3. Pemahaman dasar C#: Keakraban dengan bahasa pemrograman C# akan bermanfaat. +1. Visual Studio: Instal Visual Studio atau IDE kompatibel lainnya untuk pengembangan .NET. +2. Aspose.Tasks untuk .NET: Unduh dan instal Aspose.Tasks untuk .NET dari [here](https://releases.aspose.com/tasks/net/). +3. Pemahaman dasar tentang C#: Familiaritas dengan bahasa pemrograman C# akan sangat membantu. ## Impor Namespace @@ -35,12 +48,11 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Membuat Kalender Baru -### Langkah 1: Inisialisasi yang baru`Project` object. +### Langkah 1: Inisialisasi objek `Project` baru. ```csharp var project = new Project(); ``` @@ -52,7 +64,7 @@ var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Langkah 3: Ulangi kalender dan tampilkan namanya. +### Langkah 3: Iterasi melalui kalender dan tampilkan namanya. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` +## Cara Mengatur Jam Kerja untuk Kalender? + +Untuk **mengatur jam kerja**, Anda memodifikasi koleksi `WorkingTime` dari sebuah `Calendar`. +Sebagai contoh, Anda dapat mendefinisikan hari kerja standar 9 am‑5 pm atau menambahkan pengecualian khusus. +Kode untuk ini identik dengan contoh yang ditunjukkan nanti ketika kami membuat kalender standar. + ## Mengganti Kalender dengan Kalender Baru -### Langkah 1: Muat proyek yang sudah ada. +### Langkah 1: Muat proyek yang ada. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Langkah 2: Hapus kalender yang ada (jika ada). +### Langkah 2: Hapus kalender yang ada (jika ada). +Ini menunjukkan skenario **remove calendar project**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -89,7 +108,8 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M var project = new Project(DataDir + "Project5.mpp"); ``` -### Langkah 2: Ambil kalender berdasarkan nama atau UID. +### Langkah 2: Ambil kalender berdasarkan nama atau UID. +Ini menggambarkan operasi **get calendar by name**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +122,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Mengulangi Kalender +## Mengiterasi Kalender ### Langkah 1: Muat proyek. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Langkah 2: Ambil hitungan kalender. +### Langkah 2: Dapatkan jumlah kalender. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Langkah 3: Ulangi koleksi kalender dan nama tampilan. +### Langkah 3: Iterasi koleksi kalender dan tampilkan nama. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -130,7 +150,7 @@ foreach (var calendar in calendars) var project = new Project(); ``` -### Langkah 2: Tentukan kalender baru dan jadikan standar. +### Langkah 2: Definisikan kalender baru dan jadikan standar. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); @@ -141,34 +161,60 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Kesimpulan +## Masalah Umum dan Solusinya -Mengelola koleksi kalender di Aspose.Tasks untuk .NET sangat penting untuk manajemen proyek yang efektif. Dengan fungsionalitas yang disediakan, Anda dapat membuat, memodifikasi, dan memanipulasi kalender secara efisien sesuai dengan kebutuhan proyek Anda. +- **Calendar not found when using `GetByName`** – Pastikan nama yang tepat cocok dengan huruf besar/kecil yang digunakan saat kalender ditambahkan. +- **Working hours not applied** – Setelah mengatur `WorkingTime`, ingat untuk menyimpan proyek; jika tidak, perubahan hanya tetap di memori. +- **Importing calendars from an MPP file fails** – Verifikasi bahwa file sumber adalah file Microsoft Project yang valid dan Anda memiliki izin membaca. ## FAQ ### Q1: Bisakah saya membuat hari kerja khusus di Aspose.Tasks? -A1: Ya, Anda dapat membuat hari kerja khusus dengan menambahkan pengecualian pada kalender. +A1: Ya, Anda dapat membuat hari kerja khusus dengan menambahkan pengecualian ke kalender. -### Q2: Apakah mungkin mengimpor kalender dari file Microsoft Project? +### Q2: Apakah memungkinkan mengimpor kalender dari file Microsoft Project? -A2: Tentu saja, Aspose.Tasks mendukung impor kalender dari file Microsoft Project. +A2: Tentu saja, Aspose.Tasks mendukung mengimpor kalender dari file Microsoft Project. -### Q3: Bagaimana cara menghapus kalender tertentu dari suatu proyek? +### Q3: Bagaimana saya dapat menghapus kalender tertentu dari proyek? - A3: Anda dapat menghapus kalender dengan mengambilnya dari koleksi lalu menelepon`Remove` metode. +A3: Anda dapat menghapus kalender dengan mengambilnya dari koleksi dan kemudian memanggil metode `Remove`. -### Q4: Apakah Aspose.Tasks mendukung ekspor kalender ke format berbeda? +### Q4: Apakah Aspose.Tasks mendukung mengekspor kalender ke format berbeda? A4: Ya, Aspose.Tasks memungkinkan mengekspor kalender ke berbagai format seperti XML, MPP, dll. -### Q5: Bisakah saya menyesuaikan jam kerja untuk hari tertentu di kalender? +### Q5: Bisakah saya menyesuaikan jam kerja untuk hari tertentu dalam kalender? + +A5: Tentu, Anda dapat mendefinisikan jam kerja untuk hari tertentu menggunakan pengecualian dalam kalender. + +## Pertanyaan yang Sering Diajukan + +**Q: Apa cara terbaik untuk mengatur kalender shift 24‑jam?** +A: Buat kalender baru, bersihkan entri `WorkingTime` yang ada, dan tambahkan satu rentang `WorkingTime` dari 00:00 hingga 24:00 untuk setiap hari kerja. + +**Q: Bisakah saya menyalin kalender dari satu proyek ke proyek lain?** +A: Ya—ekspor kalender ke XML menggunakan `project.Save` dan kemudian impor ke proyek lain dengan `new Project(xmlPath)`. + +**Q: Bagaimana cara mengimpor kalender Microsoft Project secara programatis?** +A: Muat file MPP dengan `new Project("source.mpp")`; kalender akan tersedia melalui `project.Calendars`. + +**Q: Apakah ada batas jumlah kalender dalam sebuah proyek?** +A: Praktis tidak; koleksi dapat menampung sebanyak mungkin kalender sesuai memori yang tersedia, namun tetap jaga daftar agar dapat dikelola untuk kinerja. + +**Q: Apakah perubahan pada kalender secara otomatis memperbarui tugas yang menggunakannya?** +A: Ya—tugas yang terhubung ke kalender akan mencerminkan jam kerja yang diperbarui setelah Anda menyimpan proyek. + +--- + +**Terakhir Diperbarui:** 2026-04-13 +**Diuji Dengan:** Aspose.Tasks 24.11 untuk .NET +**Penulis:** Aspose -A5: Tentu saja, Anda dapat menentukan jam kerja untuk setiap hari menggunakan pengecualian di kalender. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/indonesian/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/indonesian/net/calendar-scheduling/calendar-exceptions/_index.md index 201c2e347..146175cdc 100644 --- a/tasks/indonesian/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/indonesian/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Menangani Pengecualian Kalender di Aspose.Tasks -linktitle: Menangani Pengecualian Kalender di Aspose.Tasks -second_title: Aspose.Tugas .NET API -description: Pelajari cara mengelola pengecualian kalender di Aspose.Tasks untuk .NET dengan tutorial langkah demi langkah dan contoh. -weight: 12 +date: 2026-04-13 +description: Pelajari cara menghapus pengecualian kalender di Aspose.Tasks untuk .NET + dan memeriksa tanggal pengecualian saat mengelola penjadwalan kalender ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Hapus Pengecualian Kalender dengan Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Hapus Pengecualian Kalender dengan Aspose.Tasks url: /id/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Menangani Pengecualian Kalender di Aspose.Tasks +# Hapus Pengecualian Kalender dengan Aspose.Tasks + +## Pendahuluan + +Dalam tutorial ini, Anda akan belajar cara **menghapus pengecualian kalender** dan mengelola pengecualian kalender lainnya di Aspose.Tasks menggunakan kerangka kerja .NET. Pengecualian kalender memungkinkan Anda memodelkan hari libur, penutupan sementara, atau periode khusus apa pun di mana jadwal kerja normal berubah. Memahami cara menambahkan, menanyakan, dan menghapus pengecualian ini sangat penting untuk penjadwalan proyek yang akurat, terutama saat bekerja dengan skenario **penjadwalan kalender ASP.NET**. + +## Jawaban Cepat +- **Apa metode utama untuk menghapus pengecualian?** Gunakan metode `Delete()` pada objek `CalendarException`. +- **Kelas mana yang memeriksa tanggal terhadap pengecualian?** `CalendarException.CheckException()`—berguna untuk **memeriksa tanggal pengecualian**. +- **Apakah saya memerlukan lisensi untuk menjalankan kode?** Ya, lisensi Aspose.Tasks yang valid diperlukan untuk penggunaan produksi. +- **Bisakah saya menambahkan beberapa pengecualian ke satu kalender?** Tentu saja; koleksi `Exceptions` mendukung banyak entri. +- **Versi .NET yang didukung?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Apa itu Pengecualian Kalender? + +**Pengecualian kalender** mewakili penyimpangan dari kalender kerja reguler—bayangkan sebagai aturan yang menyatakan “pada tanggal-tanggal ini, jam kerja berbeda atau tidak ada sama sekali.” Di Aspose.Tasks, setiap pengecualian dapat memiliki waktu kerja sendiri, pola berulang, dan flag yang menunjukkan apakah hari tersebut merupakan hari kerja. -## Perkenalan +## Mengapa Mengelola Pengecualian Kalender dalam Penjadwalan Kalender ASP.NET? -Dalam tutorial ini, kita akan mempelajari cara mengelola pengecualian kalender di Aspose.Tasks menggunakan kerangka .NET. Pengecualian kalender memungkinkan kami menentukan tanggal atau periode khusus dalam kalender proyek di mana jadwal kerja reguler diubah, seperti hari libur atau penutupan sementara. Kami akan membahas berbagai metode untuk menangani pengecualian kalender langkah demi langkah, menggunakan Aspose.Tasks untuk .NET. +- **Garis waktu yang akurat:** Proyek secara otomatis menghormati hari libur dan penutupan khusus, mencegah tenggat waktu yang tidak realistis. +- **Fleksibilitas:** Anda dapat mendefinisikan pola harian, mingguan, bulanan, atau tahunan, menyesuaikan dengan kalender bisnis dunia nyata. +- **Otomatisasi:** Memeriksa tanggal pengecualian secara programatik memungkinkan Anda membangun logika penjadwalan dinamis dalam aplikasi ASP.NET. ## Prasyarat -Sebelum kita mulai, pastikan Anda memiliki prasyarat berikut: -- Pengetahuan dasar bahasa pemrograman C#. -- Visual Studio diinstal pada sistem Anda. -- Aspose.Tasks untuk perpustakaan .NET ditambahkan ke proyek Anda. +- Pengetahuan dasar pemrograman C#. +- Visual Studio (versi terbaru apa pun). +- Perpustakaan Aspose.Tasks untuk .NET ditambahkan ke proyek Anda (melalui NuGet atau referensi manual). ## Impor Namespace -Pertama, mari impor namespace yang diperlukan untuk proyek kita: +Pertama, impor namespace yang Anda perlukan: ```csharp using Aspose.Tasks; using System; - - ``` -## Langkah 1: Menghapus Pengecualian Kalender +## Langkah 1: Hapus Pengecualian Kalender -Untuk menghapus pengecualian kalender, ikuti langkah-langkah berikut: +Menghapus pengecualian yang tidak diinginkan sangat mudah. Kode berikut memuat proyek, memilih kalender pertama, menampilkan info dasar, menghapus pengecualian pertama, dan kemudian menunjukkan jumlah yang diperbarui. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Menampilkan informasi kalender + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Hapus pengecualian pertama + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Langkah 2: Mendapatkan Waktu Kerja dari Pengecualian Kalender +> **Pro tip:** Selalu verifikasi bahwa indeks pengecualian ada sebelum memanggil `Delete()` untuk menghindari `IndexOutOfRangeException`. + +## Langkah 2: Dapatkan Waktu Kerja dari Pengecualian Kalender -Untuk mengambil waktu kerja pengecualian kalender, ikuti langkah-langkah berikut: +Jika Anda perlu memeriksa jam kerja yang didefinisikan untuk sebuah pengecualian, gunakan `GetWorkingTime()`. Contoh ini juga menunjukkan cara **memeriksa tanggal pengecualian** dengan `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Menampilkan informasi kalender dan pengecualian + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Dapatkan waktu kerja dan tampilkan detail + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Langkah 3: Menentukan Pengecualian Kalender +## Langkah 3: Definisikan Pengecualian Kalender -Untuk menambah atau menghapus pengecualian kalender, ikuti langkah-langkah berikut: +Berikut adalah contoh lengkap yang menunjukkan cara **menambah**, **memeriksa**, dan **menghapus** pengecualian kalender. Perhatikan penggunaan `CheckException` untuk **memeriksa tanggal pengecualian** pada momen tertentu. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Buat pengecualian kalender baru + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Tetapkan detail pengecualian + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Periksa apakah suatu tanggal merupakan pengecualian + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Tambahkan pengecualian ke kalender + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Hapus pengecualian jika ada + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Tambahkan pengecualian baru + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Pengecualian cetak + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Kesimpulan +## Masalah Umum & Tips -Dalam artikel ini, kami telah membahas berbagai aspek penanganan pengecualian kalender di Aspose.Tasks untuk .NET. Dengan mengikuti langkah-langkah yang disediakan, Anda dapat secara efektif mengelola pengecualian dalam jadwal proyek Anda, memastikan representasi jam kerja dan acara khusus yang akurat. +| Masalah | Alasan | Solusi | +|-------|--------|----------| +| **`IndexOutOfRangeException` saat menghapus** | Mencoba menghapus pengecualian yang tidak ada. | Verifikasi `calendar.Exceptions.Count` > indeks sebelum memanggil `Delete()`. | +| **Waktu kerja tidak tepat** | Tidak mengatur `DayWorking` atau `WorkingTimes` dengan benar. | Gunakan `exception.WorkingTimes.Add(new WorkingTime(...))` untuk mendefinisikan periode eksplisit. | +| **Pengecualian tidak dikenali** | `CheckException` mengembalikan `false` karena tanggal berada di luar rentang yang ditentukan. | Periksa kembali `FromDate`/`ToDate` dan `Type` (Daily, Weekly, dll.). | -## FAQ +## Pertanyaan yang Sering Diajukan -### Q1: Bisakah saya menambahkan beberapa pengecualian ke satu kalender? +**Q: Bisakah saya menambahkan beberapa pengecualian ke satu kalender?** +A: Ya, Anda dapat menambahkan sebanyak mungkin pengecualian yang diperlukan untuk mewakili hari libur, jendela pemeliharaan, atau aturan penjadwalan khusus apa pun. -A1: Ya, Anda dapat menambahkan beberapa pengecualian ke kalender untuk mengakomodasi berbagai tanggal atau periode khusus. +**Q: Bagaimana cara **memeriksa tanggal pengecualian** untuk hari tertentu?** +A: Gunakan metode `CheckException(DateTime date)` pada instance `CalendarException`. Metode ini mengembalikan `true` jika tanggal yang diberikan berada dalam rentang pengecualian. -### Q2: Bagaimana cara memeriksa apakah tanggal tertentu merupakan pengecualian? +**Q: Apakah memungkinkan menghapus pengecualian yang ada dari kalender?** +A: Tentu saja. Akses koleksi `Exceptions` dan panggil `Remove()` atau gunakan `Delete()` pada objek `CalendarException` tertentu. - A2: Anda dapat menggunakan`CheckException()` metode untuk memverifikasi apakah tanggal tertentu termasuk dalam pengecualian. +**Q: Jenis pengecualian kalender apa yang didukung?** +A: Aspose.Tasks mendukung tipe pengecualian Daily, Weekly, Monthly, dan Yearly, memberi Anda fleksibilitas untuk memodelkan hampir semua pola berulang. -### Q3: Apakah mungkin untuk menghapus pengecualian yang ada dari kalender? +**Q: Bisakah saya menyesuaikan jam kerja untuk tanggal pengecualian tertentu?** +A: Ya. Setelah membuat pengecualian, isi koleksi `WorkingTimes`-nya dengan objek `WorkingTime` yang menentukan waktu mulai dan selesai untuk hari tersebut. - A3: Ya, Anda dapat menghapus pengecualian dengan mengakses`Exceptions` koleksi kalender dan menggunakan`Remove()` metode. +## Kesimpulan -### Q4: Jenis pengecualian kalender apa yang didukung? +Kami telah menelusuri siklus lengkap operasi **menghapus pengecualian kalender**, mulai dari memeriksa pengecualian yang ada hingga menambahkan yang baru dan memeriksa tanggal. Menguasai teknik ini memastikan jadwal proyek Anda menghormati kalender dunia nyata, membuat implementasi penjadwalan kalender ASP.NET Anda menjadi kuat dan dapat diandalkan. -A4: Aspose.Tasks mendukung berbagai jenis pengecualian, termasuk pengecualian harian, mingguan, bulanan, dan tahunan, memberikan fleksibilitas dalam menentukan aturan pengecualian. +--- -### Q5: Dapatkah saya menyesuaikan jam kerja untuk tanggal pengecualian tertentu? +**Last Updated:** 2026-04-13 +**Diuji Dengan:** Aspose.Tasks for .NET (latest release) +**Penulis:** Aspose -A5: Ya, Anda dapat menentukan waktu kerja khusus untuk masing-masing tanggal pengecualian menggunakan metode yang sesuai yang disediakan oleh Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/indonesian/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/indonesian/net/calendar-scheduling/child-tasks-collector/_index.md index df7aee3e1..4b5309615 100644 --- a/tasks/indonesian/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/indonesian/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Mengumpulkan Tugas Anak di Aspose.Tasks -linktitle: Mengumpulkan Tugas Anak di Aspose.Tasks -second_title: Aspose.Tugas .NET API -description: Pelajari cara mengumpulkan tugas anak secara efisien menggunakan Aspose.Tasks untuk .NET. Tingkatkan manajemen proyek di aplikasi .NET Anda. -weight: 15 +date: 2026-04-13 +description: Pelajari cara membuat kolektor tugas anak menggunakan Aspose.Tasks untuk + .NET. Tingkatkan manajemen proyek dalam aplikasi .NET Anda. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Buat Pengumpul Tugas Anak di Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Cara Membuat Pengumpul Tugas Anak di Aspose.Tasks url: /id/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Mengumpulkan Tugas Anak di Aspose.Tasks +# Buat Pengumpul Tugas Anak di Aspose.Tasks + +## Pendahuluan + +Jika Anda perlu **membuat pengumpul tugas anak** untuk file Microsoft Project, Aspose.Tasks untuk .NET mempermudahnya. Dalam tutorial ini kami akan menjelaskan langkah‑langkah tepat untuk mengumpulkan setiap tugas anak di bawah sebuah induk, sehingga Anda dapat memproses, menganalisis, atau mengekspornya dengan percaya diri. Pada akhir panduan Anda akan memiliki potongan kode yang dapat digunakan kembali dan cocok secara alami dalam solusi manajemen proyek berbasis .NET apa pun. + +## Jawaban Cepat +- **Apa yang dilakukan ChildTasksCollector?** Ia menelusuri hierarki tugas dan mengumpulkan semua tugas keturunan ke dalam sebuah koleksi. +- **Perpustakaan mana yang menyediakan fitur ini?** Aspose.Tasks untuk .NET. +- **Apakah saya memerlukan lisensi untuk menjalankan contoh?** Versi percobaan gratis dapat digunakan untuk evaluasi; lisensi diperlukan untuk produksi. +- **Versi .NET apa yang didukung?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Berapa lama implementasinya?** Sekitar 5‑10 menit setelah perpustakaan diinstal. + +## Apa itu Pengumpul Tugas Anak? -## Perkenalan +**Pengumpul tugas anak** adalah objek utilitas yang menelusuri pohon tugas dari file Project, mulai dari tugas akar yang ditentukan, dan mengumpulkan setiap anak (sub‑tugas) yang ditemukannya. Ini sangat berguna ketika Anda ingin menerapkan operasi massal—seperti memperbarui bidang, mengekspor data, atau menghasilkan laporan—tanpa harus iterasi manual pada setiap tingkat hierarki. -Di bidang manajemen proyek, Aspose.Tasks untuk .NET menonjol sebagai solusi tangguh untuk menangani tugas dan proyek secara efisien. Pustaka canggih ini memberi pengembang alat yang mereka perlukan untuk mengelola tugas, proyek, dan segala sesuatu di antaranya dengan lancar. Dalam tutorial ini, kita akan mempelajari aspek spesifik Aspose.Tasks: mengumpulkan tugas anak. +## Mengapa membuat pengumpul tugas anak? + +- **Menyederhanakan rekursi:** Pengumpul menangani penelusuran depth‑first secara internal, sehingga Anda tidak perlu menulis loop rekursif sendiri. +- **Meningkatkan produktivitas:** Mengambil semua tugas keturunan dalam satu koleksi, membuat penyuntingan massal atau analisis menjadi mudah. +- **Memelihara kode bersih:** Memisahkan logika bisnis Anda dari navigasi tingkat rendah struktur proyek. ## Prasyarat -Sebelum kita mulai, pastikan Anda memiliki prasyarat berikut: +Sebelum kita mulai, pastikan Anda memiliki: -1. Pemahaman Dasar C#: Keakraban dengan bahasa pemrograman C# sangat penting. -2. Instalasi Aspose.Tasks untuk .NET: Unduh dan instal perpustakaan Aspose.Tasks untuk .NET dari[tautan unduhan](https://releases.aspose.com/tasks/net/). -3. Lingkungan Pengembangan: Siapkan lingkungan pengembangan, seperti Visual Studio, untuk menulis dan mengeksekusi kode C#. -4. Akses ke Dokumentasi: Simpan[Aspose.Tasks untuk dokumentasi .NET](https://reference.aspose.com/tasks/net/) berguna untuk referensi. +1. **Pemahaman Dasar C#** – Anda harus nyaman menulis dan menjalankan aplikasi konsol sederhana. +2. **Aspose.Tasks untuk .NET terpasang** – unduh dari [download link](https://releases.aspose.com/tasks/net/). +3. **Lingkungan pengembangan** – Visual Studio, Rider, atau IDE apa pun yang mendukung C#. +4. **Akses ke dokumentasi resmi** – simpan [Aspose.Tasks untuk .NET documentation](https://reference.aspose.com/tasks/net/) di dekat Anda untuk referensi. -Sekarang setelah prasyaratnya tercakup, mari selami panduan langkah demi langkah untuk mengumpulkan tugas anak menggunakan Aspose.Tasks untuk .NET. +Sekarang dasar sudah siap, mari kita selami kode. ## Impor Namespace -Pertama, impor namespace yang diperlukan ke dalam kode C# Anda untuk mengakses fungsionalitas yang disediakan oleh Aspose.Tasks untuk .NET. +Pertama, bawa namespace yang diperlukan ke dalam ruang lingkup sehingga kompiler tahu di mana menemukan kelas yang akan kami gunakan. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Sekarang, mari kita bagi contoh yang diberikan menjadi beberapa langkah untuk memahami prosesnya secara menyeluruh. +## Panduan Langkah‑demi‑Langkah -## Langkah 1: Inisialisasi Objek Proyek +### Langkah 1: Inisialisasi Objek Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Baris kode ini menginisialisasi yang baru`Project` objek, memuat file proyek bernama "ParentChildTasks.mpp" dari direktori yang ditentukan. +Baris ini memuat file Microsoft Project yang ada (`ParentChildTasks.mpp`) dari folder `DataDir` ke dalam objek `Project`, memberi kami akses programatik ke tugas‑tugasnya. -## Langkah 2: Buat Objek ChildTasksCollector +### Langkah 2: Buat Instance ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Di sini, kami membuat yang baru`ChildTasksCollector` objek, yang akan membantu kami mengumpulkan tugas anak dari proyek. +Di sini kami **membuat pengumpul tugas anak** – sebuah instance `ChildTasksCollector` yang akan menyimpan setiap tugas anak yang ditemukannya. -## Langkah 3: Terapkan Kolektor ke Tugas Root +### Langkah 3: Terapkan Pengumpul ke Tugas Root ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Kami menerapkan`ChildTasksCollector` ke tugas utama proyek, memulai proses pengumpulan secara rekursif. +Kami memberi tahu Aspose.Tasks untuk memulai pengumpulan pada tugas root proyek. Metode `Apply` menelusuri hierarki secara rekursif, mengisi `collector.Tasks` dengan semua tugas keturunan. -## Langkah 4: Ulangi Tugas yang Dikumpulkan +### Langkah 4: Iterasi Melalui Tugas yang Dikumpulkan ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Terakhir, kami mengulangi tugas yang dikumpulkan dan mencetak namanya ke konsol. - -## Kesimpulan +Akhirnya, kami mengulangi tugas‑tugas yang dikumpulkan dan mencetak nama setiap tugas ke konsol. Dalam skenario dunia nyata Anda dapat mengganti `Console.WriteLine` dengan pemrosesan khusus apa pun yang Anda perlukan (mis., mengekspor ke CSV, memperbarui bidang, dll.). -Dalam tutorial ini, kita menjelajahi cara mengumpulkan tugas anak menggunakan Aspose.Tasks untuk .NET. Dengan mengikuti langkah-langkah yang diuraikan di atas, Anda dapat mengelola dan memanipulasi tugas dalam proyek Anda secara efisien, sehingga meningkatkan produktivitas dan organisasi. +## Masalah Umum dan Solusinya -## FAQ +| Masalah | Alasan | Solusi | +|-------|--------|-----| +| **Tidak ada tugas yang dikembalikan** | Pengumpul diterapkan pada tugas yang salah (mis., node daun). | Terapkan `TaskUtils.Apply` ke `project.RootTask` atau induk spesifik yang ingin Anda mulai. | +| **NullReferenceException** | `DataDir` atau jalur file tidak benar. | Pastikan `DataDir` mengarah ke folder yang berisi `ParentChildTasks.mpp`. | +| **Lisensi tidak diatur** | Aspose.Tasks menampilkan peringatan lisensi dalam mode percobaan. | Muat lisensi Anda dengan `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` sebelum membuat objek `Project`. | -### Q1: Apakah Aspose.Tasks untuk .NET kompatibel dengan semua versi .NET? +## Pertanyaan yang Sering Diajukan -A1: Ya, Aspose.Tasks untuk .NET kompatibel dengan berbagai versi kerangka .NET, memastikan kompatibilitas luas. +**T: Apakah Aspose.Tasks untuk .NET kompatibel dengan semua versi .NET?** +J: Ya, Aspose.Tasks untuk .NET bekerja dengan .NET Framework 4.5+, .NET Core 3.1+, dan .NET 5/6+. -### Q2: Dapatkah saya menggunakan Aspose.Tasks untuk .NET untuk membuat file proyek baru? +**T: Bisakah saya menggunakan Aspose.Tasks untuk .NET untuk membuat file proyek baru?** +J: Tentu saja! Perpustakaan ini memungkinkan Anda membuat, membaca, dan memanipulasi file proyek secara programatik. -A2: Tentu saja! Aspose.Tasks untuk .NET menyediakan fungsionalitas untuk membuat, membaca, dan memanipulasi file proyek dengan mudah. +**T: Apakah Aspose.Tasks untuk .NET mendukung banyak platform?** +J: Meskipun dirancang untuk .NET, Anda dapat menjalankannya di platform apa pun yang mendukung runtime .NET, termasuk Windows, Linux, dan macOS. -### Q3: Apakah Aspose.Tasks untuk .NET mendukung banyak platform? +**T: Apakah dukungan teknis tersedia untuk Aspose.Tasks untuk .NET?** +J: Ya, Anda dapat mendapatkan bantuan melalui [forum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). -A3: Meskipun dirancang khusus untuk lingkungan .NET, Aspose.Tasks untuk .NET dapat digunakan di berbagai platform yang mendukung pengembangan .NET. +**T: Bisakah saya mencoba Aspose.Tasks untuk .NET sebelum membeli?** +J: Tentu! Versi percobaan gratis tersedia dari [halaman rilis](https://releases.aspose.com/). -### Q4: Apakah dukungan teknis tersedia untuk Aspose.Tasks untuk .NET? - -A4: Ya, pengguna dapat mengakses dukungan teknis melalui[Forum Aspose.Tugas](https://forum.aspose.com/c/tasks/15). +--- -### Q5: Dapatkah saya mencoba Aspose.Tasks untuk .NET sebelum membeli? +**Terakhir Diperbarui:** 2026-04-13 +**Diuji Dengan:** Aspose.Tasks 24.11 untuk .NET +**Penulis:** Aspose - A5: Tentu saja! Anda dapat memanfaatkan uji coba gratis dari[halaman rilis](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/italian/net/calendar-scheduling/calendar-collection/_index.md b/tasks/italian/net/calendar-scheduling/calendar-collection/_index.md index 7d79a4852..e6607e7ca 100644 --- a/tasks/italian/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/italian/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,44 @@ --- -title: Gestione della raccolta di calendari in Aspose.Tasks -linktitle: Gestione della raccolta di calendari in Aspose.Tasks -second_title: Aspose.Tasks API .NET -description: Scopri come gestire in modo efficiente le raccolte di calendari in Aspose.Tasks per .NET. Crea, modifica e manipola i calendari con facilità. -weight: 11 +date: 2026-04-13 +description: Scopri come impostare le ore lavorative e gestire le raccolte di calendari + in Aspose.Tasks per .NET. Importa i calendari di Microsoft Project, rimuovi il calendario + del progetto e ottieni il calendario per nome facilmente. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Gestione della collezione di calendari in Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Imposta le ore lavorative nella raccolta di calendari di Aspose.Tasks url: /it/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gestione della raccolta di calendari in Aspose.Tasks +# Imposta le ore lavorative nella raccolta di calendari Aspose.Tasks -## introduzione +In questo tutorial imparerai come **impostare le ore lavorative** e gestire le raccolte di calendari usando Aspose.Tasks per .NET. I calendari definiscono i giorni lavorativi, le festività e le eccezioni, quindi padroneggiarli ti consente di controllare i programmi di progetto con precisione. Ti mostreremo anche come importare i calendari da Microsoft Project, rimuovere un calendario da un progetto e ottenere un calendario per nome. -In questo tutorial esploreremo come gestire le raccolte di calendari in Aspose.Tasks per .NET. I calendari svolgono un ruolo cruciale nella gestione dei progetti, definendo giorni lavorativi, festivi ed eccezioni. Aspose.Tasks fornisce funzionalità robuste per manipolare i calendari all'interno dei tuoi progetti. +## Risposte rapide +- **Qual è la classe principale per i calendari?** `Project.Calendars` collection. +- **Come impostare le ore lavorative?** Create or modify a `Calendar` object and define its `WorkingTime`. +- **Posso importare i calendari da Microsoft Project?** Yes – load an MPP file and access its calendars. +- **Come rimuovere un calendario da un progetto?** Use `Project.Calendars.Remove(calendar)`. +- **Come recuperare un calendario per nome?** Call `Project.Calendars.GetByName("YourCalendar")`. ## Prerequisiti -Prima di iniziare, assicurati di avere quanto segue: - -1. Visual Studio: installa Visual Studio o qualsiasi altro IDE compatibile per lo sviluppo .NET. -2. Aspose.Tasks per .NET: Scarica e installa Aspose.Tasks per .NET da[Qui](https://releases.aspose.com/tasks/net/). -3. Conoscenza di base di C#: la familiarità con il linguaggio di programmazione C# sarà utile. +1. Visual Studio: Installa Visual Studio o qualsiasi altro IDE compatibile per lo sviluppo .NET. +2. Aspose.Tasks per .NET: Scarica e installa Aspose.Tasks per .NET da [here](https://releases.aspose.com/tasks/net/). +3. Conoscenza di base di C#: Familiarità con il linguaggio di programmazione C# sarà utile. ## Importa spazi dei nomi -Innanzitutto, importiamo gli spazi dei nomi necessari per lavorare con Aspose.Tasks: +Per prima cosa, importiamo gli spazi dei nomi necessari per lavorare con Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,24 +46,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Creazione di un nuovo calendario -### Passaggio 1: inizializzare un nuovo file`Project` object. +### Passo 1: Inizializza un nuovo oggetto `Project`. ```csharp var project = new Project(); ``` -### Passaggio 2: aggiungi calendari alla raccolta di calendari del progetto. +### Passo 2: Aggiungi calendari alla raccolta di calendari del progetto. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Passaggio 3: scorrere i calendari e visualizzare i loro nomi. +### Passo 3: Itera attraverso i calendari e mostra i loro nomi. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +70,21 @@ foreach (var calendar in project.Calendars) } ``` -## Sostituzione di un calendario con un nuovo calendario +## Come impostare le ore lavorative per un calendario? -### Passaggio 1: carica un progetto esistente. +Per **impostare le ore lavorative**, modifichi la collezione `WorkingTime` di un `Calendar`. +Ad esempio, puoi definire una giornata lavorativa standard dalle 9:00 alle 17:00 o aggiungere eccezioni personalizzate. +Il codice per questo è identico agli esempi mostrati più avanti quando creiamo un calendario standard. + +## Sostituire un calendario con un nuovo calendario + +### Passo 1: Carica un progetto esistente. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Passaggio 2: rimuovi il calendario esistente (se esiste). +### Passo 2: Rimuovi il calendario esistente (se esiste). +Questo dimostra lo scenario di **rimozione del calendario dal progetto**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,45 +93,46 @@ if (calendar != null) } ``` -### Passaggio 3: aggiungi un nuovo calendario. +### Passo 3: Aggiungi un nuovo calendario. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Ottenere il calendario per nome o ID +## Recuperare un calendario per nome o ID -### Passaggio 1: caricare il progetto. +### Passo 1: Carica il progetto. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Passaggio 2: recupera i calendari per nome o UID. +### Passo 2: Recupera i calendari per nome o UID. +Questo illustra l'operazione di **recupero del calendario per nome**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### Passaggio 3: visualizza i dettagli del calendario. +### Passo 3: Mostra i dettagli del calendario. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Iterazione sui calendari +## Iterare sui calendari -### Passaggio 1: caricare il progetto. +### Passo 1: Carica il progetto. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Passaggio 2: recupera il conteggio dei calendari. +### Passo 2: Recupera il conteggio dei calendari. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Passaggio 3: scorre la raccolta del calendario e visualizza i nomi. +### Passo 3: Itera sulla collezione di calendari e mostra i nomi. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,50 +143,71 @@ foreach (var calendar in calendars) ## Creare un calendario standard -### Passaggio 1: inizializzare un nuovo progetto. +### Passo 1: Inizializza un nuovo progetto. ```csharp var project = new Project(); ``` -### Passaggio 2: definire un nuovo calendario e renderlo standard. +### Passo 2: Definisci un nuovo calendario e rendilo standard. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Passaggio 3: salva il progetto. +### Passo 3: Salva il progetto. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Conclusione +## Problemi comuni e soluzioni -La gestione delle raccolte di calendari in Aspose.Tasks per .NET è essenziale per una gestione efficace del progetto. Con le funzionalità fornite, puoi creare, modificare e manipolare in modo efficiente i calendari in base ai requisiti del tuo progetto. +- **Calendario non trovato quando si utilizza `GetByName`** – Assicurati che il nome esatto corrisponda al caso usato quando il calendario è stato aggiunto. +- **Ore lavorative non applicate** – Dopo aver impostato `WorkingTime`, ricorda di salvare il progetto; altrimenti le modifiche rimangono solo in memoria. +- **Importazione dei calendari da un file MPP fallita** – Verifica che il file di origine sia un file Microsoft Project valido e che tu abbia i permessi di lettura. -## Domande frequenti +## FAQ -### Q1: posso creare giorni lavorativi personalizzati in Aspose.Tasks? +### Q1: Posso creare giorni lavorativi personalizzati in Aspose.Tasks? +A1: Sì, è possibile creare giorni lavorativi personalizzati aggiungendo eccezioni ai calendari. -R1: Sì, puoi creare giorni lavorativi personalizzati aggiungendo eccezioni ai calendari. +### Q2: È possibile importare i calendari da file Microsoft Project? +A2: Assolutamente, Aspose.Tasks supporta l'importazione dei calendari da file Microsoft Project. -### Q2: È possibile importare calendari da file Microsoft Project? +### Q3: Come posso rimuovere un calendario specifico da un progetto? +A3: Puoi rimuovere un calendario prelevandolo dalla collezione e poi chiamando il metodo `Remove`. -A2: Assolutamente, Aspose.Tasks supporta l'importazione di calendari da file Microsoft Project. +### Q4: Aspose.Tasks supporta l'esportazione dei calendari in formati diversi? +A4: Sì, Aspose.Tasks consente di esportare i calendari in vari formati come XML, MPP, ecc. -### Q3: Come posso rimuovere un calendario specifico da un progetto? +### Q5: Posso personalizzare le ore lavorative per giorni specifici in un calendario? +A5: Certamente, puoi definire le ore lavorative per giorni individuali usando le eccezioni nel calendario. + +## Domande frequenti + +**Q: Qual è il modo migliore per impostare un calendario a turno di 24 ore?** +A: Crea un nuovo calendario, cancella le voci `WorkingTime` esistenti e aggiungi un unico intervallo `WorkingTime` dalle 00:00 alle 24:00 per ogni giorno della settimana. - R3: Puoi rimuovere un calendario recuperandolo dalla raccolta e quindi chiamando il`Remove` metodo. +**Q: Posso copiare un calendario da un progetto a un altro?** +A: Sì—esporta il calendario in XML usando `project.Save` e poi importalo in un altro progetto con `new Project(xmlPath)`. -### Q4: Aspose.Tasks supporta l'esportazione di calendari in diversi formati? +**Q: Come importare programmaticamente i calendari da Microsoft Project?** +A: Carica il file MPP con `new Project("source.mpp")`; i calendari diventano disponibili tramite `project.Calendars`. -A4: Sì, Aspose.Tasks consente di esportare calendari in vari formati come XML, MPP, ecc. +**Q: Esiste un limite al numero di calendari in un progetto?** +A: Praticamente no; la collezione può contenere quanti calendari la memoria consente, ma è consigliabile mantenere l'elenco gestibile per le prestazioni. + +**Q: Le modifiche a un calendario aggiornano automaticamente le attività che lo utilizzano?** +A: Sì—le attività collegate a un calendario riflettono i tempi di lavoro aggiornati dopo aver salvato il progetto. + +--- -### Q5: Posso personalizzare l'orario di lavoro per giorni specifici in un calendario? +**Ultimo aggiornamento:** 2026-04-13 +**Testato con:** Aspose.Tasks 24.11 for .NET +**Autore:** Aspose -R5: Certamente è possibile definire l'orario di lavoro per i singoli giorni utilizzando le eccezioni nel calendario. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/italian/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/italian/net/calendar-scheduling/calendar-exceptions/_index.md index 9bc67c59b..aae969ffe 100644 --- a/tasks/italian/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/italian/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,64 @@ --- -title: Gestione delle eccezioni del calendario in Aspose.Tasks -linktitle: Gestione delle eccezioni del calendario in Aspose.Tasks -second_title: Aspose.Tasks API .NET -description: Scopri come gestire le eccezioni del calendario in Aspose.Tasks per .NET con tutorial ed esempi passo passo. -weight: 12 +date: 2026-04-13 +description: Scopri come eliminare le eccezioni del calendario in Aspose.Tasks per + .NET e verificare la data dell'eccezione durante la gestione della programmazione + del calendario ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Elimina eccezione del calendario con Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Elimina eccezione del calendario con Aspose.Tasks url: /it/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gestione delle eccezioni del calendario in Aspose.Tasks +# Elimina eccezione del calendario con Aspose.Tasks + +## Introduzione + +In questo tutorial, imparerai come **eliminare un'eccezione del calendario** e gestire altre eccezioni del calendario in Aspose.Tasks usando il framework .NET. Le eccezioni del calendario ti consentono di modellare festività, chiusure temporanee o qualsiasi periodo speciale in cui il normale orario di lavoro cambia. Comprendere come aggiungere, interrogare e rimuovere queste eccezioni è essenziale per una pianificazione accurata del progetto, specialmente quando si lavora con scenari di **pianificazione del calendario ASP.NET**. + +## Risposte rapide +- **Qual è il metodo principale per rimuovere un'eccezione?** Usa il metodo `Delete()` sull'oggetto `CalendarException`. +- **Quale classe verifica una data rispetto a un'eccezione?** `CalendarException.CheckException()` — utile per **verificare la data dell'eccezione**. +- **È necessaria una licenza per eseguire il codice?** Sì, è necessaria una licenza valida di Aspose.Tasks per l'uso in produzione. +- **Posso aggiungere più eccezioni a un calendario?** Assolutamente; la collezione `Exceptions` supporta molte voci. +- **Versioni .NET supportate?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Cos'è un'eccezione del calendario? + +Una **eccezione del calendario** rappresenta una deviazione dal calendario di lavoro regolare — pensala come una regola che dice “in queste date, le ore di lavoro sono diverse o assenti”. In Aspose.Tasks, ogni eccezione può avere i propri orari di lavoro, modello di ricorrenza e flag che indicano se il giorno è lavorativo. -## introduzione +## Perché gestire le eccezioni del calendario nella pianificazione del calendario ASP.NET? -In questo tutorial esploreremo come gestire le eccezioni del calendario in Aspose.Tasks utilizzando il framework .NET. Le eccezioni del calendario ci consentono di definire date o periodi speciali nel calendario di un progetto in cui il normale orario di lavoro viene modificato, come festività o chiusure temporanee. Tratteremo vari metodi per gestire le eccezioni del calendario passo dopo passo, utilizzando Aspose.Tasks per .NET. +- **Scadenze accurate:** I progetti rispettano automaticamente le festività e le chiusure speciali, evitando scadenze irrealistiche. +- **Flessibilità:** È possibile definire modelli giornalieri, settimanali, mensili o annuali, corrispondenti ai calendari aziendali del mondo reale. +- **Automazione:** Verificare programmaticamente una data di eccezione ti consente di costruire logiche di pianificazione dinamiche nelle applicazioni ASP.NET. ## Prerequisiti -Prima di iniziare, assicurati di possedere i seguenti prerequisiti: -- Conoscenza base del linguaggio di programmazione C#. -- Visual Studio installato nel sistema. -- Libreria Aspose.Tasks per .NET aggiunta al tuo progetto. +- Conoscenza di base della programmazione C#. +- Visual Studio (qualsiasi versione recente). +- Libreria Aspose.Tasks per .NET aggiunta al tuo progetto (tramite NuGet o riferimento manuale). ## Importa spazi dei nomi -Innanzitutto, importiamo gli spazi dei nomi necessari per il nostro progetto: +Per prima cosa, importa gli spazi dei nomi di cui avrai bisogno: ```csharp using Aspose.Tasks; using System; - - ``` -## Passaggio 1: eliminazione di un'eccezione del calendario +## Passo 1: Elimina eccezione del calendario -Per eliminare un'eccezione del calendario, procedi nel seguente modo: +Rimuovere un'eccezione indesiderata è semplice. Il codice seguente carica un progetto, seleziona il primo calendario, visualizza informazioni di base, elimina la prima eccezione e poi mostra il conteggio aggiornato. ```csharp public void CalendarExceptionDelete() @@ -45,20 +66,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Visualizza le informazioni del calendario + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Rimuovere la prima eccezione + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Passaggio 2: ottenere l'orario di lavoro di un'eccezione del calendario +> **Suggerimento professionale:** Verifica sempre che l'indice dell'eccezione esista prima di chiamare `Delete()` per evitare `IndexOutOfRangeException`. + +## Passo 2: Ottieni orario di lavoro di un'eccezione del calendario -Per recuperare l'orario di lavoro di un'eccezione del calendario, attenersi alla seguente procedura: +Se hai bisogno di ispezionare le ore di lavoro definite per un'eccezione, usa `GetWorkingTime()`. Questo esempio dimostra anche come **verificare la data dell'eccezione** con `CheckException`. ```csharp [Test] @@ -68,12 +91,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Visualizza il calendario e le informazioni sulle eccezioni + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Ottieni l'orario di lavoro e visualizza i dettagli + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +108,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Passaggio 3: definizione delle eccezioni del calendario +## Passo 3: Definisci eccezioni del calendario -Per aggiungere o rimuovere eccezioni del calendario, procedi nel seguente modo: +Di seguito è riportata una guida completa che mostra come **aggiungere**, **verificare** e **rimuovere** le eccezioni del calendario. Nota l'uso di `CheckException` per **verificare la data dell'eccezione** per un momento specifico. ```csharp [Test] @@ -96,10 +119,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Crea una nuova eccezione del calendario + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Imposta i dettagli dell'eccezione + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +130,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Controlla se una data è un'eccezione + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Aggiungi l'eccezione al calendario + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Rimuovere un'eccezione se esiste + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +144,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Aggiungi una nuova eccezione + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Stampa le eccezioni + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +160,44 @@ public void DefineCalendarExceptions() } ``` -## Conclusione +## Problemi comuni e suggerimenti -In questo articolo abbiamo trattato vari aspetti della gestione delle eccezioni del calendario in Aspose.Tasks per .NET. Seguendo i passaggi forniti, puoi gestire in modo efficace le eccezioni nelle pianificazioni del tuo progetto, garantendo una rappresentazione accurata dell'orario di lavoro e degli eventi speciali. +| Problema | Motivo | Soluzione | +|----------|--------|-----------| +| **`IndexOutOfRangeException` durante l'eliminazione** | Tentativo di eliminare un'eccezione che non esiste. | Verifica che `calendar.Exceptions.Count` > indice prima di chiamare `Delete()`. | +| **Orari di lavoro errati** | Non impostare correttamente `DayWorking` o `WorkingTimes`. | Usa `exception.WorkingTimes.Add(new WorkingTime(...))` per definire periodi espliciti. | +| **Eccezione non riconosciuta** | `CheckException` restituisce `false` perché la data cade al di fuori dell'intervallo definito. | Verifica nuovamente `FromDate`/`ToDate` e il `Type` (Daily, Weekly, ecc.). | ## Domande frequenti -### Q1: Posso aggiungere più eccezioni a un singolo calendario? +**D: Posso aggiungere più eccezioni a un singolo calendario?** +R: Sì, puoi aggiungere quante eccezioni desideri per rappresentare festività, finestre di manutenzione o qualsiasi regola di pianificazione speciale. -R1: Sì, puoi aggiungere più eccezioni a un calendario per accogliere varie date o periodi speciali. +**D: Come **verificare la data dell'eccezione** per un giorno specifico?** +R: Usa il metodo `CheckException(DateTime date)` su un'istanza `CalendarException`. Restituisce `true` se la data fornita cade nell'intervallo dell'eccezione. -### Q2: Come posso verificare se una data specifica costituisce un'eccezione? +**D: È possibile rimuovere un'eccezione esistente da un calendario?** +R: Assolutamente. Accedi alla collezione `Exceptions` e chiama `Remove()` o invoca `Delete()` sull'oggetto `CalendarException` specifico. - A2: Puoi usare il file`CheckException()` metodo per verificare se una data particolare rientra in un'eccezione. +**D: Quali tipi di eccezioni del calendario sono supportati?** +R: Aspose.Tasks supporta i tipi di eccezione Daily, Weekly, Monthly e Yearly, offrendoti flessibilità per modellare quasi qualsiasi modello di ricorrenza. -### Q3: è possibile rimuovere un'eccezione esistente da un calendario? +**D: Posso personalizzare le ore di lavoro per date di eccezione specifiche?** +R: Sì. Dopo aver creato un'eccezione, popola la sua collezione `WorkingTimes` con oggetti `WorkingTime` che definiscono gli orari di inizio e fine per quel giorno. - R3: Sì, puoi rimuovere le eccezioni accedendo a`Exceptions` raccolta del calendario e utilizzo del`Remove()` metodo. +## Conclusione -### Q4: quali tipi di eccezioni di calendario sono supportati? +Abbiamo illustrato l'intero ciclo di vita delle operazioni di **eliminare un'eccezione del calendario**, dall'ispezione delle eccezioni esistenti all'aggiunta di nuove e alla verifica delle date. Padroneggiare queste tecniche garantisce che i piani dei tuoi progetti rispettino i calendari del mondo reale, rendendo le tue implementazioni di pianificazione del calendario ASP.NET robuste e affidabili. -A4: Aspose.Tasks supporta vari tipi di eccezioni, incluse eccezioni giornaliere, settimanali, mensili e annuali, fornendo flessibilità nella definizione delle regole di eccezione. +--- -### D5: Posso personalizzare l'orario di lavoro per date di eccezione specifiche? +**Ultimo aggiornamento:** 2026-04-13 +**Testato con:** Aspose.Tasks for .NET (latest release) +**Autore:** Aspose -A5: Sì, è possibile definire orari di lavoro personalizzati per le singole date di eccezione utilizzando i metodi appropriati forniti da Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/italian/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/italian/net/calendar-scheduling/child-tasks-collector/_index.md index 58014cb23..9edbc28ce 100644 --- a/tasks/italian/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/italian/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Raccolta di attività figlio in Aspose.Tasks -linktitle: Raccolta di attività figlio in Aspose.Tasks -second_title: Aspose.Tasks API .NET -description: Scopri come raccogliere attività figlio in modo efficiente utilizzando Aspose.Tasks per .NET. Migliora la gestione dei progetti nelle tue applicazioni .NET. -weight: 15 +date: 2026-04-13 +description: Scopri come creare un raccoglitore di attività figlio utilizzando Aspose.Tasks + per .NET. Migliora la gestione dei progetti nelle tue applicazioni .NET. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Crea raccoglitore di attività figlio in Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Come creare un raccoglitore di attività figlio in Aspose.Tasks url: /it/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Raccolta di attività figlio in Aspose.Tasks +# Crea Child Tasks Collector in Aspose.Tasks + +## Introduzione + +Se hai bisogno di **creare child tasks collector** per un file Microsoft Project, Aspose.Tasks per .NET lo rende semplice. In questo tutorial percorreremo i passaggi esatti necessari per raccogliere ogni attività figlia sotto un genitore, così potrai elaborarle, analizzarle o esportarle con fiducia. Alla fine della guida avrai uno snippet riutilizzabile che si integra naturalmente in qualsiasi soluzione di gestione progetti basata su .NET. + +## Risposte Rapide +- **Cosa fa il ChildTasksCollector?** Scorre una gerarchia di attività e raccoglie tutte le attività discendenti in una collezione. +- **Quale libreria fornisce questa funzionalità?** Aspose.Tasks per .NET. +- **È necessaria una licenza per eseguire il campione?** Una versione di prova gratuita è sufficiente per la valutazione; è necessaria una licenza per la produzione. +- **Quali versioni di .NET sono supportate?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Quanto tempo richiede l'implementazione?** Circa 5‑10 minuti una volta installata la libreria. + +## Cos'è un Child Tasks Collector? -## introduzione +Un **child tasks collector** è un oggetto di utilità che attraversa l'albero delle attività di un file Project, a partire da un'attività radice specificata, e aggrega ogni attività figlia (sotto‑attività) che incontra. È particolarmente utile quando si desidera applicare operazioni in blocco — come l'aggiornamento di campi, l'esportazione di dati o la generazione di report — senza iterare manualmente su ogni livello della gerarchia. -Nel campo della gestione dei progetti, Aspose.Tasks per .NET si distingue come una soluzione solida per gestire attività e progetti in modo efficiente. Questa potente libreria fornisce agli sviluppatori gli strumenti di cui hanno bisogno per gestire attività, progetti e tutto il resto senza problemi. In questo tutorial approfondiremo un aspetto specifico di Aspose.Tasks: la raccolta di attività figlio. +## Perché creare un child tasks collector? + +- **Semplificare la ricorsione:** Il collector gestisce internamente il traversal depth‑first, così eviti di scrivere i tuoi loop ricorsivi. +- **Aumentare la produttività:** Recupera tutte le attività discendenti in un'unica collezione, rendendo le modifiche o le analisi in blocco triviali. +- **Mantenere codice pulito:** Mantiene la logica di business separata dalla navigazione a basso livello della struttura del progetto. ## Prerequisiti -Prima di iniziare, assicurati di disporre dei seguenti prerequisiti: +Prima di iniziare, assicurati di avere: -1. Comprensione di base di C#: la familiarità con il linguaggio di programmazione C# è essenziale. -2. Installazione di Aspose.Tasks per .NET: scaricare e installare la libreria Aspose.Tasks per .NET dal[Link per scaricare](https://releases.aspose.com/tasks/net/). -3. Ambiente di sviluppo: configura un ambiente di sviluppo, come Visual Studio, per scrivere ed eseguire codice C#. -4. Accesso alla documentazione: conservare il[Aspose.Tasks per la documentazione .NET](https://reference.aspose.com/tasks/net/) utile per riferimento. +1. **Conoscenza di base di C#** – dovresti sentirti a tuo agio nello scrivere ed eseguire semplici applicazioni console. +2. **Aspose.Tasks per .NET installato** – scaricalo dal [download link](https://releases.aspose.com/tasks/net/). +3. **Un ambiente di sviluppo** – Visual Studio, Rider o qualsiasi IDE che supporti C#. +4. **Accesso alla documentazione ufficiale** – tieni a portata di mano la [documentazione di Aspose.Tasks per .NET](https://reference.aspose.com/tasks/net/) per riferimento. -Ora che abbiamo coperto i prerequisiti, tuffiamoci nella guida passo passo per raccogliere attività figlio utilizzando Aspose.Tasks per .NET. +Ora che le basi sono pronte, immergiamoci nel codice. -## Importa spazi dei nomi +## Importa Namespace -Innanzitutto, importa gli spazi dei nomi necessari nel codice C# per accedere alle funzionalità fornite da Aspose.Tasks per .NET. +Per prima cosa, porta i namespace richiesti nello scope in modo che il compilatore sappia dove trovare le classi che utilizzeremo. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Ora suddividiamo l'esempio fornito in più passaggi per comprendere a fondo il processo. +## Guida Passo‑Passo -## Passaggio 1: inizializzare l'oggetto del progetto +### Passo 1: Inizializza l'oggetto Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Questa riga di codice inizializza un nuovo file`Project` oggetto, caricando un file di progetto denominato "ParentChildTasks.mpp" dalla directory specificata. +Questa riga carica un file Microsoft Project esistente (`ParentChildTasks.mpp`) dalla cartella `DataDir` in un oggetto `Project`, fornendoci l'accesso programmatico alle sue attività. -## Passaggio 2: crea l'oggetto ChildTasksCollector +### Passo 2: Crea l'istanza di ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Qui ne creiamo uno nuovo`ChildTasksCollector` object, che ci aiuterà a raccogliere le attività figlio dal progetto. +Qui **creiamo child tasks collector** – un'istanza di `ChildTasksCollector` che memorizzerà ogni attività figlia che scopre. -## Passaggio 3: applicare il raccoglitore all'attività root +### Passo 3: Applica il Collector all'attività radice ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Applichiamo il`ChildTasksCollector` all'attività root del progetto, avviando ricorsivamente il processo di raccolta. +Indichiamo ad Aspose.Tasks di avviare la raccolta all'attività radice del progetto. Il metodo `Apply` percorre la gerarchia ricorsivamente, popolando `collector.Tasks` con tutte le attività discendenti. -## Passaggio 4: scorrere le attività raccolte +### Passo 4: Itera attraverso le attività raccolte ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Infine, iteriamo attraverso le attività raccolte e stampiamo i loro nomi sulla console. - -## Conclusione +Infine, iteriamo sulle attività raccolte e stampiamo il nome di ciascuna attività sulla console. In uno scenario reale potresti sostituire `Console.WriteLine` con qualsiasi elaborazione personalizzata necessaria (ad es., esportazione in CSV, aggiornamento di campi, ecc.). -In questo tutorial, abbiamo esplorato come raccogliere attività figlio utilizzando Aspose.Tasks per .NET. Seguendo i passaggi sopra descritti, puoi gestire e manipolare in modo efficiente le attività all'interno dei tuoi progetti, migliorando la produttività e l'organizzazione. +## Problemi Comuni e Soluzioni -## Domande frequenti +| Problema | Motivo | Soluzione | +|----------|--------|-----------| +| **Nessuna attività restituita** | Il collector è stato applicato all'attività sbagliata (ad es., un nodo foglia). | Applica `TaskUtils.Apply` a `project.RootTask` o al genitore specifico da cui vuoi partire. | +| **NullReferenceException** | `DataDir` o il percorso del file è errato. | Verifica che `DataDir` punti alla cartella contenente `ParentChildTasks.mpp`. | +| **Licenza non impostata** | Aspose.Tasks genera un avviso di licenza in modalità di prova. | Carica la tua licenza con `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` prima di creare l'oggetto `Project`. | -### Q1: Aspose.Tasks per .NET è compatibile con tutte le versioni di .NET? +## Domande Frequenti -R1: Sì, Aspose.Tasks per .NET è compatibile con varie versioni del framework .NET, garantendo un'ampia compatibilità. +**Q: Aspose.Tasks per .NET è compatibile con tutte le versioni di .NET?** +A: Sì, Aspose.Tasks per .NET funziona con .NET Framework 4.5+, .NET Core 3.1+, e .NET 5/6+. -### Q2: posso utilizzare Aspose.Tasks per .NET per creare nuovi file di progetto? +**Q: Posso usare Aspose.Tasks per .NET per creare nuovi file di progetto?** +A: Assolutamente! La libreria ti consente di creare, leggere e manipolare file di progetto programmaticamente. -A2: Assolutamente! Aspose.Tasks per .NET fornisce funzionalità per creare, leggere e manipolare file di progetto senza sforzo. +**Q: Aspose.Tasks per .NET supporta più piattaforme?** +A: Sebbene sia progettato per .NET, può essere eseguito su qualsiasi piattaforma che supporti il runtime .NET, inclusi Windows, Linux e macOS. -### Q3: Aspose.Tasks per .NET supporta più piattaforme? +**Q: È disponibile supporto tecnico per Aspose.Tasks per .NET?** +A: Sì, puoi ottenere assistenza tramite il [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -A3: Sebbene progettato principalmente per ambienti .NET, Aspose.Tasks per .NET può essere utilizzato in varie piattaforme che supportano lo sviluppo .NET. +**Q: Posso provare Aspose.Tasks per .NET prima di acquistarlo?** +A: Certamente! Una versione di prova gratuita è disponibile dalla [release page](https://releases.aspose.com/). -### Q4: è disponibile il supporto tecnico per Aspose.Tasks per .NET? - -R4: Sì, gli utenti possono accedere al supporto tecnico tramite[Forum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### Q5: Posso provare Aspose.Tasks per .NET prima dell'acquisto? +**Ultimo aggiornamento:** 2026-04-13 +**Testato con:** Aspose.Tasks 24.11 per .NET +**Autore:** Aspose - A5: Certamente! Puoi usufruire di una prova gratuita da[pagina di rilascio](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/japanese/net/calendar-scheduling/calendar-collection/_index.md b/tasks/japanese/net/calendar-scheduling/calendar-collection/_index.md index 632226192..b149d6513 100644 --- a/tasks/japanese/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/japanese/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,43 @@ --- -title: Aspose.Tasks でのカレンダー コレクションの管理 -linktitle: Aspose.Tasks でのカレンダー コレクションの管理 +date: 2026-04-13 +description: Aspose.Tasks for .NETで作業時間の設定方法とカレンダーコレクションの管理方法を学びましょう。Microsoft Projectからカレンダーをインポートし、カレンダー + プロジェクトを削除し、名前でカレンダーを簡単に取得できます。 +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Aspose.Tasks のカレンダー コレクションの管理 second_title: Aspose.Tasks .NET API -description: Aspose.Tasks for .NET でカレンダー コレクションを効率的に管理する方法を学びます。カレンダーを簡単に作成、変更、操作できます。 -weight: 11 +title: Aspose.Tasks カレンダーコレクションで作業時間を設定する url: /ja/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks でのカレンダー コレクションの管理 +# Aspose.Tasks カレンダー コレクションで作業時間を設定する -## 導入 +このチュートリアルでは、**set working hours** を設定し、Aspose.Tasks for .NET を使用してカレンダー コレクションを管理する方法を学びます。カレンダーは作業日、休日、例外を定義するため、これらをマスターするとプロジェクト スケジュールを正確に制御できます。また、Microsoft Project からカレンダーをインポートし、プロジェクトからカレンダーを削除し、名前でカレンダーを取得する方法も示します。 -このチュートリアルでは、Aspose.Tasks for .NET でカレンダー コレクションを管理する方法を検討します。カレンダーはプロジェクト管理において重要な役割を果たし、稼働日、休日、例外を定義します。 Aspose.Tasks は、プロジェクト内でカレンダーを操作するための堅牢な機能を提供します。 +## クイック回答 +- **What is the primary class for calendars?** `Project.Calendars` collection. +- **How do I set working hours?** Create or modify a `Calendar` object and define its `WorkingTime`. +- **Can I import calendars from Microsoft Project?** Yes – load an MPP file and access its calendars. +- **How to remove a calendar from a project?** Use `Project.Calendars.Remove(calendar)`. +- **How to retrieve a calendar by name?** Call `Project.Calendars.GetByName("YourCalendar")`. ## 前提条件 -始める前に、以下のものがあることを確認してください。 - -1. Visual Studio: Visual Studio または .NET 開発用のその他の互換性のある IDE をインストールします。 -2. Aspose.Tasks for .NET:Aspose.Tasks for .NET をダウンロードしてインストールします。[ここ](https://releases.aspose.com/tasks/net/). -3. C# の基本的な理解: C# プログラミング言語に精通していると有益です。 +1. Visual Studio: Install Visual Studio or any other compatible IDE for .NET development. +2. Aspose.Tasks for .NET: Download and install Aspose.Tasks for .NET from [here](https://releases.aspose.com/tasks/net/). +3. Basic understanding of C#: Familiarity with C# programming language will be beneficial. ## 名前空間のインポート -まず、Aspose.Tasks を操作するために必要な名前空間をインポートしましょう。 +First, let's import the necessary namespaces to work with Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,24 +45,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## 新しいカレンダーを作成する +## 新しいカレンダーの作成 -### ステップ 1: 新しいファイルを初期化する`Project` object. +### 手順 1: 新しい `Project` オブジェクトを初期化する。 ```csharp var project = new Project(); ``` -### ステップ 2: プロジェクトのカレンダー コレクションにカレンダーを追加します。 +### 手順 2: カレンダーをプロジェクトのカレンダー コレクションに追加する。 ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### ステップ 3: カレンダーを繰り返し処理し、カレンダーの名前を表示します。 +### 手順 3: カレンダーを反復処理し、名前を表示する。 ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +69,21 @@ foreach (var calendar in project.Calendars) } ``` +## カレンダーの作業時間を設定する方法 + +To **set working hours**, you modify the `WorkingTime` collection of a `Calendar`. +For example, you can define a standard 9 am‑5 pm workday or add custom exceptions. +The code for this is identical to the examples shown later when we create a standard calendar. + ## カレンダーを新しいカレンダーに置き換える -### ステップ 1: 既存のプロジェクトをロードします。 +### 手順 1: 既存のプロジェクトをロードする。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### ステップ 2: 既存のカレンダーを削除します (存在する場合)。 +### 手順 2: 既存のカレンダーを削除する(存在する場合)。 +この例は **remove calendar project** シナリオを示しています。 ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,7 +92,7 @@ if (calendar != null) } ``` -### ステップ 3: 新しいカレンダーを追加します。 +### 手順 3: 新しいカレンダーを追加する。 ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); @@ -84,18 +100,19 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M ## 名前または ID でカレンダーを取得する -### ステップ 1: プロジェクトをロードします。 +### 手順 1: プロジェクトをロードする。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### ステップ 2: 名前または UID でカレンダーを取得します。 +### 手順 2: 名前または UID でカレンダーを取得する。 +この例は **get calendar by name** 操作を示しています。 ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### ステップ 3: カレンダーの詳細を表示します。 +### 手順 3: カレンダーの詳細を表示する。 ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); @@ -104,17 +121,17 @@ Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid ## カレンダーの反復処理 -### ステップ 1: プロジェクトをロードします。 +### 手順 1: プロジェクトをロードする。 ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### ステップ 2: カレンダーの数を取得します。 +### 手順 2: カレンダーの数を取得する。 ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### ステップ 3: カレンダー コレクションと表示名を繰り返し処理します。 +### 手順 3: カレンダー コレクションを反復し、名前を表示する。 ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,50 +142,76 @@ foreach (var calendar in calendars) ## 標準カレンダーの作成 -### ステップ 1: 新しいプロジェクトを初期化します。 +### 手順 1: 新しいプロジェクトを初期化する。 ```csharp var project = new Project(); ``` -### ステップ 2: 新しいカレンダーを定義し、それを標準にします。 +### 手順 2: 新しいカレンダーを定義し、標準に設定する。 ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### ステップ 3: プロジェクトを保存します。 +### 手順 3: プロジェクトを保存する。 ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## 結論 +## 一般的な問題と解決策 -Aspose.Tasks for .NET でカレンダー コレクションを管理することは、効果的なプロジェクト管理に不可欠です。提供されている機能を使用すると、プロジェクトの要件に応じてカレンダーを効率的に作成、変更、操作できます。 +- **Calendar not found when using `GetByName`** – Ensure the exact name matches the case used when the calendar was added. +- **Working hours not applied** – After setting `WorkingTime`, remember to save the project; otherwise changes remain in memory only. +- **Importing calendars from an MPP file fails** – Verify that the source file is a valid Microsoft Project file and that you have read permissions. -## よくある質問 +## FAQ + +### Q1: Aspose.Tasks でカスタム作業日を作成できますか? + +A1: はい、カレンダーに例外を追加することでカスタム作業日を作成できます。 -### Q1: Aspose.Tasks でカスタム稼働日を作成できますか? +### Q2: Microsoft Project ファイルからカレンダーをインポートできますか? -A1: はい、カレンダーに例外を追加することで、カスタムの稼働日を作成できます。 +A2: もちろん、Aspose.Tasks は Microsoft Project ファイルからカレンダーをインポートすることをサポートしています。 -### Q2: Microsoft Project ファイルからカレンダーをインポートすることはできますか? +### Q3: プロジェクトから特定のカレンダーを削除するにはどうすればよいですか? -A2: もちろん、Aspose.Tasks は Microsoft Project ファイルからのカレンダーのインポートをサポートしています。 +A3: コレクションからカレンダーを取得し、`Remove` メソッドを呼び出すことでカレンダーを削除できます。 -### Q3: プロジェクトから特定のカレンダーを削除するにはどうすればよいですか? +### Q4: Aspose.Tasks はカレンダーをさまざまな形式にエクスポートすることをサポートしていますか? - A3: コレクションからカレンダーを取得して、`Remove`方法。 +A4: はい、Aspose.Tasks は XML、MPP などのさまざまな形式へのカレンダーのエクスポートを可能にします。 -### Q4: Aspose.Tasks は、カレンダーのさまざまな形式へのエクスポートをサポートしていますか? +### Q5: カレンダー内の特定の日の作業時間をカスタマイズできますか? -A4: はい、Aspose.Tasks を使用すると、カレンダーを XML、MPP などのさまざまな形式にエクスポートできます。 +A5: もちろん、カレンダーの例外を使用して個々の日の作業時間を定義できます。 + +## よくある質問 + +**Q: 24 時間シフトのカレンダーを設定する最適な方法は何ですか?** +A: 新しいカレンダーを作成し、既存の `WorkingTime` エントリをクリアして、各平日に 00:00 から 24:00 までの単一の `WorkingTime` 範囲を追加します。 + +**Q: カレンダーをあるプロジェクトから別のプロジェクトにコピーできますか?** +A: はい — `project.Save` を使用してカレンダーを XML にエクスポートし、`new Project(xmlPath)` で別のプロジェクトにインポートします。 + +**Q: プログラムで Microsoft Project からカレンダーをインポートするにはどうすればよいですか?** +A: `new Project("source.mpp")` で MPP ファイルをロードすると、カレンダーは `project.Calendars` から利用可能になります。 + +**Q: プロジェクト内のカレンダー数に上限はありますか?** +A: 実質的にありません。コレクションはメモリが許す限り多くのカレンダーを保持できますが、パフォーマンスのためにリストは管理しやすい範囲に保ってください。 + +**Q: カレンダーへの変更はそれを使用しているタスクに自動的に反映されますか?** +A: はい — カレンダーにリンクされたタスクは、プロジェクトを保存した後に更新された作業時間を反映します。 + +--- -### Q5: カレンダーの特定の日の勤務時間をカスタマイズできますか? +**最終更新日:** 2026-04-13 +**テスト環境:** Aspose.Tasks 24.11 for .NET +**作者:** Aspose -A5: 確かに、カレンダーの例外を使用して、個々の日の労働時間を定義できます。 {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/japanese/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/japanese/net/calendar-scheduling/calendar-exceptions/_index.md index ea7452887..5c044b689 100644 --- a/tasks/japanese/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/japanese/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,62 @@ --- -title: Aspose.Tasks でのカレンダー例外の処理 -linktitle: Aspose.Tasks でのカレンダー例外の処理 +date: 2026-04-13 +description: Aspose.Tasks for .NETでカレンダー例外を削除する方法と、ASP.NETのカレンダー予約管理時に例外日付を確認する方法を学びましょう。 +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Aspose.Tasksでカレンダー例外を削除 second_title: Aspose.Tasks .NET API -description: ステップバイステップのチュートリアルと例を使用して、Aspose.Tasks for .NET でカレンダーの例外を管理する方法を学びます。 -weight: 12 +title: Aspose.Tasksでカレンダー例外を削除 url: /ja/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks でのカレンダー例外の処理 +# Aspose.Tasks でカレンダー例外を削除する + +## はじめに + +このチュートリアルでは、**カレンダー例外を削除**し、Aspose.Tasks の .NET フレームワークを使用して他のカレンダー例外を管理する方法を学びます。カレンダー例外を使用すると、祝日や一時的な閉鎖、通常の作業スケジュールが変更される特別な期間をモデル化できます。例外の追加、クエリ、削除を理解することは、特に **ASP.NET カレンダー スケジューリング** シナリオで正確なプロジェクトスケジューリングを行うために重要です。 + +## クイック回答 +- **例外を削除する主なメソッドは何ですか?** `CalendarException` オブジェクトの `Delete()` メソッドを使用します。 +- **どのクラスが日付を例外と照合しますか?** `CalendarException.CheckException()` — **例外日付のチェック** に便利です。 +- **コード実行にライセンスは必要ですか?** はい、実稼働環境では有効な Aspose.Tasks ライセンスが必要です。 +- **1 つのカレンダーに複数の例外を追加できますか?** もちろんです。`Exceptions` コレクションは多数のエントリをサポートします。 +- **対応している .NET バージョンは?** .NET Framework 4.5 以上、.NET Core 3.1 以上、.NET 5/6/7。 + +## カレンダー例外とは? + +**カレンダー例外** は、通常の作業カレンダーからの逸脱を表します。つまり「この日付では作業時間が異なる、または全く作業しない」というルールです。Aspose.Tasks では、各例外に独自の作業時間、繰り返しパターン、そしてその日が作業日かどうかを示すフラグを設定できます。 -## 導入 +## ASP.NET カレンダー スケジューリングでカレンダー例外を管理する理由 -このチュートリアルでは、.NET Framework を使用して Aspose.Tasks でカレンダーの例外を管理する方法を検討します。カレンダーの例外を使用すると、休日や臨時休業など、通常の作業スケジュールが変更される特別な日付や期間をプロジェクト カレンダーに定義できます。 Aspose.Tasks for .NET を使用して、カレンダーの例外を処理するさまざまな方法を段階的に説明します。 +- **正確なタイムライン:** プロジェクトは自動的に祝日や特別な閉鎖を考慮し、非現実的な締め切りを防ぎます。 +- **柔軟性:** 日次、週次、月次、年次のパターンを定義でき、実際のビジネスカレンダーに合わせられます。 +- **自動化:** 例外日付をプログラムでチェックすることで、ASP.NET アプリケーション内に動的なスケジューリング ロジックを構築できます。 ## 前提条件 -始める前に、次の前提条件を満たしていることを確認してください。 -- C# プログラミング言語の基本的な知識。 -- Visual Studio がシステムにインストールされている。 -- Aspose.Tasks for .NET ライブラリがプロジェクトに追加されました。 +- C# の基本的な知識。 +- Visual Studio(最新バージョンのいずれか)。 +- プロジェクトに追加された Aspose.Tasks for .NET ライブラリ(NuGet または手動参照)。 ## 名前空間のインポート -まず、プロジェクトに必要な名前空間をインポートしましょう。 +まず、必要な名前空間をインポートします。 ```csharp using Aspose.Tasks; using System; - - ``` -## ステップ 1: カレンダーの例外を削除する +## 手順 1: カレンダー例外の削除 -カレンダーの例外を削除するには、次の手順に従います。 +不要な例外を削除するのは簡単です。以下のコードはプロジェクトを読み込み、最初のカレンダーを選択し、基本情報を表示し、最初の例外を削除して、更新後の件数を示します。 ```csharp public void CalendarExceptionDelete() @@ -45,20 +64,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - //カレンダー情報を表示する + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - //最初の例外を削除する + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## ステップ 2: カレンダー例外の稼働時間を取得する +> **プロのヒント:** `Delete()` を呼び出す前に、例外インデックスが存在するか必ず確認して `IndexOutOfRangeException` を回避してください。 + +## 手順 2: カレンダー例外の作業時間取得 -カレンダー例外の稼働時間を取得するには、次の手順に従います。 +例外に定義された作業時間を確認したい場合は `GetWorkingTime()` を使用します。この例では `CheckException` を使って **例外日付のチェック** も行っています。 ```csharp [Test] @@ -68,12 +89,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - //カレンダーと例外情報を表示する + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - //作業時間を取得して詳細を表示する + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +106,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## ステップ 3: カレンダーの例外を定義する +## 手順 3: カレンダー例外の定義 -カレンダーの例外を追加または削除するには、次の手順に従います。 +以下は、**追加**、**チェック**、**削除** の一連の操作を示す完全な手順です。特定の瞬間に対して **例外日付のチェック** を行うために `CheckException` を使用している点に注目してください。 ```csharp [Test] @@ -96,10 +117,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - //新しいカレンダーの例外を作成する + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - //例外の詳細を設定する + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +128,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - //日付が例外かどうかを確認する + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - //カレンダーに例外を追加する + // Add the exception to the calendar calendar.Exceptions.Add(exception); - //例外が存在する場合は削除します + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +142,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - //新しい例外を追加する + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - //印刷例外 + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +158,44 @@ public void DefineCalendarExceptions() } ``` -## 結論 +## 一般的な問題とヒント -この記事では、Aspose.Tasks for .NET でのカレンダー例外の処理に関するさまざまな側面について説明しました。提供された手順に従うことで、プロジェクト スケジュールの例外を効果的に管理し、作業時間や特別なイベントを正確に表現できるようになります。 +| 問題 | 理由 | 解決策 | +|------|------|--------| +| **`IndexOutOfRangeException` が発生する** | 存在しない例外を削除しようとした場合。 | `Delete()` を呼び出す前に `calendar.Exceptions.Count` がインデックスより大きいことを確認してください。 | +| **作業時間が正しく設定されない** | `DayWorking` または `WorkingTimes` が正しく設定されていない。 | `exception.WorkingTimes.Add(new WorkingTime(...))` を使用して明示的な期間を定義してください。 | +| **例外が認識されない** | `CheckException` が `false` を返すのは、日付が定義された範囲外だから。 | `FromDate`/`ToDate` と `Type`(Daily、Weekly など)を再確認してください。 | ## よくある質問 -### Q1: 1 つのカレンダーに複数の例外を追加できますか? +**Q: 1 つのカレンダーに複数の例外を追加できますか?** +A: はい、祝日、メンテナンスウィンドウ、その他の特別なスケジュール ルールを表すために、必要なだけ例外を追加できます。 -A1: はい、カレンダーに複数の例外を追加して、さまざまな特別な日付や期間に対応できます。 +**Q: 特定の日の **例外日付のチェック** はどうやって行いますか?** +A: `CalendarException` インスタンスの `CheckException(DateTime date)` メソッドを使用します。指定した日付が例外範囲内にある場合は `true` が返ります。 -### Q2: 特定の日付が例外かどうかを確認するにはどうすればよいですか? +**Q: カレンダーから既存の例外を削除することは可能ですか?** +A: もちろんです。`Exceptions` コレクションにアクセスし、`Remove()` を呼び出すか、対象の `CalendarException` オブジェクトで `Delete()` を実行してください。 - A2: を使用できます。`CheckException()`特定の日付が例外に該当するかどうかを確認するメソッド。 +**Q: サポートされているカレンダー例外のタイプは何ですか?** +A: Aspose.Tasks は Daily、Weekly、Monthly、Yearly の例外タイプをサポートしており、ほぼすべての繰り返しパターンをモデル化できます。 -### Q3: カレンダーから既存の例外を削除することはできますか? +**Q: 特定の例外日付に対して作業時間をカスタマイズできますか?** +A: はい。例外を作成した後、その `WorkingTimes` コレクションに `WorkingTime` オブジェクトを追加して、その日の開始時刻と終了時刻を定義します。 - A3: はい、にアクセスして例外を削除できます。`Exceptions`カレンダーの収集と使用`Remove()`方法。 +## 結論 -### Q4: どのようなタイプのカレンダー例外がサポートされていますか? +**カレンダー例外の削除** 操作の全ライフサイクルを、既存例外の確認から新規追加、日付チェックまで順に解説しました。これらのテクニックを習得すれば、プロジェクトスケジュールが実際のカレンダーを正確に反映し、ASP.NET カレンダー スケジューリング実装が堅牢で信頼性の高いものになります。 -A4: Aspose.Tasks は、日次、週次、月次、年次の例外を含むさまざまなタイプの例外をサポートしており、例外ルールを柔軟に定義できます。 +--- -### Q5: 特定の例外日の勤務時間をカスタマイズできますか? +**最終更新日:** 2026-04-13 +**テスト環境:** Aspose.Tasks for .NET(最新リリース) +**作成者:** Aspose -A5: はい、Aspose.Tasks が提供する適切なメソッドを使用して、個々の例外日のカスタム作業時間を定義できます。 {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/japanese/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/japanese/net/calendar-scheduling/child-tasks-collector/_index.md index af5d94afd..4f9f3082e 100644 --- a/tasks/japanese/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/japanese/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,95 @@ --- -title: Aspose.Tasks での子タスクの収集 -linktitle: Aspose.Tasks での子タスクの収集 +date: 2026-04-13 +description: Aspose.Tasks for .NET を使用して子タスク コレクターの作成方法を学び、.NET アプリケーションでプロジェクト管理を向上させましょう。 +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Aspose.Tasksで子タスクコレクタを作成 second_title: Aspose.Tasks .NET API -description: Aspose.Tasks for .NET を使用して子タスクを効率的に収集する方法を学びます。 .NET アプリケーションのプロジェクト管理を改善します。 -weight: 15 +title: Aspose.Tasksで子タスクコレクターを作成する方法 url: /ja/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks での子タスクの収集 +# Aspose.Tasks で子タスクコレクターを作成する + +## はじめに + +Microsoft Project ファイル用に **create child tasks collector** を作成する必要がある場合、Aspose.Tasks for .NET を使用すれば簡単です。このチュートリアルでは、親タスクの下にあるすべての子タスクを収集するために必要な正確な手順を順を追って説明しますので、安心して処理、分析、またはエクスポートできます。ガイドの最後までに、任意の .NET ベースのプロジェクト管理ソリューションに自然に組み込める再利用可能なスニペットを手に入れることができます。 + +## クイック回答 +- **ChildTasksCollector は何をしますか?** タスク階層を走査し、すべての子孫タスクをコレクションに集めます。 +- **どのライブラリがこの機能を提供しますか?** Aspose.Tasks for .NET。 +- **サンプルを実行するのにライセンスは必要ですか?** 評価には無料トライアルで動作しますが、本番環境ではライセンスが必要です。 +- **サポートされている .NET バージョンは何ですか?** .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6+。 +- **実装にどれくらい時間がかかりますか?** ライブラリをインストールすれば、概ね 5‑10 分です。 + +## Child Tasks Collector とは何ですか? -## 導入 +**child tasks collector** は、Project ファイルのタスクツリーを指定したルートタスクから走査し、出会うすべての子タスク(サブタスク)を集約するユーティリティオブジェクトです。階層の各レベルを手動で反復せずに、フィールドの更新、データのエクスポート、レポートの生成などのバルク操作を適用したい場合に特に便利です。 -プロジェクト管理の分野では、Aspose.Tasks for .NET は、タスクとプロジェクトを効率的に処理するための堅牢なソリューションとして際立っています。この強力なライブラリは、タスク、プロジェクト、およびそれらの間のすべてをシームレスに管理するために必要なツールを開発者に提供します。このチュートリアルでは、Aspose.Tasks の特定の側面、つまり子タスクの収集について詳しく説明します。 +## なぜ child tasks collector を作成するのですか? + +- **再帰を簡素化:** コレクターは深さ優先走査を内部で処理するため、独自の再帰ループを書く必要がなくなります。 +- **生産性向上:** すべての子孫タスクを単一のコレクションで取得でき、バルク編集や分析が簡単になります。 +- **コードをクリーンに保つ:** ビジネスロジックをプロジェクト構造の低レベルナビゲーションから分離します。 ## 前提条件 -始める前に、次の前提条件が満たされていることを確認してください。 +開始する前に、以下を確認してください: -1. C# の基本的な理解: C# プログラミング言語に精通していることが不可欠です。 -2. Aspose.Tasks for .NET のインストール: Aspose.Tasks for .NET ライブラリを次の場所からダウンロードしてインストールします。[ダウンロードリンク](https://releases.aspose.com/tasks/net/). -3. 開発環境: C# コードを作成して実行するために、Visual Studio などの開発環境をセットアップします。 -4. ドキュメントへのアクセス:[Aspose.Tasks for .NET ドキュメント](https://reference.aspose.com/tasks/net/)参考に便利です。 +1. **C# の基本的な理解** – 簡単なコンソールアプリケーションの作成と実行に慣れていること。 +2. **Aspose.Tasks for .NET がインストール済み** – [download link](https://releases.aspose.com/tasks/net/) からダウンロードしてください。 +3. **開発環境** – Visual Studio、Rider、または C# をサポートする任意の IDE。 +4. **公式ドキュメントへのアクセス** – 参照用に [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) を手元に置いておく。 -前提条件を満たしたので、Aspose.Tasks for .NET を使用して子タスクを収集するためのステップバイステップ ガイドに移りましょう。 +前提が整ったので、コードに入りましょう。 ## 名前空間のインポート -まず、Aspose.Tasks for .NET が提供する機能にアクセスするために、必要な名前空間を C# コードにインポートします。 +まず、必要な名前空間をスコープに持ち込み、コンパイラが使用するクラスの場所を認識できるようにします。 ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -ここで、プロセスを徹底的に理解するために、提供された例を複数のステップに分割してみましょう。 +## ステップバイステップガイド -## ステップ 1: プロジェクト オブジェクトを初期化する +### 手順 1: Project オブジェクトの初期化 ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` -このコード行は新しいファイルを初期化します。`Project`オブジェクトを作成し、指定されたディレクトリから「ParentChildTasks.mpp」という名前のプロジェクト ファイルをロードします。 +この行は、`DataDir` フォルダー内の既存の Microsoft Project ファイル(`ParentChildTasks.mpp`)を `Project` オブジェクトにロードし、タスクへのプログラム的なアクセスを可能にします。 -## ステップ 2: ChildTasksCollector オブジェクトを作成する +### 手順 2: ChildTasksCollector インスタンスの作成 ```csharp var collector = new ChildTasksCollector(); ``` -ここでは、新しいものを作成します`ChildTasksCollector`オブジェクト。プロジェクトから子タスクを収集するのに役立ちます。 +ここで **create child tasks collector** を作成します – 発見したすべての子タスクを格納する `ChildTasksCollector` のインスタンスです。 -## ステップ 3: コレクタをルート タスクに適用する +### 手順 3: ルートタスクにコレクターを適用する ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` -を適用します。`ChildTasksCollector`プロジェクトのルート タスクにアクセスし、収集プロセスを再帰的に開始します。 +Aspose.Tasks にプロジェクトのルートタスクからコレクションを開始するよう指示します。`Apply` メソッドは階層を再帰的に走査し、`collector.Tasks` にすべての子孫タスクを格納します。 -## ステップ 4: 収集したタスクを反復処理する +### 手順 4: 収集されたタスクを反復処理する ```csharp foreach (var task in collector.Tasks) @@ -75,36 +98,42 @@ foreach (var task in collector.Tasks) } ``` -最後に、収集したタスクを繰り返し処理し、その名前をコンソールに出力します。 +最後に、収集したタスクをループで回し、各タスクの名前をコンソールに出力します。実際のシナリオでは、`Console.WriteLine` を必要なカスタム処理(例: CSV へのエクスポート、フィールドの更新など)に置き換えることができます。 -## 結論 +## よくある問題と解決策 -このチュートリアルでは、Aspose.Tasks for .NET を使用して子タスクを収集する方法を検討しました。上記の手順に従うことで、プロジェクト内のタスクを効率的に管理および操作し、生産性と組織性を向上させることができます。 +| 問題 | 原因 | 対策 | +|-------|--------|-----| +| **タスクが返されません** | コレクターが誤ったタスク(例: リーフノード)に適用されました。 | `TaskUtils.Apply` を `project.RootTask` または開始したい特定の親タスクに適用してください。 | +| **NullReferenceException** | `DataDir` またはファイルパスが正しくありません。 | `DataDir` が `ParentChildTasks.mpp` を含むフォルダーを指していることを確認してください。 | +| **ライセンスが設定されていません** | トライアルモードで Aspose.Tasks がライセンス警告を出します。 | `Project` オブジェクトを作成する前に、`License license = new License(); license.SetLicense("Aspose.Tasks.lic");` でライセンスをロードしてください。 | ## よくある質問 -### Q1: Aspose.Tasks for .NET は、.NET のすべてのバージョンと互換性がありますか? - -A1: はい、Aspose.Tasks for .NET は .NET Framework のさまざまなバージョンと互換性があり、幅広い互換性が保証されています。 +**Q: Aspose.Tasks for .NET はすべての .NET バージョンと互換性がありますか?** +A: はい、Aspose.Tasks for .NET は .NET Framework 4.5+、.NET Core 3.1+、および .NET 5/6+ で動作します。 -### Q2: Aspose.Tasks for .NET を使用して新しいプロジェクト ファイルを作成できますか? +**Q: Aspose.Tasks for .NET を使用して新しいプロジェクトファイルを作成できますか?** +A: もちろんです!このライブラリを使えば、プロジェクトファイルをプログラムで作成、読み取り、操作できます。 -A2: もちろんです! Aspose.Tasks for .NET は、プロジェクト ファイルを簡単に作成、読み取り、操作する機能を提供します。 +**Q: Aspose.Tasks for .NET は複数のプラットフォームをサポートしていますか?** +A: .NET 用に設計されていますが、.NET ランタイムをサポートする任意のプラットフォーム(Windows、Linux、macOS など)で実行できます。 -### Q3: Aspose.Tasks for .NET は複数のプラットフォームをサポートしていますか? +**Q: Aspose.Tasks for .NET の技術サポートは利用できますか?** +A: はい、[Aspose.Tasks フォーラム](https://forum.aspose.com/c/tasks/15) でサポートを受けられます。 -A3: Aspose.Tasks for .NET は主に .NET 環境向けに設計されていますが、.NET 開発をサポートするさまざまなプラットフォームで使用できます。 +**Q: 購入前に Aspose.Tasks for .NET を試すことはできますか?** +A: もちろんです![リリースページ](https://releases.aspose.com/) から無料トライアルが利用できます。 -### Q4: Aspose.Tasks for .NET のテクニカル サポートは利用できますか? - -A4: はい、ユーザーは次の Web サイトを通じてテクニカル サポートにアクセスできます。[Aspose.Task フォーラム](https://forum.aspose.com/c/tasks/15). +--- -### Q5: 購入する前に Aspose.Tasks for .NET を試すことはできますか? +**最終更新日:** 2026-04-13 +**テスト環境:** Aspose.Tasks 24.11 for .NET +**作者:** Aspose - A5:確かに!から無料トライアルを利用できます。[リリースページ](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/korean/net/calendar-scheduling/calendar-collection/_index.md b/tasks/korean/net/calendar-scheduling/calendar-collection/_index.md index 3c029fc12..90f0277ab 100644 --- a/tasks/korean/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/korean/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,45 @@ --- -title: Aspose.Tasks에서 캘린더 컬렉션 관리 +date: 2026-04-13 +description: Aspose.Tasks for .NET에서 작업 시간을 설정하고 캘린더 컬렉션을 관리하는 방법을 배워보세요. Microsoft + Project의 캘린더를 가져오고, 캘린더 프로젝트를 제거하며, 이름으로 캘린더를 쉽게 가져올 수 있습니다. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Aspose.Tasks에서 캘린더 컬렉션 관리 -second_title: Aspose.태스크 .NET API -description: .NET용 Aspose.Tasks에서 캘린더 컬렉션을 효율적으로 관리하는 방법을 알아보세요. 캘린더를 쉽게 생성, 수정, 조작할 수 있습니다. -weight: 11 +second_title: Aspose.Tasks .NET API +title: Aspose.Tasks 캘린더 컬렉션에서 작업 시간 설정 url: /ko/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks에서 캘린더 컬렉션 관리 +# Aspose.Tasks 캘린더 컬렉션에서 작업 시간 설정 -## 소개 +이 튜토리얼에서는 Aspose.Tasks for .NET을 사용하여 **작업 시간 설정**하고 캘린더 컬렉션을 관리하는 방법을 배웁니다. 캘린더는 작업일, 휴일 및 예외를 정의하므로 이를 마스터하면 프로젝트 일정을 정확하게 제어할 수 있습니다. 또한 Microsoft Project에서 캘린더를 가져오고, 프로젝트에서 캘린더를 제거하고, 이름으로 캘린더를 가져오는 방법도 보여줍니다. -이 튜토리얼에서는 .NET용 Aspose.Tasks에서 캘린더 컬렉션을 관리하는 방법을 살펴보겠습니다. 달력은 근무일, 공휴일 및 예외를 정의하여 프로젝트 관리에서 중요한 역할을 합니다. Aspose.Tasks는 프로젝트 내에서 달력을 조작할 수 있는 강력한 기능을 제공합니다. +## 빠른 답변 +- **캘린더의 기본 클래스는 무엇입니까?** `Project.Calendars` collection. +- **작업 시간을 어떻게 설정합니까?** Create or modify a `Calendar` object and define its `WorkingTime`. +- **Microsoft Project에서 캘린더를 가져올 수 있습니까?** Yes – load an MPP file and access its calendars. +- **프로젝트에서 캘린더를 제거하려면 어떻게 합니까?** Use `Project.Calendars.Remove(calendar)`. +- **이름으로 캘린더를 검색하려면 어떻게 합니까?** Call `Project.Calendars.GetByName("YourCalendar")`. -## 전제조건 +## 전제 조건 -시작하기 전에 다음 사항이 있는지 확인하세요. +시작하기 전에 다음이 준비되어 있는지 확인하십시오: -1. Visual Studio: Visual Studio 또는 .NET 개발을 위한 기타 호환 IDE를 설치합니다. -2. .NET용 Aspose.Tasks: 다음에서 .NET용 Aspose.Tasks를 다운로드하고 설치하세요.[여기](https://releases.aspose.com/tasks/net/). -3. C#에 대한 기본 이해: C# 프로그래밍 언어에 익숙하면 도움이 됩니다. +1. Visual Studio: .NET 개발을 위한 Visual Studio 또는 기타 호환 IDE를 설치하십시오. +2. Aspose.Tasks for .NET: [here](https://releases.aspose.com/tasks/net/)에서 Aspose.Tasks for .NET을 다운로드하고 설치하십시오. +3. C# 기본 이해: C# 프로그래밍 언어에 익숙하면 도움이 됩니다. ## 네임스페이스 가져오기 -먼저 Aspose.Tasks 작업에 필요한 네임스페이스를 가져옵니다. +먼저, Aspose.Tasks와 작업하기 위해 필요한 네임스페이스를 가져오겠습니다: ```csharp using Aspose.Tasks; @@ -35,24 +47,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## 새 달력 만들기 +## 새 캘린더 만들기 -### 1단계: 새 초기화`Project` object. +### 단계 1: 새 `Project` 객체를 초기화합니다. ```csharp var project = new Project(); ``` -### 2단계: 프로젝트의 달력 컬렉션에 달력을 추가합니다. +### 단계 2: 프로젝트의 캘린더 컬렉션에 캘린더를 추가합니다. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### 3단계: 달력을 반복하고 이름을 표시합니다. +### 단계 3: 캘린더를 반복하고 이름을 표시합니다. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +71,21 @@ foreach (var calendar in project.Calendars) } ``` -## 달력을 새 달력으로 바꾸기 +## 캘린더의 작업 시간을 설정하는 방법은? + +**작업 시간을** 설정하려면 `Calendar`의 `WorkingTime` 컬렉션을 수정합니다. +예를 들어, 표준 9시부터 17시까지의 작업일을 정의하거나 사용자 지정 예외를 추가할 수 있습니다. +이 코드는 나중에 표준 캘린더를 만들 때 보여지는 예제와 동일합니다. + +## 새 캘린더로 기존 캘린더 교체 -### 1단계: 기존 프로젝트를 로드합니다. +### 단계 1: 기존 프로젝트를 로드합니다. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 2단계: 기존 캘린더를 제거합니다(있는 경우). +### 단계 2: 기존 캘린더를 제거합니다 (존재하는 경우). +이는 **캘린더 제거 프로젝트** 시나리오를 보여줍니다. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,7 +94,7 @@ if (calendar != null) } ``` -### 3단계: 새 캘린더를 추가합니다. +### 단계 3: 새 캘린더를 추가합니다. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); @@ -84,37 +102,38 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M ## 이름 또는 ID로 캘린더 가져오기 -### 1단계: 프로젝트를 로드합니다. +### 단계 1: 프로젝트를 로드합니다. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 2단계: 이름이나 UID로 캘린더를 검색합니다. +### 단계 2: 이름 또는 UID로 캘린더를 검색합니다. +이는 **이름으로 캘린더 가져오기** 작업을 보여줍니다. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### 3단계: 캘린더 세부정보를 표시합니다. +### 단계 3: 캘린더 세부 정보를 표시합니다. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## 달력 반복 +## 캘린더 반복 -### 1단계: 프로젝트를 로드합니다. +### 단계 1: 프로젝트를 로드합니다. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### 2단계: 달력 개수를 검색합니다. +### 단계 2: 캘린더 수를 가져옵니다. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### 3단계: 캘린더 컬렉션과 표시 이름을 반복합니다. +### 단계 3: 캘린더 컬렉션을 반복하고 이름을 표시합니다. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +142,73 @@ foreach (var calendar in calendars) } ``` -## 표준 달력 만들기 +## 표준 캘린더 만들기 -### 1단계: 새 프로젝트를 초기화합니다. +### 단계 1: 새 프로젝트를 초기화합니다. ```csharp var project = new Project(); ``` -### 2단계: 새 달력을 정의하고 표준으로 만듭니다. +### 단계 2: 새 캘린더를 정의하고 표준으로 설정합니다. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### 3단계: 프로젝트를 저장합니다. +### 단계 3: 프로젝트를 저장합니다. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## 결론 +## 일반적인 문제 및 해결책 -효과적인 프로젝트 관리를 위해서는 Aspose.Tasks for .NET에서 캘린더 컬렉션을 관리하는 것이 필수적입니다. 제공된 기능을 사용하면 프로젝트 요구 사항에 따라 달력을 효율적으로 생성, 수정 및 조작할 수 있습니다. +- **`GetByName` 사용 시 캘린더를 찾을 수 없음** – 캘린더를 추가할 때 사용한 정확한 이름과 대소문자가 일치하는지 확인하십시오. +- **작업 시간이 적용되지 않음** – `WorkingTime`을 설정한 후 프로젝트를 저장해야 합니다; 그렇지 않으면 변경 사항이 메모리 내에만 남습니다. +- **MPP 파일에서 캘린더 가져오기 실패** – 소스 파일이 유효한 Microsoft Project 파일인지 및 읽기 권한이 있는지 확인하십시오. ## FAQ -### Q1: Aspose.Tasks에서 사용자 정의 근무일을 만들 수 있나요? +### Q1: Aspose.Tasks에서 사용자 지정 작업일을 만들 수 있습니까? +A1: 예, 캘린더에 예외를 추가하여 사용자 지정 작업일을 만들 수 있습니다. -A1: 예, 달력에 예외를 추가하여 맞춤형 근무일을 생성할 수 있습니다. +### Q2: Microsoft Project 파일에서 캘린더를 가져올 수 있습니까? +A2: 물론입니다. Aspose.Tasks는 Microsoft Project 파일에서 캘린더 가져오기를 지원합니다. -### Q2: Microsoft Project 파일에서 달력을 가져올 수 있습니까? +### Q3: 프로젝트에서 특정 캘린더를 어떻게 제거할 수 있습니까? +A3: 컬렉션에서 캘린더를 가져온 다음 `Remove` 메서드를 호출하여 캘린더를 제거할 수 있습니다. -A2: 물론 Aspose.Tasks는 Microsoft Project 파일에서 달력 가져오기를 지원합니다. +### Q4: Aspose.Tasks가 캘린더를 다양한 형식으로 내보내는 것을 지원합니까? +A4: 예, Aspose.Tasks는 XML, MPP 등 다양한 형식으로 캘린더를 내보낼 수 있습니다. -### Q3: 프로젝트에서 특정 달력을 제거하려면 어떻게 해야 합니까? +### Q5: 캘린더의 특정 날짜에 대한 작업 시간을 사용자 지정할 수 있습니까? +A5: 물론입니다. 캘린더의 예외를 사용하여 개별 날짜에 대한 작업 시간을 정의할 수 있습니다. - A3: 컬렉션에서 달력을 가져온 다음`Remove` 방법. +## 자주 묻는 질문 -### Q4: Aspose.Tasks는 달력을 다른 형식으로 내보내기를 지원합니까? +**Q: 24시간 교대 캘린더를 설정하는 가장 좋은 방법은 무엇입니까?** +A: 새 캘린더를 만들고 기존 `WorkingTime` 항목을 지운 다음 각 평일에 대해 00:00부터 24:00까지의 단일 `WorkingTime` 범위를 추가합니다. -A4: 예, Aspose.Tasks를 사용하면 달력을 XML, MPP 등과 같은 다양한 형식으로 내보낼 수 있습니다. +**Q: 캘린더를 한 프로젝트에서 다른 프로젝트로 복사할 수 있습니까?** +A: 예—`project.Save`를 사용하여 캘린더를 XML로 내보낸 다음 `new Project(xmlPath)`로 다른 프로젝트에 가져옵니다. + +**Q: Microsoft Project에서 프로그래밍 방식으로 캘린더를 가져오려면 어떻게 해야 합니까?** +A: `new Project("source.mpp")`로 MPP 파일을 로드하면 캘린더가 `project.Calendars`를 통해 사용 가능해집니다. + +**Q: 프로젝트의 캘린더 수에 제한이 있습니까?** +A: 실질적으로 제한은 없습니다; 컬렉션은 메모리가 허용하는 만큼 많은 캘린더를 보유할 수 있지만 성능을 위해 목록을 관리 가능한 수준으로 유지하십시오. + +**Q: 캘린더에 대한 변경 사항이 해당 캘린더를 사용하는 작업에 자동으로 업데이트됩니까?** +A: 예—프로젝트를 저장한 후 캘린더에 연결된 작업은 업데이트된 작업 시간을 반영합니다. + +--- -### Q5: 달력에서 특정 날짜의 근무 시간을 맞춤 설정할 수 있나요? +**마지막 업데이트:** 2026-04-13 +**테스트 대상:** Aspose.Tasks 24.11 for .NET +**작성자:** Aspose -A5: 물론 달력의 예외를 사용하여 개별 날짜의 근무 시간을 정의할 수 있습니다. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/korean/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/korean/net/calendar-scheduling/calendar-exceptions/_index.md index ac531f25a..891120882 100644 --- a/tasks/korean/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/korean/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Aspose.Tasks에서 달력 예외 처리 -linktitle: Aspose.Tasks에서 달력 예외 처리 -second_title: Aspose.태스크 .NET API -description: 단계별 튜토리얼과 예제를 통해 Aspose.Tasks for .NET에서 달력 예외를 관리하는 방법을 알아보세요. -weight: 12 +date: 2026-04-13 +description: Aspose.Tasks for .NET에서 캘린더 예외를 삭제하는 방법을 배우고, ASP.NET 캘린더 일정 관리 시 예외 + 날짜를 확인하세요. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Aspose.Tasks로 캘린더 예외 삭제 +second_title: Aspose.Tasks .NET API +title: Aspose.Tasks를 사용하여 캘린더 예외 삭제 url: /ko/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks에서 달력 예외 처리 +# Aspose.Tasks와 함께 캘린더 예외 삭제 ## 소개 -이 튜토리얼에서는 .NET 프레임워크를 사용하여 Aspose.Tasks에서 달력 예외를 관리하는 방법을 살펴보겠습니다. 달력 예외를 사용하면 휴일이나 임시 휴무 등 정규 작업 일정이 변경되는 프로젝트 달력에서 특별한 날짜나 기간을 정의할 수 있습니다. .NET용 Aspose.Tasks를 사용하여 달력 예외를 단계별로 처리하는 다양한 방법을 다룰 것입니다. +이 튜토리얼에서는 **delete calendar exception**을 수행하고 Aspose.Tasks에서 .NET 프레임워크를 사용하여 다른 캘린더 예외를 관리하는 방법을 배웁니다. 캘린더 예외를 사용하면 휴일, 일시적인 폐쇄 또는 일반 작업 일정이 변경되는 특별한 기간을 모델링할 수 있습니다. 이러한 예외를 추가, 조회 및 제거하는 방법을 이해하는 것은 정확한 프로젝트 일정 관리에 필수적이며, 특히 **ASP.NET calendar scheduling** 시나리오에서 중요합니다. + +## 빠른 답변 +- **예외를 제거하는 기본 메서드는 무엇입니까?** `CalendarException` 객체의 `Delete()` 메서드를 사용합니다. +- **예외에 대해 날짜를 확인하는 클래스는 무엇입니까?** `CalendarException.CheckException()` — **check exception date**를 확인하는 데 유용합니다. +- **코드를 실행하려면 라이선스가 필요합니까?** 예, 프로덕션 사용을 위해 유효한 Aspose.Tasks 라이선스가 필요합니다. +- **하나의 캘린더에 여러 예외를 추가할 수 있나요?** 물론입니다; `Exceptions` 컬렉션은 다수의 항목을 지원합니다. +- **지원되는 .NET 버전은?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## 캘린더 예외란? + +**calendar exception**은 일반 작업 캘린더에서 벗어나는 경우를 나타냅니다—즉, “이 날짜에는 근무 시간이 다르거나 전혀 없음”이라는 규칙이라고 생각하면 됩니다. Aspose.Tasks에서 각 예외는 자체 작업 시간, 반복 패턴 및 해당 날짜가 작업일인지 여부를 나타내는 플래그를 가질 수 있습니다. + +## ASP.NET Calendar Scheduling에서 캘린더 예외를 관리해야 하는 이유 + +- **정확한 일정:** 프로젝트가 자동으로 휴일 및 특별 폐쇄를 고려하여 비현실적인 마감일을 방지합니다. +- **유연성:** 일일, 주간, 월간 또는 연간 패턴을 정의하여 실제 비즈니스 캘린더와 일치시킬 수 있습니다. +- **자동화:** 예외 날짜를 프로그래밍 방식으로 확인함으로써 ASP.NET 애플리케이션에서 동적 일정 로직을 구축할 수 있습니다. -## 전제조건 +## 전제 조건 -시작하기 전에 다음 전제 조건이 충족되었는지 확인하세요. -- C# 프로그래밍 언어에 대한 기본 지식. -- 시스템에 Visual Studio가 설치되어 있습니다. -- .NET 라이브러리용 Aspose.Tasks가 프로젝트에 추가되었습니다. +- C# 프로그래밍에 대한 기본 지식. +- Visual Studio(최근 버전). +- 프로젝트에 Aspose.Tasks for .NET 라이브러리를 추가(NuGet 또는 수동 참조). ## 네임스페이스 가져오기 -먼저 프로젝트에 필요한 네임스페이스를 가져오겠습니다. +먼저, 필요한 네임스페이스를 가져옵니다: ```csharp using Aspose.Tasks; using System; - - ``` -## 1단계: 달력 예외 삭제 +## 단계 1: 캘린더 예외 삭제 -캘린더 예외를 삭제하려면 다음 단계를 따르세요. +원하지 않는 예외를 제거하는 것은 간단합니다. 아래 코드는 프로젝트를 로드하고, 첫 번째 캘린더를 선택한 뒤 기본 정보를 표시하고, 첫 번째 예외를 삭제한 후 업데이트된 개수를 보여줍니다. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // 캘린더 정보 표시 + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // 첫 번째 예외 제거 + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## 2단계: 달력 예외의 근무 시간 가져오기 +> **팁:** `Delete()`를 호출하기 전에 예외 인덱스가 존재하는지 항상 확인하여 `IndexOutOfRangeException`을 방지하세요. + +## 단계 2: 캘린더 예외의 작업 시간 가져오기 -달력 예외의 작업 시간을 검색하려면 다음 단계를 따르십시오. +예외에 정의된 작업 시간을 확인해야 하면 `GetWorkingTime()`을 사용합니다. 이 예제는 `CheckException`을 사용하여 **check exception date**를 확인하는 방법도 보여줍니다. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // 달력 및 예외 정보 표시 + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // 근무 시간 확인 및 세부정보 표시 + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## 3단계: 달력 예외 정의 +## 단계 3: 캘린더 예외 정의 -캘린더 예외를 추가하거나 제거하려면 다음 단계를 따르세요. +아래는 캘린더 예외를 **add**, **check**, **remove**하는 전체 과정을 보여주는 예제입니다. 특정 순간에 **check exception date**를 확인하기 위해 `CheckException`을 사용하는 것을 확인하세요. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // 새 캘린더 예외 만들기 + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // 예외 세부정보 설정 + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // 날짜가 예외인지 확인 + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // 달력에 예외 추가 + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // 존재하는 경우 예외 제거 + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // 새 예외 추가 + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // 인쇄 예외 + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## 결론 +## 일반적인 문제 및 팁 -이 기사에서는 .NET용 Aspose.Tasks에서 달력 예외를 처리하는 다양한 측면을 다루었습니다. 제공된 단계를 따르면 프로젝트 일정의 예외를 효과적으로 관리하여 근무 시간과 특별 이벤트를 정확하게 표시할 수 있습니다. +| 문제 | 원인 | 해결 방법 | +|-------|--------|----------| +| **삭제 시 `IndexOutOfRangeException`** | 존재하지 않는 예외를 삭제하려고 시도함. | `Delete()` 호출 전에 `calendar.Exceptions.Count`가 인덱스보다 큰지 확인합니다. | +| **잘못된 작업 시간** | `DayWorking` 또는 `WorkingTimes`를 올바르게 설정하지 않음. | `exception.WorkingTimes.Add(new WorkingTime(...))`를 사용하여 명시적인 기간을 정의합니다. | +| **예외가 인식되지 않음** | `CheckException`이 정의된 범위를 벗어난 날짜이므로 `false`를 반환함. | `FromDate`/`ToDate`와 `Type`(Daily, Weekly 등)을 다시 확인합니다. | -## FAQ +## 자주 묻는 질문 -### Q1: 단일 달력에 여러 예외를 추가할 수 있나요? +**Q: 단일 캘린더에 여러 예외를 추가할 수 있나요?** +A: 예, 휴일, 유지보수 기간 또는 기타 특별 일정 규칙을 나타내기 위해 필요한 만큼 많은 예외를 추가할 수 있습니다. -A1: 예, 다양한 특별 날짜나 기간을 수용하기 위해 달력에 여러 예외를 추가할 수 있습니다. +**Q: 특정 날짜에 **check exception date**를 어떻게 확인합니까?** +A: `CalendarException` 인스턴스의 `CheckException(DateTime date)` 메서드를 사용합니다. 제공된 날짜가 예외 범위에 포함되면 `true`를 반환합니다. -### Q2: 특정 날짜가 예외인지 어떻게 확인할 수 있나요? +**Q: 캘린더에서 기존 예외를 제거할 수 있나요?** +A: 물론 가능합니다. `Exceptions` 컬렉션에 접근하여 `Remove()`를 호출하거나 특정 `CalendarException` 객체에서 `Delete()`를 호출합니다. - A2: 다음을 사용할 수 있습니다.`CheckException()` 특정 날짜가 예외에 해당하는지 확인하는 방법입니다. +**Q: 어떤 유형의 캘린더 예외를 지원하나요?** +A: Aspose.Tasks는 Daily, Weekly, Monthly, Yearly 예외 유형을 지원하여 거의 모든 반복 패턴을 모델링할 수 있는 유연성을 제공합니다. -### Q3: 달력에서 기존 예외를 제거할 수 있습니까? +**Q: 특정 예외 날짜에 대한 작업 시간을 사용자 정의할 수 있나요?** +A: 예. 예외를 만든 후 해당 날짜의 시작 및 종료 시간을 정의하는 `WorkingTime` 객체를 `WorkingTimes` 컬렉션에 추가합니다. - A3: 예, 다음 페이지에 액세스하여 예외를 제거할 수 있습니다.`Exceptions` 달력 수집 및 사용`Remove()` 방법. +## 결론 -### Q4: 어떤 유형의 달력 예외가 지원됩니까? +우리는 기존 예외를 검사하고 새 예외를 추가하며 날짜를 확인하는 **delete calendar exception** 작업의 전체 수명 주기를 살펴보았습니다. 이러한 기술을 숙달하면 프로젝트 일정이 실제 캘린더를 반영하게 되어 ASP.NET 캘린더 일정 구현이 견고하고 신뢰할 수 있게 됩니다. -A4: Aspose.Tasks는 일일, 주간, 월간 및 연간 예외를 포함한 다양한 유형의 예외를 지원하여 예외 규칙 정의에 유연성을 제공합니다. +--- -### Q5: 특정 예외일의 근무 시간을 맞춤 설정할 수 있나요? +**마지막 업데이트:** 2026-04-13 +**테스트 환경:** Aspose.Tasks for .NET (latest release) +**작성자:** Aspose -A5: 예, Aspose.Tasks에서 제공하는 적절한 방법을 사용하여 개별 예외 날짜에 대한 사용자 정의 작업 시간을 정의할 수 있습니다. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/korean/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/korean/net/calendar-scheduling/child-tasks-collector/_index.md index 57b5dc8d9..3ae0dd146 100644 --- a/tasks/korean/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/korean/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Aspose.Tasks에서 하위 작업 수집 -linktitle: Aspose.Tasks에서 하위 작업 수집 -second_title: Aspose.태스크 .NET API -description: .NET용 Aspose.Tasks를 사용하여 하위 작업을 효율적으로 수집하는 방법을 알아보세요. .NET 애플리케이션의 프로젝트 관리를 개선하세요. -weight: 15 +date: 2026-04-13 +description: Aspose.Tasks for .NET을 사용하여 하위 작업 컬렉터를 만드는 방법을 배우세요. .NET 애플리케이션에서 프로젝트 + 관리를 개선하세요. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Aspose.Tasks에서 하위 작업 수집기 만들기 +second_title: Aspose.Tasks .NET API +title: Aspose.Tasks에서 하위 작업 수집기 만들기 url: /ko/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks에서 하위 작업 수집 +# Aspose.Tasks에서 자식 작업 수집기 만들기 ## 소개 -프로젝트 관리 영역에서 Aspose.Tasks for .NET은 작업과 프로젝트를 효율적으로 처리하기 위한 강력한 솔루션으로 돋보입니다. 이 강력한 라이브러리는 개발자에게 작업, 프로젝트 및 그 사이의 모든 것을 원활하게 관리하는 데 필요한 도구를 제공합니다. 이 튜토리얼에서는 Aspose.Tasks의 특정 측면인 하위 작업 수집을 자세히 살펴보겠습니다. +Microsoft Project 파일에 대한 **create child tasks collector**가 필요하다면, Aspose.Tasks for .NET이 이를 간단하게 만들어 줍니다. 이 튜토리얼에서는 부모 아래의 모든 자식 작업을 수집하기 위해 필요한 정확한 단계들을 안내합니다. 이를 통해 작업을 처리, 분석 또는 내보낼 수 있습니다. 가이드가 끝날 때쯤이면 .NET 기반 프로젝트 관리 솔루션에 자연스럽게 적용할 수 있는 재사용 가능한 코드 조각을 얻게 될 것입니다. + +## 빠른 답변 +- **What does the ChildTasksCollector do?** 작업 계층 구조를 순회하며 모든 하위 작업을 컬렉션에 모읍니다. +- **Which library provides this feature?** Aspose.Tasks for .NET. +- **Do I need a license to run the sample?** 평가용 무료 체험으로 사용할 수 있지만, 프로덕션에서는 라이선스가 필요합니다. +- **What .NET versions are supported?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **How long does the implementation take?** 라이브러리를 설치한 후 대략 5‑10분 정도 소요됩니다. + +## Child Tasks Collector란? + +**child tasks collector**는 지정된 루트 작업부터 시작하여 Project 파일의 작업 트리를 순회하고, 발견되는 모든 자식(하위 작업)을 집계하는 유틸리티 객체입니다. 필드 업데이트, 데이터 내보내기, 보고서 생성 등 대량 작업을 수행하려 할 때, 계층 구조의 각 레벨을 수동으로 반복하지 않아도 되어 특히 유용합니다. -## 전제조건 +## child tasks collector를 만드는 이유 -시작하기 전에 다음 전제 조건이 충족되었는지 확인하세요. +- **Simplify recursion:** 컬렉터가 깊이 우선 순회를 내부적으로 처리하므로 직접 재귀 루프를 작성할 필요가 없습니다. +- **Boost productivity:** 단일 컬렉션에서 모든 하위 작업을 가져와 대량 편집이나 분석을 간단하게 할 수 있어 생산성이 향상됩니다. +- **Maintain clean code:** 비즈니스 로직을 프로젝트 구조의 저수준 탐색과 분리하여 코드를 깔끔하게 유지합니다. -1. C#에 대한 기본 이해: C# 프로그래밍 언어에 대한 지식이 필수적입니다. -2. .NET용 Aspose.Tasks 설치: 다음에서 Aspose.Tasks for .NET 라이브러리를 다운로드하여 설치하세요.[다운로드 링크](https://releases.aspose.com/tasks/net/). -3. 개발 환경: C# 코드를 작성하고 실행할 수 있도록 Visual Studio 등의 개발 환경을 설정합니다. -4. 문서에 대한 접근:[.NET 문서용 Aspose.Tasks](https://reference.aspose.com/tasks/net/) 참고용으로 편리합니다. +## 전제 조건 -이제 전제 조건을 다루었으므로 .NET용 Aspose.Tasks를 사용하여 하위 작업을 수집하는 단계별 가이드를 살펴보겠습니다. +1. **Basic Understanding of C#** – 간단한 콘솔 애플리케이션을 작성하고 실행하는 데 익숙해야 합니다. +2. **Aspose.Tasks for .NET installed** – [download link](https://releases.aspose.com/tasks/net/)에서 다운로드하십시오. +3. **A development environment** – Visual Studio, Rider 또는 C#을 지원하는 IDE. +4. **Access to the official docs** – 참고를 위해 [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/)을 가까이에 두세요. + +이제 기본 준비가 끝났으니, 코드로 들어가 보겠습니다. ## 네임스페이스 가져오기 -먼저 필요한 네임스페이스를 C# 코드로 가져와 Aspose.Tasks for .NET에서 제공하는 기능에 액세스합니다. +먼저, 필요한 네임스페이스를 범위에 가져와 컴파일러가 사용할 클래스들을 찾을 수 있도록 합니다. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -이제 제공된 예제를 여러 단계로 나누어 프로세스를 완전히 이해해 보겠습니다. +## 단계별 가이드 -## 1단계: 프로젝트 개체 초기화 +### 단계 1: Project 객체 초기화 ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - 이 코드 줄은 새로운 것을 초기화합니다.`Project` 개체, 지정된 디렉터리에서 "ParentChildTasks.mpp"라는 프로젝트 파일을 로드합니다. +이 코드는 `DataDir` 폴더에 있는 기존 Microsoft Project 파일(`ParentChildTasks.mpp`)을 `Project` 객체로 로드하여 작업에 프로그래밍 방식으로 접근할 수 있게 합니다. -## 2단계: ChildTasksCollector 객체 생성 +### 단계 2: ChildTasksCollector 인스턴스 생성 ```csharp var collector = new ChildTasksCollector(); ``` - 여기서는 새 항목을 만듭니다.`ChildTasksCollector` 프로젝트에서 하위 작업을 수집하는 데 도움이 되는 개체입니다. +여기서 우리는 **create child tasks collector**를 수행합니다 – 발견된 모든 자식 작업을 저장할 `ChildTasksCollector` 인스턴스입니다. -## 3단계: 루트 작업에 수집기 적용 +### 단계 3: 컬렉터를 루트 작업에 적용 ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - 우리는`ChildTasksCollector` 프로젝트의 루트 작업으로 이동하여 수집 프로세스를 재귀적으로 시작합니다. +Aspose.Tasks에 프로젝트의 루트 작업에서 수집을 시작하도록 지시합니다. `Apply` 메서드는 계층 구조를 재귀적으로 순회하며 `collector.Tasks`에 모든 하위 작업을 채웁니다. -## 4단계: 수집된 작업을 통해 반복 +### 단계 4: 수집된 작업 순회 ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -마지막으로 수집된 작업을 반복하고 해당 작업의 이름을 콘솔에 인쇄합니다. - -## 결론 +마지막으로, 수집된 작업을 반복하면서 각 작업의 이름을 콘솔에 출력합니다. 실제 상황에서는 `Console.WriteLine`을 필요에 맞는 사용자 정의 처리(예: CSV로 내보내기, 필드 업데이트 등)로 교체할 수 있습니다. -이 튜토리얼에서는 Aspose.Tasks for .NET을 사용하여 하위 작업을 수집하는 방법을 살펴보았습니다. 위에 설명된 단계를 수행하면 프로젝트 내의 작업을 효율적으로 관리 및 조작하여 생산성과 구성을 향상시킬 수 있습니다. +## 일반적인 문제 및 해결책 -## FAQ +| 문제 | 원인 | 해결 방법 | +|-------|--------|-----| +| **No tasks are returned** | 컬렉터가 잘못된 작업(예: 리프 노드)에 적용되었습니다. | `TaskUtils.Apply`를 `project.RootTask` 또는 시작하려는 특정 부모 작업에 적용하십시오. | +| **NullReferenceException** | `DataDir` 또는 파일 경로가 올바르지 않습니다. | `DataDir`가 `ParentChildTasks.mpp`가 포함된 폴더를 가리키는지 확인하십시오. | +| **License not set** | Aspose.Tasks가 평가판 모드에서 라이선스 경고를 발생시킵니다. | `Project` 객체를 생성하기 전에 `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` 코드를 사용해 라이선스를 로드하십시오. | -### Q1: Aspose.Tasks for .NET은 모든 버전의 .NET과 호환됩니까? +## 자주 묻는 질문 -A1: 예, Aspose.Tasks for .NET은 다양한 버전의 .NET 프레임워크와 호환되므로 광범위한 호환성을 보장합니다. +**Q: Aspose.Tasks for .NET가 모든 .NET 버전과 호환됩니까?** +A: 예, Aspose.Tasks for .NET는 .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+와 함께 작동합니다. -### Q2: .NET용 Aspose.Tasks를 사용하여 새 프로젝트 파일을 만들 수 있습니까? +**Q: Aspose.Tasks for .NET를 사용해 새 프로젝트 파일을 만들 수 있나요?** +A: 물론입니다! 이 라이브러리를 사용하면 프로젝트 파일을 프로그래밍 방식으로 생성, 읽기 및 조작할 수 있습니다. -A2: 물론이죠! Aspose.Tasks for .NET은 프로젝트 파일을 손쉽게 생성, 읽기 및 조작할 수 있는 기능을 제공합니다. +**Q: Aspose.Tasks for .NET가 여러 플랫폼을 지원하나요?** +A: .NET용으로 설계되었지만, Windows, Linux, macOS 등 .NET 런타임을 지원하는 모든 플랫폼에서 실행할 수 있습니다. -### Q3: .NET용 Aspose.Tasks는 여러 플랫폼을 지원합니까? +**Q: Aspose.Tasks for .NET에 대한 기술 지원이 제공되나요?** +A: 예, [Aspose.Tasks 포럼](https://forum.aspose.com/c/tasks/15)을 통해 도움을 받을 수 있습니다. -A3: 기본적으로 .NET 환경용으로 설계되었지만 Aspose.Tasks for .NET은 .NET 개발을 지원하는 다양한 플랫폼에서 사용할 수 있습니다. +**Q: 구매 전에 Aspose.Tasks for .NET를 체험해볼 수 있나요?** +A: 물론입니다! [release page](https://releases.aspose.com/)에서 무료 체험판을 이용할 수 있습니다. -### Q4: Aspose.Tasks for .NET에 대한 기술 지원이 제공됩니까? - -A4: 예, 사용자는 다음을 통해 기술 지원에 액세스할 수 있습니다.[Aspose.Tasks 포럼](https://forum.aspose.com/c/tasks/15). +--- -### Q5: 구매하기 전에 .NET용 Aspose.Tasks를 사용해 볼 수 있나요? +**마지막 업데이트:** 2026-04-13 +**테스트 환경:** Aspose.Tasks 24.11 for .NET +**작성자:** Aspose - A5: 물론이죠! 무료 평가판을 이용하실 수 있습니다.[릴리스 페이지](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/polish/net/calendar-scheduling/calendar-collection/_index.md b/tasks/polish/net/calendar-scheduling/calendar-collection/_index.md index 793c7b120..576eb17dd 100644 --- a/tasks/polish/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/polish/net/calendar-scheduling/calendar-collection/_index.md @@ -1,31 +1,44 @@ --- -title: Zarządzanie kolekcją kalendarzy w Aspose.Tasks +date: 2026-04-13 +description: Dowiedz się, jak ustawiać godziny pracy i zarządzać kolekcjami kalendarzy + w Aspose.Tasks dla .NET. Importuj kalendarze z Microsoft Project, usuń kalendarz + projektu i łatwo pobierz kalendarz po nazwie. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Zarządzanie kolekcją kalendarzy w Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Dowiedz się, jak efektywnie zarządzać kolekcjami kalendarzy w Aspose.Tasks dla .NET. Z łatwością twórz, modyfikuj i manipuluj kalendarzami. -weight: 11 +title: Ustaw godziny pracy w kolekcji kalendarzy Aspose.Tasks url: /pl/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Zarządzanie kolekcją kalendarzy w Aspose.Tasks +# Ustaw godziny pracy w kolekcji kalendarzy Aspose.Tasks -## Wstęp +W tym samouczku dowiesz się, jak **ustawić godziny pracy** i zarządzać kolekcjami kalendarzy przy użyciu Aspose.Tasks dla .NET. Kalendarze definiują dni robocze, święta i wyjątki, więc ich opanowanie pozwala precyzyjnie kontrolować harmonogramy projektów. Pokażemy również, jak importować kalendarze z Microsoft Project, usunąć kalendarz z projektu oraz pobrać kalendarz po nazwie. -W tym samouczku omówimy, jak zarządzać kolekcjami kalendarzy w Aspose.Tasks dla .NET. Kalendarze odgrywają kluczową rolę w zarządzaniu projektami, definiując dni robocze, święta i wyjątki. Aspose.Tasks zapewnia solidną funkcjonalność do manipulowania kalendarzami w projektach. +## Szybkie odpowiedzi +- **Jaka jest podstawowa klasa dla kalendarzy?** Kolekcja `Project.Calendars`. +- **Jak ustawić godziny pracy?** Utwórz lub zmodyfikuj obiekt `Calendar` i zdefiniuj jego `WorkingTime`. +- **Czy mogę importować kalendarze z Microsoft Project?** Tak – załaduj plik MPP i uzyskaj dostęp do jego kalendarzy. +- **Jak usunąć kalendarz z projektu?** Użyj `Project.Calendars.Remove(calendar)`. +- **Jak pobrać kalendarz po nazwie?** Wywołaj `Project.Calendars.GetByName("YourCalendar")`. -## Warunki wstępne +## Wymagania wstępne Zanim zaczniemy, upewnij się, że masz następujące elementy: -1. Visual Studio: Zainstaluj Visual Studio lub dowolne inne kompatybilne IDE do programowania .NET. -2. Aspose.Tasks dla .NET: Pobierz i zainstaluj Aspose.Tasks dla .NET z[Tutaj](https://releases.aspose.com/tasks/net/). -3. Podstawowa znajomość języka C#: Znajomość języka programowania C# będzie korzystna. +1. Visual Studio: Zainstaluj Visual Studio lub inne kompatybilne IDE do programowania w .NET. +2. Aspose.Tasks for .NET: Pobierz i zainstaluj Aspose.Tasks for .NET z [tutaj](https://releases.aspose.com/tasks/net/). +3. Podstawowa znajomość C#: Znajomość języka programowania C# będzie przydatna. -## Importuj przestrzenie nazw +## Importowanie przestrzeni nazw Najpierw zaimportujmy niezbędne przestrzenie nazw do pracy z Aspose.Tasks: @@ -35,12 +48,11 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Tworzenie nowego kalendarza -### Krok 1: Zainicjuj nowy`Project` object. +### Krok 1: Zainicjalizuj nowy obiekt `Project`. ```csharp var project = new Project(); ``` @@ -52,7 +64,7 @@ var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Krok 3: Przeglądaj kalendarze i wyświetl ich nazwy. +### Krok 3: Przejdź przez kalendarze i wyświetl ich nazwy. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Zastąpienie kalendarza nowym kalendarzem +## Jak ustawić godziny pracy dla kalendarza? + +Aby **ustawić godziny pracy**, modyfikujesz kolekcję `WorkingTime` obiektu `Calendar`. +Na przykład możesz zdefiniować standardowy dzień pracy od 9 do 17 lub dodać własne wyjątki. +Kod dla tego jest identyczny z przykładami pokazanymi później, gdy tworzymy standardowy kalendarz. + +## Zastępowanie kalendarza nowym kalendarzem ### Krok 1: Załaduj istniejący projekt. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Krok 2: Usuń istniejący kalendarz (jeśli istnieje). +### Krok 2: Usuń istniejący kalendarz (jeśli istnieje). +To demonstruje scenariusz **usuwania kalendarza z projektu**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -82,14 +101,15 @@ project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Pobieranie kalendarza według nazwy lub identyfikatora +## Pobieranie kalendarza po nazwie lub ID ### Krok 1: Załaduj projekt. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Krok 2: Pobierz kalendarze według nazwy lub UID. +### Krok 2: Pobierz kalendarze po nazwie lub UID. +To ilustruje operację **pobierania kalendarza po nazwie**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -114,7 +134,7 @@ var project = new Project(DataDir + "Project5.mpp"); Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Krok 3: Wykonaj iterację po kolekcji kalendarzy i nazwach wyświetlanych. +### Krok 3: Przejdź po kolekcji kalendarzy i wyświetl ich nazwy. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,12 +145,12 @@ foreach (var calendar in calendars) ## Tworzenie standardowego kalendarza -### Krok 1: Zainicjuj nowy projekt. +### Krok 1: Zainicjalizuj nowy projekt. ```csharp var project = new Project(); ``` -### Krok 2: Zdefiniuj nowy kalendarz i uczyń go standardem. +### Krok 2: Zdefiniuj nowy kalendarz i ustaw go jako standardowy. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); @@ -141,34 +161,60 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Wniosek +## Częste problemy i rozwiązania -Zarządzanie kolekcjami kalendarzy w Aspose.Tasks dla .NET jest niezbędne do efektywnego zarządzania projektami. Dzięki dostarczonym funkcjom możesz efektywnie tworzyć, modyfikować i manipulować kalendarzami zgodnie z wymaganiami projektu. +- **Kalendarz nie został znaleziony przy użyciu `GetByName`** – Upewnij się, że dokładna nazwa jest zgodna z wielkością liter używaną przy dodawaniu kalendarza. +- **Godziny pracy nie zostały zastosowane** – Po ustawieniu `WorkingTime` pamiętaj, aby zapisać projekt; w przeciwnym razie zmiany pozostaną tylko w pamięci. +- **Importowanie kalendarzy z pliku MPP nie powiodło się** – Sprawdź, czy plik źródłowy jest prawidłowym plikiem Microsoft Project i czy masz uprawnienia do odczytu. -## Często zadawane pytania +## FAQ -### P1: Czy mogę tworzyć niestandardowe dni robocze w Aspose.Tasks? +### P1: Czy mogę tworzyć własne dni robocze w Aspose.Tasks? -Odpowiedź 1: Tak, możesz tworzyć niestandardowe dni robocze, dodając wyjątki do kalendarzy. +O1: Tak, możesz tworzyć własne dni robocze, dodając wyjątki do kalendarzy. ### P2: Czy można importować kalendarze z plików Microsoft Project? -Odpowiedź 2: Oczywiście, Aspose.Tasks obsługuje importowanie kalendarzy z plików Microsoft Project. +O2: Oczywiście, Aspose.Tasks obsługuje importowanie kalendarzy z plików Microsoft Project. ### P3: Jak mogę usunąć konkretny kalendarz z projektu? - Odpowiedź 3: Możesz usunąć kalendarz, pobierając go z kolekcji, a następnie wywołując metodę`Remove` metoda. +O3: Możesz usunąć kalendarz, pobierając go z kolekcji, a następnie wywołując metodę `Remove`. ### P4: Czy Aspose.Tasks obsługuje eksportowanie kalendarzy do różnych formatów? O4: Tak, Aspose.Tasks umożliwia eksportowanie kalendarzy do różnych formatów, takich jak XML, MPP itp. -### P5: Czy mogę dostosować godziny pracy dla poszczególnych dni w kalendarzu? +### P5: Czy mogę dostosować godziny pracy dla konkretnych dni w kalendarzu? + +O5: Oczywiście, możesz definiować godziny pracy dla poszczególnych dni, używając wyjątków w kalendarzu. + +## Najczęściej zadawane pytania + +**Q: Jaki jest najlepszy sposób ustawienia kalendarza zmiany 24‑godzinnej?** +A: Utwórz nowy kalendarz, wyczyść istniejące wpisy `WorkingTime` i dodaj pojedynczy zakres `WorkingTime` od 00:00 do 24:00 dla każdego dnia roboczego. + +**Q: Czy mogę skopiować kalendarz z jednego projektu do drugiego?** +A: Tak — wyeksportuj kalendarz do XML używając `project.Save`, a następnie zaimportuj go do innego projektu za pomocą `new Project(xmlPath)`. + +**Q: Jak programowo importować kalendarze z Microsoft Project?** +A: Załaduj plik MPP przy użyciu `new Project("source.mpp")`; kalendarze będą dostępne poprzez `project.Calendars`. + +**Q: Czy istnieje limit liczby kalendarzy w projekcie?** +A: Praktycznie nie; kolekcja może pomieścić tyle kalendarzy, ile pozwala pamięć, ale warto utrzymać listę w rozsądnych granicach dla wydajności. + +**Q: Czy zmiany w kalendarzu automatycznie aktualizują zadania, które go używają?** +A: Tak — zadania powiązane z kalendarzem odzwierciedlają zaktualizowane godziny pracy po zapisaniu projektu. + +--- + +**Ostatnia aktualizacja:** 2026-04-13 +**Testowano z:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose -Odp.5: Oczywiście można zdefiniować godziny pracy dla poszczególnych dni korzystając z wyjątków w kalendarzu. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/polish/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/polish/net/calendar-scheduling/calendar-exceptions/_index.md index 5695f7265..adef288bc 100644 --- a/tasks/polish/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/polish/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Obsługa wyjątków kalendarza w Aspose.Tasks -linktitle: Obsługa wyjątków kalendarza w Aspose.Tasks +date: 2026-04-13 +description: Dowiedz się, jak usunąć wyjątek kalendarza w Aspose.Tasks dla .NET oraz + sprawdzić datę wyjątku podczas zarządzania harmonogramem kalendarza w ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Usuwanie wyjątku kalendarza przy użyciu Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Dowiedz się, jak zarządzać wyjątkami kalendarza w Aspose.Tasks dla .NET, korzystając ze szczegółowych samouczków i przykładów. -weight: 12 +title: Usuń wyjątek kalendarza za pomocą Aspose.Tasks url: /pl/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Obsługa wyjątków kalendarza w Aspose.Tasks +# Usuń wyjątek kalendarza w Aspose.Tasks + +## Wprowadzenie + +W tym samouczku dowiesz się, jak **usunąć wyjątek kalendarza** i zarządzać innymi wyjątkami kalendarza w Aspose.Tasks przy użyciu platformy .NET. Wyjątki kalendarza pozwalają modelować święta, tymczasowe zamknięcia lub dowolne specjalne okresy, w których zmienia się normalny harmonogram pracy. Zrozumienie, jak dodawać, zapytywać i usuwać te wyjątki, jest niezbędne do dokładnego planowania projektu, szczególnie w scenariuszach **planowania kalendarza w ASP.NET**. + +## Szybkie odpowiedzi +- **Jaka jest podstawowa metoda usuwania wyjątku?** Użyj metody `Delete()` na obiekcie `CalendarException`. +- **Która klasa sprawdza datę względem wyjątku?** `CalendarException.CheckException()` — przydatna do **sprawdzenia daty wyjątku**. +- **Czy potrzebna jest licencja do uruchomienia kodu?** Tak, ważna licencja Aspose.Tasks jest wymagana w środowisku produkcyjnym. +- **Czy mogę dodać wiele wyjątków do jednego kalendarza?** Oczywiście; kolekcja `Exceptions` obsługuje wiele wpisów. +- **Obsługiwane wersje .NET?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Co to jest wyjątek kalendarza? -## Wstęp +**Wyjątek kalendarza** reprezentuje odchylenie od regularnego kalendarza pracy — można to traktować jako regułę, która mówi „w tych datach godziny pracy są inne lub wcale nie ma pracy”. W Aspose.Tasks każdy wyjątek może mieć własne godziny pracy, wzorzec powtarzalności oraz flagi wskazujące, czy dany dzień jest pracujący. -W tym samouczku przyjrzymy się, jak zarządzać wyjątkami kalendarza w Aspose.Tasks przy użyciu platformy .NET. Wyjątki kalendarzowe pozwalają na zdefiniowanie w kalendarzu projektu specjalnych dat lub okresów, w których następuje zmiana normalnego harmonogramu pracy, np. święta czy tymczasowe zamknięcia. Omówimy krok po kroku różne metody obsługi wyjątków kalendarza, używając Aspose.Tasks dla .NET. +## Dlaczego zarządzać wyjątkami kalendarza w planowaniu kalendarza ASP.NET? -## Warunki wstępne +- **Dokładne terminy:** Projekty automatycznie uwzględniają święta i specjalne zamknięcia, zapobiegając nierealistycznym terminom. +- **Elastyczność:** Możesz definiować wzorce dzienne, tygodniowe, miesięczne lub roczne, dopasowując je do rzeczywistych kalendarzy firmowych. +- **Automatyzacja:** Programowe sprawdzanie daty wyjątku pozwala budować dynamiczną logikę planowania w aplikacjach ASP.NET. -Zanim zaczniemy, upewnij się, że masz następujące wymagania wstępne: -- Podstawowa znajomość języka programowania C#. -- Program Visual Studio zainstalowany w systemie. -- Do Twojego projektu dodano bibliotekę Aspose.Tasks for .NET. +## Wymagania wstępne -## Importuj przestrzenie nazw +- Podstawowa znajomość programowania w C#. +- Visual Studio (dowolna aktualna wersja). +- Biblioteka Aspose.Tasks for .NET dodana do projektu (przez NuGet lub ręczne odwołanie). -Na początek zaimportujmy niezbędne przestrzenie nazw dla naszego projektu: +## Importowanie przestrzeni nazw + +Najpierw zaimportuj potrzebne przestrzenie nazw: ```csharp using Aspose.Tasks; using System; - - ``` -## Krok 1: Usuwanie wyjątku kalendarza +## Krok 1: Usuń wyjątek kalendarza -Aby usunąć wyjątek kalendarza, wykonaj następujące kroki: +Usunięcie niechcianego wyjątku jest proste. Poniższy kod ładuje projekt, wybiera pierwszy kalendarz, wyświetla podstawowe informacje, usuwa pierwszy wyjątek, a następnie pokazuje zaktualizowaną liczbę. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Wyświetlanie informacji z kalendarza + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Usuń pierwszy wyjątek + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Krok 2: Pobieranie czasu pracy wyjątku kalendarzowego +> **Wskazówka:** Zawsze sprawdzaj, czy indeks wyjątku istnieje przed wywołaniem `Delete()`, aby uniknąć `IndexOutOfRangeException`. -Aby pobrać czas pracy wyjątku kalendarza, wykonaj następujące kroki: +## Krok 2: Pobierz czas pracy wyjątku kalendarza + +Jeśli potrzebujesz przejrzeć godziny pracy zdefiniowane dla wyjątku, użyj `GetWorkingTime()`. Ten przykład również pokazuje, jak **sprawdzić datę wyjątku** przy pomocy `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Wyświetlanie informacji o kalendarzu i wyjątkach + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Uzyskaj czas pracy i wyświetl szczegóły + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Krok 3: Definiowanie wyjątków kalendarza +## Krok 3: Zdefiniuj wyjątki kalendarza -Aby dodać lub usunąć wyjątki kalendarza, wykonaj następujące kroki: +Poniżej znajduje się kompletny przewodnik, który pokazuje, jak **dodawać**, **sprawdzać** i **usuwać** wyjątki kalendarza. Zwróć uwagę na użycie `CheckException` do **sprawdzenia daty wyjątku** dla konkretnego momentu. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Utwórz nowy wyjątek kalendarza + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Ustaw szczegóły wyjątku + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Sprawdź, czy dana data jest wyjątkiem + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Dodaj wyjątek do kalendarza + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Usuń wyjątek, jeśli istnieje + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Dodaj nowy wyjątek + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Drukuj wyjątki + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Wniosek +## Typowe problemy i wskazówki -tym artykule omówiliśmy różne aspekty obsługi wyjątków kalendarza w Aspose.Tasks dla .NET. Postępując zgodnie z podanymi krokami, możesz skutecznie zarządzać wyjątkami w harmonogramach projektów, zapewniając dokładne odwzorowanie godzin pracy i wydarzeń specjalnych. +| Problem | Powód | Rozwiązanie | +|-------|--------|----------| +| **`IndexOutOfRangeException` przy usuwaniu** | Próba usunięcia nieistniejącego wyjątku. | Sprawdź, czy `calendar.Exceptions.Count` > indeks przed wywołaniem `Delete()`. | +| **Nieprawidłowe czasy pracy** | Nieprawidłowe ustawienie `DayWorking` lub `WorkingTimes`. | Użyj `exception.WorkingTimes.Add(new WorkingTime(...))`, aby zdefiniować wyraźne okresy. | +| **Wyjątek nie rozpoznany** | `CheckException` zwraca `false`, ponieważ data znajduje się poza określonym zakresem. | Sprawdź ponownie `FromDate`/`ToDate` oraz `Type` (Daily, Weekly, itp.). | -## Często zadawane pytania +## Najczęściej zadawane pytania -### P1: Czy mogę dodać wiele wyjątków do jednego kalendarza? +**P: Czy mogę dodać wiele wyjątków do jednego kalendarza?** +O: Tak, możesz dodać dowolną liczbę wyjątków, aby reprezentować święta, okna konserwacyjne lub dowolne specjalne reguły planowania. -Odpowiedź 1: Tak, możesz dodać wiele wyjątków do kalendarza, aby uwzględnić różne specjalne daty lub okresy. +**P: Jak **sprawdzić datę wyjątku** dla konkretnego dnia?** +O: Użyj metody `CheckException(DateTime date)` na instancji `CalendarException`. Zwraca `true`, jeśli podana data mieści się w zakresie wyjątku. -### P2: Jak mogę sprawdzić, czy dana data jest wyjątkiem? +**P: Czy można usunąć istniejący wyjątek z kalendarza?** +O: Oczywiście. Uzyskaj dostęp do kolekcji `Exceptions` i wywołaj `Remove()` lub `Delete()` na konkretnym obiekcie `CalendarException`. - Odpowiedź 2: Możesz użyć`CheckException()` metoda sprawdzania, czy dana data podlega wyjątkowi. +**P: Jakie typy wyjątków kalendarza są obsługiwane?** +O: Aspose.Tasks obsługuje typy Daily, Weekly, Monthly i Yearly, dając elastyczność modelowania prawie każdego wzorca powtarzalności. -### P3: Czy można usunąć istniejący wyjątek z kalendarza? +**P: Czy mogę dostosować godziny pracy dla konkretnych dat wyjątków?** +O: Tak. Po utworzeniu wyjątku, wypełnij jego kolekcję `WorkingTimes` obiektami `WorkingTime`, które definiują godziny rozpoczęcia i zakończenia dla tego dnia. - Odpowiedź 3: Tak, możesz usunąć wyjątki, uzyskując dostęp do pliku`Exceptions` zbieranie kalendarza i korzystanie z niego`Remove()` metoda. +## Zakończenie -### P4: Jakie typy wyjątków kalendarza są obsługiwane? +Przeszliśmy przez pełny cykl operacji **usuwania wyjątku kalendarza**, od przeglądania istniejących wyjątków po dodawanie nowych i sprawdzanie dat. Opanowanie tych technik zapewnia, że harmonogramy projektów respektują rzeczywiste kalendarze, czyniąc implementacje planowania kalendarza w ASP.NET solidnymi i niezawodnymi. -O4: Aspose.Tasks obsługuje różne typy wyjątków, w tym wyjątki dzienne, tygodniowe, miesięczne i roczne, zapewniając elastyczność w definiowaniu reguł wyjątków. +--- -### P5: Czy mogę dostosować godziny pracy do konkretnych dat wyjątków? +**Ostatnia aktualizacja:** 2026-04-13 +**Testowano z:** Aspose.Tasks for .NET (latest release) +**Autor:** Aspose -O5: Tak, możesz zdefiniować niestandardowe godziny pracy dla poszczególnych dat wyjątków, korzystając z odpowiednich metod dostarczonych przez Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/polish/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/polish/net/calendar-scheduling/child-tasks-collector/_index.md index 0aec3f06a..518976e2a 100644 --- a/tasks/polish/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/polish/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Zbieranie zadań podrzędnych w Aspose.Tasks -linktitle: Zbieranie zadań podrzędnych w Aspose.Tasks +date: 2026-04-13 +description: Dowiedz się, jak stworzyć kolektor zadań podrzędnych przy użyciu Aspose.Tasks + dla .NET. Popraw zarządzanie projektami w swoich aplikacjach .NET. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Utwórz kolektor zadań podrzędnych w Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Dowiedz się, jak efektywnie zbierać zadania podrzędne za pomocą Aspose.Tasks dla .NET. Usprawnij zarządzanie projektami w aplikacjach .NET. -weight: 15 +title: Jak utworzyć kolektor zadań podrzędnych w Aspose.Tasks url: /pl/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Zbieranie zadań podrzędnych w Aspose.Tasks +# Utwórz kolektor zadań podrzędnych w Aspose.Tasks + +## Wprowadzenie + +Jeśli potrzebujesz **utworzyć kolektor zadań podrzędnych** dla pliku Microsoft Project, Aspose.Tasks for .NET ułatwia to. W tym samouczku przeprowadzimy Cię przez dokładne kroki potrzebne do zebrania każdego zadania podrzędnego pod rodzicem, abyś mógł je przetwarzać, analizować lub eksportować z pewnością. Po zakończeniu przewodnika będziesz mieć wielokrotnego użytku fragment kodu, który naturalnie wpasowuje się w każde rozwiązanie do zarządzania projektami oparte na .NET. + +## Szybkie odpowiedzi +- **Co robi ChildTasksCollector?** Przegląda hierarchię zadań i zbiera wszystkie zadania potomne do kolekcji. +- **Która biblioteka zapewnia tę funkcję?** Aspose.Tasks for .NET. +- **Czy potrzebna jest licencja do uruchomienia przykładu?** Darmowa wersja próbna działa w celach oceny; licencja jest wymagana w produkcji. +- **Jakie wersje .NET są obsługiwane?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Jak długo trwa implementacja?** Około 5‑10 minut po zainstalowaniu biblioteki. + +## Co to jest kolektor zadań podrzędnych? -## Wstęp +**Kolektor zadań podrzędnych** to obiekt narzędziowy, który przegląda drzewo zadań pliku Project, zaczynając od określonego zadania głównego, i agreguje każde napotkane zadanie podrzędne (sub‑task). Jest to szczególnie przydatne, gdy chcesz zastosować operacje masowe — takie jak aktualizacja pól, eksport danych lub generowanie raportów — bez ręcznego iterowania po każdym poziomie hierarchii. -W obszarze zarządzania projektami Aspose.Tasks dla .NET wyróżnia się jako solidne rozwiązanie do wydajnej obsługi zadań i projektów. Ta potężna biblioteka zapewnia programistom narzędzia potrzebne do płynnego zarządzania zadaniami, projektami i wszystkim pomiędzy. W tym samouczku zagłębimy się w konkretny aspekt Aspose.Tasks: zbieranie zadań podrzędnych. +## Dlaczego tworzyć kolektor zadań podrzędnych? -## Warunki wstępne +- **Uprość rekurencję:** Kolektor obsługuje wewnętrznie przeglądanie w głąb, więc nie musisz pisać własnych pętli rekurencyjnych. +- **Zwiększ produktywność:** Pobierz wszystkie zadania potomne w jednej kolekcji, co sprawia, że masowe edycje lub analizy są proste. +- **Utrzymaj czysty kod:** Oddziela logikę biznesową od niskopoziomowej nawigacji po strukturze projektu. -Zanim zaczniemy, upewnij się, że spełnione są następujące wymagania wstępne: +## Wymagania wstępne -1. Podstawowa znajomość języka C#: Znajomość języka programowania C# jest niezbędna. -2. Instalacja Aspose.Tasks dla .NET: Pobierz i zainstaluj bibliotekę Aspose.Tasks dla .NET z[link do pobrania](https://releases.aspose.com/tasks/net/). -3. Środowisko programistyczne: Skonfiguruj środowisko programistyczne, takie jak Visual Studio, do pisania i wykonywania kodu C#. -4. Dostęp do dokumentacji: Zachowaj[Aspose.Tasks dla dokumentacji .NET](https://reference.aspose.com/tasks/net/) przydatny w celach informacyjnych. +Przed rozpoczęciem upewnij się, że masz: -Teraz, gdy mamy już wymagania wstępne, przejdźmy do przewodnika krok po kroku dotyczącego zbierania zadań podrzędnych przy użyciu Aspose.Tasks dla .NET. +1. **Podstawowa znajomość C#** – powinieneś swobodnie pisać i uruchamiać proste aplikacje konsolowe. +2. **Aspose.Tasks for .NET zainstalowany** – pobierz go z [download link](https://releases.aspose.com/tasks/net/). +3. **Środowisko programistyczne** – Visual Studio, Rider lub dowolne IDE obsługujące C#. +4. **Dostęp do oficjalnej dokumentacji** – miej pod ręką [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) do odniesienia. -## Importuj przestrzenie nazw +Teraz, gdy podstawa jest gotowa, zanurzmy się w kod. -Najpierw zaimportuj niezbędne przestrzenie nazw do swojego kodu C#, aby uzyskać dostęp do funkcjonalności zapewnianych przez Aspose.Tasks dla .NET. +## Importowanie przestrzeni nazw + +Najpierw wprowadź wymagane przestrzenie nazw, aby kompilator wiedział, gdzie znaleźć klasy, których będziemy używać. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Podzielmy teraz podany przykład na wiele kroków, aby dokładnie zrozumieć proces. +## Przewodnik krok po kroku -## Krok 1: Zainicjuj obiekt projektu +### Krok 1: Zainicjalizuj obiekt Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Ta linia kodu inicjuje nową`Project` obiekt, ładując plik projektu o nazwie „ParentChildTasks.mpp” z określonego katalogu. +Ten wiersz ładuje istniejący plik Microsoft Project (`ParentChildTasks.mpp`) z folderu `DataDir` do obiektu `Project`, dając nam programowy dostęp do jego zadań. -## Krok 2: Utwórz obiekt ChildTasksCollector +### Krok 2: Utwórz instancję ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Tutaj tworzymy nowy`ChildTasksCollector` obiekt, który pomoże nam zebrać zadania podrzędne z projektu. +Tutaj **tworzymy kolektor zadań podrzędnych** – instancję `ChildTasksCollector`, która będzie przechowywać każde napotkane zadanie podrzędne. -## Krok 3: Zastosuj Collector do zadania rootowania +### Krok 3: Zastosuj kolektor do zadania głównego ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Stosujemy`ChildTasksCollector` do głównego zadania projektu, inicjując proces zbierania rekurencyjnie. +Mówimy Aspose.Tasks, aby rozpoczął zbieranie od zadania głównego projektu. Metoda `Apply` przegląda hierarchię rekurencyjnie, wypełniając `collector.Tasks` wszystkimi zadaniami potomnymi. -## Krok 4: Iteruj po zebranych zadaniach +### Krok 4: Iteruj po zebranych zadaniach ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Na koniec iterujemy zebrane zadania i wypisujemy ich nazwy na konsoli. - -## Wniosek +Na koniec iterujemy po zebranych zadaniach i wypisujemy nazwę każdego zadania na konsolę. W rzeczywistym scenariuszu możesz zamienić `Console.WriteLine` na dowolne własne przetwarzanie (np. eksport do CSV, aktualizacja pól itp.). -W tym samouczku omówiliśmy, jak zbierać zadania podrzędne przy użyciu Aspose.Tasks dla .NET. Wykonując czynności opisane powyżej, możesz efektywnie zarządzać zadaniami w ramach swoich projektów i manipulować nimi, zwiększając produktywność i organizację. +## Typowe problemy i rozwiązania -## Często zadawane pytania +| Problem | Powód | Rozwiązanie | +|---------|-------|-------------| +| **Brak zwróconych zadań** | Kolektor został zastosowany do niewłaściwego zadania (np. węzła liścia). | Zastosuj `TaskUtils.Apply` do `project.RootTask` lub konkretnego rodzica, od którego chcesz rozpocząć. | +| **NullReferenceException** | `DataDir` lub ścieżka do pliku jest nieprawidłowa. | Sprawdź, czy `DataDir` wskazuje na folder zawierający `ParentChildTasks.mpp`. | +| **Licencja nie ustawiona** | Aspose.Tasks wyświetla ostrzeżenie o licencji w trybie próbnym. | Załaduj licencję przy użyciu `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` przed utworzeniem obiektu `Project`. | -### P1: Czy Aspose.Tasks for .NET jest kompatybilny ze wszystkimi wersjami .NET? +## Najczęściej zadawane pytania -O1: Tak, Aspose.Tasks dla .NET jest kompatybilny z różnymi wersjami frameworku .NET, zapewniając szeroką kompatybilność. +**Q: Czy Aspose.Tasks for .NET jest kompatybilny ze wszystkimi wersjami .NET?** +A: Tak, Aspose.Tasks for .NET działa z .NET Framework 4.5+, .NET Core 3.1+, oraz .NET 5/6+. -### P2: Czy mogę używać Aspose.Tasks dla .NET do tworzenia nowych plików projektu? +**Q: Czy mogę używać Aspose.Tasks for .NET do tworzenia nowych plików projektów?** +A: Oczywiście! Biblioteka pozwala tworzyć, odczytywać i modyfikować pliki projektów programowo. -A2: Absolutnie! Aspose.Tasks dla .NET zapewnia funkcjonalność umożliwiającą łatwe tworzenie, odczytywanie i manipulowanie plikami projektów. +**Q: Czy Aspose.Tasks for .NET obsługuje wiele platform?** +A: Choć jest przeznaczony dla .NET, możesz go uruchamiać na każdej platformie obsługującej środowisko .NET, w tym Windows, Linux i macOS. -### P3: Czy Aspose.Tasks dla .NET obsługuje wiele platform? +**Q: Czy dostępne jest wsparcie techniczne dla Aspose.Tasks for .NET?** +A: Tak, pomoc możesz uzyskać na [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -O3: Chociaż Aspose.Tasks dla .NET jest przeznaczony przede wszystkim dla środowisk .NET, może być używany na różnych platformach obsługujących rozwój .NET. +**Q: Czy mogę wypróbować Aspose.Tasks for .NET przed zakupem?** +A: Oczywiście! Darmowa wersja próbna jest dostępna na [release page](https://releases.aspose.com/). -### P4: Czy dostępna jest pomoc techniczna dla Aspose.Tasks dla .NET? - -Odpowiedź 4: Tak, użytkownicy mogą uzyskać dostęp do pomocy technicznej poprzez[Forum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### P5: Czy przed zakupem mogę wypróbować Aspose.Tasks dla .NET? +**Ostatnia aktualizacja:** 2026-04-13 +**Testowano z:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose - A5: Oczywiście! Możesz skorzystać z bezpłatnego okresu próbnego w witrynie[strona wydania](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/portuguese/net/calendar-scheduling/calendar-collection/_index.md b/tasks/portuguese/net/calendar-scheduling/calendar-collection/_index.md index 45dec3dff..598d78072 100644 --- a/tasks/portuguese/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/portuguese/net/calendar-scheduling/calendar-collection/_index.md @@ -1,31 +1,44 @@ --- -title: Gerenciando coleção de calendários em Aspose.Tasks -linktitle: Gerenciando coleção de calendários em Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Aprenda como gerenciar coleções de calendário em Aspose.Tasks for .NET com eficiência. Crie, modifique e manipule calendários com facilidade. -weight: 11 +date: 2026-04-13 +description: Aprenda como definir horas de trabalho e gerenciar coleções de calendários + no Aspose.Tasks para .NET. Importe calendários do Microsoft Project, remova o calendário + do projeto e obtenha o calendário por nome facilmente. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Gerenciando a Coleção de Calendários no Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Definir Horas de Trabalho na Coleção de Calendários do Aspose.Tasks url: /pt/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gerenciando coleção de calendários em Aspose.Tasks +# Definir Horas de Trabalho na Coleção de Calendários Aspose.Tasks -## Introdução +Neste tutorial, você aprenderá como **definir horas de trabalho** e gerenciar coleções de calendários usando Aspose.Tasks para .NET. Os calendários definem dias úteis, feriados e exceções, portanto dominá‑los permite controlar os cronogramas dos projetos com precisão. Também mostraremos como importar calendários do Microsoft Project, remover um calendário de um projeto e obter um calendário pelo nome. -Neste tutorial, exploraremos como gerenciar coleções de calendário em Aspose.Tasks for .NET. Os calendários desempenham um papel crucial no gerenciamento de projetos, definindo dias úteis, feriados e exceções. Aspose.Tasks fornece funcionalidade robusta para manipular calendários em seus projetos. +## Respostas Rápidas +- **Qual é a classe principal para calendários?** `Project.Calendars` collection. +- **Como definir horas de trabalho?** Crie ou modifique um objeto `Calendar` e defina seu `WorkingTime`. +- **Posso importar calendários do Microsoft Project?** Sim – carregue um arquivo MPP e acesse seus calendários. +- **Como remover um calendário de um projeto?** Use `Project.Calendars.Remove(calendar)`. +- **Como recuperar um calendário pelo nome?** Chame `Project.Calendars.GetByName("YourCalendar")`. ## Pré-requisitos -Antes de começarmos, certifique-se de ter o seguinte: +Antes de começarmos, certifique‑se de que você tem o seguinte: -1. Visual Studio: Instale o Visual Studio ou qualquer outro IDE compatível para desenvolvimento .NET. -2. Aspose.Tasks for .NET: Baixe e instale Aspose.Tasks for .NET em[aqui](https://releases.aspose.com/tasks/net/). -3. Compreensão básica de C#: A familiaridade com a linguagem de programação C# será benéfica. +1. Visual Studio: Instale o Visual Studio ou qualquer outra IDE compatível com desenvolvimento .NET. +2. Aspose.Tasks para .NET: Baixe e instale o Aspose.Tasks para .NET a partir de [here](https://releases.aspose.com/tasks/net/). +3. Compreensão básica de C#: Familiaridade com a linguagem de programação C# será benéfica. -## Importar namespaces +## Importar Namespaces Primeiro, vamos importar os namespaces necessários para trabalhar com Aspose.Tasks: @@ -35,24 +48,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## Criando um novo calendário +## Criando um Novo Calendário -### Etapa 1: inicializar um novo`Project` object. +### Etapa 1: Inicializar um novo objeto `Project`. ```csharp var project = new Project(); ``` -### Etapa 2: adicione calendários à coleção de calendários do projeto. +### Etapa 2: Adicionar calendários à coleção de calendários do projeto. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Etapa 3: percorra os calendários e exiba seus nomes. +### Etapa 3: Percorrer os calendários e exibir seus nomes. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Substituindo um calendário por um novo calendário +## Como Definir Horas de Trabalho para um Calendário? + +Para **definir horas de trabalho**, você modifica a coleção `WorkingTime` de um `Calendar`. +Por exemplo, pode definir um dia de trabalho padrão das 9 h às 17 h ou adicionar exceções personalizadas. +O código para isso é idêntico aos exemplos mostrados mais adiante quando criamos um calendário padrão. -### Etapa 1: carregue um projeto existente. +## Substituindo um Calendário por um Novo Calendário + +### Etapa 1: Carregar um projeto existente. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Passo 2: Remova o calendário existente (se existir). +### Etapa 2: Remover o calendário existente (se existir). +Isso demonstra o cenário de **remover calendário do projeto**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,45 +95,46 @@ if (calendar != null) } ``` -### Etapa 3: adicione um novo calendário. +### Etapa 3: Adicionar um novo calendário. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Obtendo calendário por nome ou ID +## Obtendo Calendário por Nome ou ID -### Passo 1: Carregue o projeto. +### Etapa 1: Carregar o projeto. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Etapa 2: recuperar calendários por nome ou UID. +### Etapa 2: Recuperar calendários por nome ou UID. +Isso ilustra a operação de **obter calendário por nome**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### Etapa 3: exibir detalhes do calendário. +### Etapa 3: Exibir detalhes do calendário. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Iterando em calendários +## Iterando Sobre Calendários -### Passo 1: Carregue o projeto. +### Etapa 1: Carregar o projeto. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Etapa 2: recupere a contagem de calendários. +### Etapa 2: Recuperar a contagem de calendários. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Etapa 3: itere sobre a coleção de calendários e os nomes de exibição. +### Etapa 3: Percorrer a coleção de calendários e exibir nomes. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +143,78 @@ foreach (var calendar in calendars) } ``` -## Fazendo um calendário padrão +## Criando um Calendário Padrão -### Etapa 1: inicialize um novo projeto. +### Etapa 1: Inicializar um novo projeto. ```csharp var project = new Project(); ``` -### Passo 2: Defina um novo calendário e torne-o padrão. +### Etapa 2: Definir um novo calendário e torná‑lo padrão. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Etapa 3: Salve o projeto. +### Etapa 3: Salvar o projeto. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Conclusão +## Problemas Comuns e Soluções -Gerenciar coleções de calendários no Aspose.Tasks for .NET é essencial para um gerenciamento de projetos eficaz. Com as funcionalidades fornecidas, você pode criar, modificar e manipular calendários com eficiência de acordo com os requisitos do seu projeto. +- **Calendário não encontrado ao usar `GetByName`** – Certifique‑se de que o nome exato corresponde ao caso usado quando o calendário foi adicionado. +- **Horas de trabalho não aplicadas** – Após definir `WorkingTime`, lembre‑se de salvar o projeto; caso contrário, as alterações permanecem apenas na memória. +- **Falha ao importar calendários de um arquivo MPP** – Verifique se o arquivo de origem é um arquivo Microsoft Project válido e se você tem permissões de leitura. -## Perguntas frequentes +## Perguntas Frequentes -### Q1: Posso criar dias úteis personalizados em Aspose.Tasks? +### Q1: Posso criar dias úteis personalizados no Aspose.Tasks? A1: Sim, você pode criar dias úteis personalizados adicionando exceções aos calendários. -### P2: É possível importar calendários de arquivos do Microsoft Project? +### Q2: É possível importar calendários de arquivos Microsoft Project? + +A2: Absolutamente, o Aspose.Tasks suporta a importação de calendários de arquivos Microsoft Project. + +### Q3: Como posso remover um calendário específico de um projeto? + +A3: Você pode remover um calendário obtendo‑o da coleção e então chamando o método `Remove`. -A2: Com certeza, Aspose.Tasks oferece suporte à importação de calendários de arquivos do Microsoft Project. +### Q4: O Aspose.Tasks suporta exportar calendários para diferentes formatos? -### P3: Como posso remover um calendário específico de um projeto? +A4: Sim, o Aspose.Tasks permite exportar calendários para vários formatos como XML, MPP, etc. - A3: Você pode remover um calendário obtendo-o da coleção e ligando para o`Remove` método. +### Q5: Posso personalizar horas de trabalho para dias específicos em um calendário? -### Q4: O Aspose.Tasks oferece suporte à exportação de calendários para diferentes formatos? +A5: Certamente, você pode definir horas de trabalho para dias individuais usando exceções no calendário. -A4: Sim, Aspose.Tasks permite exportar calendários para vários formatos como XML, MPP, etc. +## Perguntas Frequentes + +**Q: Qual é a melhor maneira de definir um calendário de turno de 24 horas?** +A: Crie um novo calendário, limpe as entradas existentes de `WorkingTime` e adicione um único intervalo `WorkingTime` das 00:00 às 24:00 para cada dia da semana. + +**Q: Posso copiar um calendário de um projeto para outro?** +A: Sim—exporte o calendário para XML usando `project.Save` e então importe‑o em outro projeto com `new Project(xmlPath)`. + +**Q: Como importar programaticamente calendários do Microsoft Project?** +A: Carregue o arquivo MPP com `new Project("source.mpp")`; os calendários ficam disponíveis via `project.Calendars`. + +**Q: Existe um limite para o número de calendários em um projeto?** +A: Praticamente não; a coleção pode conter quantos calendários a memória permitir, mas mantenha a lista gerenciável para desempenho. + +**Q: As alterações em um calendário atualizam automaticamente as tarefas que o utilizam?** +A: Sim—tarefas vinculadas a um calendário refletem os horários de trabalho atualizados após você salvar o projeto. + +--- -### P5: Posso personalizar o horário de trabalho para dias específicos em um calendário? +**Última atualização:** 2026-04-13 +**Testado com:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose -A5: Certamente, você pode definir horários de trabalho para dias individuais usando exceções no calendário. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/portuguese/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/portuguese/net/calendar-scheduling/calendar-exceptions/_index.md index e0bf746fc..cfff7fbb2 100644 --- a/tasks/portuguese/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/portuguese/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Tratamento de exceções de calendário em Aspose.Tasks -linktitle: Tratamento de exceções de calendário em Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Aprenda como gerenciar exceções de calendário em Aspose.Tasks for .NET com tutoriais e exemplos passo a passo. -weight: 12 +date: 2026-04-13 +description: Aprenda a excluir exceções de calendário no Aspose.Tasks para .NET e + a verificar a data da exceção ao gerenciar o agendamento de calendário no ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Excluir exceção de calendário com Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Excluir exceção de calendário com Aspose.Tasks url: /pt/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Tratamento de exceções de calendário em Aspose.Tasks +# Excluir Exceção de Calendário com Aspose.Tasks ## Introdução -Neste tutorial, exploraremos como gerenciar exceções de calendário em Aspose.Tasks usando o .NET framework. As exceções de calendário permitem-nos definir datas ou períodos especiais no calendário de um projeto onde o horário normal de trabalho é alterado, como feriados ou encerramentos temporários. Abordaremos vários métodos para lidar com exceções de calendário passo a passo, usando Aspose.Tasks for .NET. +Neste tutorial, você aprenderá como **excluir exceção de calendário** e gerenciar outras exceções de calendário no Aspose.Tasks usando a estrutura .NET. As exceções de calendário permitem modelar feriados, fechamentos temporários ou quaisquer períodos especiais em que o horário de trabalho normal muda. Compreender como adicionar, consultar e remover essas exceções é essencial para um agendamento de projetos preciso, especialmente ao trabalhar com cenários de **agendamento de calendário ASP.NET**. + +## Respostas Rápidas +- **Qual é o método principal para remover uma exceção?** Use o método `Delete()` no objeto `CalendarException`. +- **Qual classe verifica uma data contra uma exceção?** `CalendarException.CheckException()` — útil para **verificar data de exceção**. +- **Preciso de uma licença para executar o código?** Sim, uma licença válida do Aspose.Tasks é necessária para uso em produção. +- **Posso adicionar múltiplas exceções a um calendário?** Absolutamente; a coleção `Exceptions` suporta várias entradas. +- **Versões .NET suportadas?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## O que é uma Exceção de Calendário? + +Uma **exceção de calendário** representa um desvio do calendário de trabalho regular — pense nisso como uma regra que diz “nestas datas, as horas de trabalho são diferentes ou inexistentes”. No Aspose.Tasks, cada exceção pode ter seus próprios horários de trabalho, padrão de recorrência e sinalizadores que indicam se o dia é útil. + +## Por que Gerenciar Exceções de Calendário no Agendamento de Calendário ASP.NET? + +- **Cronogramas precisos:** Os projetos respeitam automaticamente feriados e fechamentos especiais, evitando prazos irrealistas. +- **Flexibilidade:** Você pode definir padrões diários, semanais, mensais ou anuais, correspondendo a calendários empresariais do mundo real. +- **Automação:** Verificar programaticamente uma data de exceção permite criar lógica de agendamento dinâmica em aplicações ASP.NET. ## Pré-requisitos -Antes de começarmos, certifique-se de ter os seguintes pré-requisitos: -- Conhecimento básico da linguagem de programação C#. -- Visual Studio instalado em seu sistema. -- Biblioteca Aspose.Tasks for .NET adicionada ao seu projeto. +- Conhecimento básico de programação em C#. +- Visual Studio (qualquer versão recente). +- Biblioteca Aspose.Tasks para .NET adicionada ao seu projeto (via NuGet ou referência manual). -## Importar namespaces +## Importar Namespaces -Primeiramente, vamos importar os namespaces necessários para nosso projeto: +Primeiro, importe os namespaces que você precisará: ```csharp using Aspose.Tasks; using System; - - ``` -## Etapa 1: excluir uma exceção de calendário +## Etapa 1: Excluir Exceção de Calendário -Para excluir uma exceção de calendário, siga estas etapas: +Remover uma exceção indesejada é simples. O código a seguir carrega um projeto, seleciona o primeiro calendário, exibe informações básicas, exclui a primeira exceção e, em seguida, mostra a contagem atualizada. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Exibir informações do calendário + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Remova a primeira exceção + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Etapa 2: Obtendo o horário de trabalho de uma exceção de calendário +> **Dica profissional:** Sempre verifique se o índice da exceção existe antes de chamar `Delete()` para evitar `IndexOutOfRangeException`. + +## Etapa 2: Obter Horário de Trabalho de uma Exceção de Calendário -Para recuperar o horário de trabalho de uma exceção de calendário, siga estas etapas: +Se precisar inspecionar as horas de trabalho definidas para uma exceção, use `GetWorkingTime()`. Este exemplo também demonstra como **verificar data de exceção** com `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Exibir informações de calendário e exceções + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Obtenha o horário de trabalho e exiba detalhes + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Etapa 3: definindo exceções de calendário +## Etapa 3: Definir Exceções de Calendário -Para adicionar ou remover exceções de calendário, siga estas etapas: +Abaixo está um tutorial completo que mostra como **adicionar**, **verificar** e **remover** exceções de calendário. Observe o uso de `CheckException` para **verificar data de exceção** em um momento específico. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Crie uma nova exceção de calendário + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Definir detalhes da exceção + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Verifique se uma data é uma exceção + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Adicione a exceção ao calendário + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Remova uma exceção, se existir + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Adicione uma nova exceção + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Imprimir exceções + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Conclusão +## Problemas Comuns & Dicas -Neste artigo, cobrimos vários aspectos do tratamento de exceções de calendário no Aspose.Tasks for .NET. Seguindo as etapas fornecidas, você pode gerenciar com eficácia exceções nos cronogramas do projeto, garantindo uma representação precisa das horas de trabalho e eventos especiais. +| Problema | Motivo | Solução | +|----------|--------|----------| +| **`IndexOutOfRangeException` ao excluir** | Tentando excluir uma exceção que não existe. | Verifique se `calendar.Exceptions.Count` > índice antes de chamar `Delete()`. | +| **Horários de trabalho incorretos** | Não configurando `DayWorking` ou `WorkingTimes` corretamente. | Use `exception.WorkingTimes.Add(new WorkingTime(...))` para definir períodos explícitos. | +| **Exceção não reconhecida** | `CheckException` retorna `false` porque a data está fora do intervalo definido. | Verifique novamente `FromDate`/`ToDate` e o `Type` (Daily, Weekly, etc.). | -## Perguntas frequentes +## Perguntas Frequentes -### P1: Posso adicionar várias exceções a um único calendário? +**Q: Posso adicionar múltiplas exceções a um único calendário?** +A: Sim, você pode adicionar quantas exceções precisar para representar feriados, períodos de manutenção ou quaisquer regras de agendamento especiais. -R1: Sim, você pode adicionar diversas exceções a um calendário para acomodar diversas datas ou períodos especiais. +**Q: Como faço para **verificar data de exceção** para um dia específico?** +A: Use o método `CheckException(DateTime date)` em uma instância `CalendarException`. Ele retorna `true` se a data fornecida estiver dentro do intervalo da exceção. -### Q2: Como posso verificar se uma data específica é uma exceção? +**Q: É possível remover uma exceção existente de um calendário?** +A: Absolutamente. Acesse a coleção `Exceptions` e chame `Remove()` ou invoque `Delete()` no objeto `CalendarException` específico. - A2: Você pode usar o`CheckException()` método para verificar se uma data específica se enquadra em uma exceção. +**Q: Quais tipos de exceções de calendário são suportados?** +A: Aspose.Tasks suporta tipos de exceção Diária, Semanal, Mensal e Anual, oferecendo flexibilidade para modelar quase qualquer padrão de recorrência. -### Q3: É possível remover uma exceção existente de um calendário? +**Q: Posso personalizar as horas de trabalho para datas de exceção específicas?** +A: Sim. Após criar uma exceção, preencha sua coleção `WorkingTimes` com objetos `WorkingTime` que definem os horários de início e término para aquele dia. - A3: Sim, você pode remover exceções acessando o`Exceptions` coleta do calendário e usando o`Remove()` método. +## Conclusão -### P4: Que tipos de exceções de calendário são suportadas? +Percorremos todo o ciclo de vida das operações de **excluir exceção de calendário**, desde a inspeção de exceções existentes até a adição de novas e a verificação de datas. Dominar essas técnicas garante que os cronogramas dos seus projetos respeitem calendários do mundo real, tornando suas implementações de agendamento de calendário ASP.NET robustas e confiáveis. -A4: Aspose.Tasks oferece suporte a vários tipos de exceções, incluindo exceções diárias, semanais, mensais e anuais, proporcionando flexibilidade na definição de regras de exceção. +--- -### P5: Posso personalizar o horário de trabalho para datas de exceção específicas? +**Última atualização:** 2026-04-13 +**Testado com:** Aspose.Tasks for .NET (latest release) +**Autor:** Aspose -A5: Sim, você pode definir horários de trabalho personalizados para datas de exceção individuais usando os métodos apropriados fornecidos por Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/portuguese/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/portuguese/net/calendar-scheduling/child-tasks-collector/_index.md index f74291303..e9cc49739 100644 --- a/tasks/portuguese/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/portuguese/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Coletando tarefas filho em Aspose.Tasks -linktitle: Coletando tarefas filho em Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Aprenda como coletar tarefas filhas com eficiência usando Aspose.Tasks for .NET. Melhore o gerenciamento de projetos em seus aplicativos .NET. -weight: 15 +date: 2026-04-13 +description: Aprenda a criar um coletor de subtarefas usando Aspose.Tasks para .NET. + Melhore o gerenciamento de projetos em suas aplicações .NET. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Criar Coletor de Tarefas Filhas no Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Como criar um coletor de tarefas filhas no Aspose.Tasks url: /pt/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Coletando tarefas filho em Aspose.Tasks +# Criar Coletor de Tarefas Filhas no Aspose.Tasks ## Introdução -No domínio do gerenciamento de projetos, Aspose.Tasks for .NET se destaca como uma solução robusta para lidar com tarefas e projetos com eficiência. Esta poderosa biblioteca fornece aos desenvolvedores as ferramentas necessárias para gerenciar tarefas, projetos e tudo mais de maneira integrada. Neste tutorial, nos aprofundaremos em um aspecto específico do Aspose.Tasks: coleta de tarefas filhas. +Se você precisa **criar um coletor de tarefas filhas** para um arquivo Microsoft Project, o Aspose.Tasks para .NET torna isso simples. Neste tutorial, percorreremos os passos exatos necessários para coletar todas as tarefas filhas de um pai, para que você possa processá‑las, analisá‑las ou exportá‑las com confiança. Ao final do guia, você terá um trecho reutilizável que se encaixa naturalmente em qualquer solução de gerenciamento de projetos baseada em .NET. + +## Respostas Rápidas +- **O que o ChildTasksCollector faz?** Ele percorre a hierarquia de tarefas e reúne todas as tarefas descendentes em uma coleção. +- **Qual biblioteca fornece esse recurso?** Aspose.Tasks para .NET. +- **Preciso de uma licença para executar o exemplo?** Uma avaliação gratuita funciona para testes; uma licença é necessária para produção. +- **Quais versões do .NET são suportadas?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Quanto tempo leva a implementação?** Aproximadamente 5‑10 minutos após a instalação da biblioteca. + +## O que é um Coletor de Tarefas Filhas? + +Um **coletor de tarefas filhas** é um objeto utilitário que percorre a árvore de tarefas de um arquivo Project, começando a partir de uma tarefa raiz especificada, e agrega cada tarefa filha (sub‑tarefa) encontrada. Isso é especialmente útil quando você deseja aplicar operações em massa — como atualizar campos, exportar dados ou gerar relatórios — sem iterar manualmente por cada nível da hierarquia. + +## Por que criar um coletor de tarefas filhas? + +- **Simplificar recursão:** O coletor lida com a travessia em profundidade internamente, evitando que você escreva seus próprios loops recursivos. +- **Aumentar a produtividade:** Recupera todas as tarefas descendentes em uma única coleção, tornando edições ou análises em massa triviais. +- **Manter código limpo:** Mantém sua lógica de negócios separada da navegação de baixo nível da estrutura do projeto. ## Pré-requisitos -Antes de começarmos, certifique-se de ter os seguintes pré-requisitos em vigor: +Antes de começar, certifique‑se de que você tem: -1. Compreensão básica de C#: Familiaridade com a linguagem de programação C# é essencial. -2. Instalação do Aspose.Tasks for .NET: Baixe e instale a biblioteca Aspose.Tasks for .NET do[Link para Download](https://releases.aspose.com/tasks/net/). -3. Ambiente de desenvolvimento: configure um ambiente de desenvolvimento, como o Visual Studio, para escrever e executar código C#. -4. Acesso à Documentação: Mantenha o[Documentação Aspose.Tasks para .NET](https://reference.aspose.com/tasks/net/) útil para referência. +1. **Compreensão Básica de C#** – você deve estar confortável escrevendo e executando aplicações console simples. +2. **Aspose.Tasks para .NET instalado** – faça o download em [download link](https://releases.aspose.com/tasks/net/). +3. **Um ambiente de desenvolvimento** – Visual Studio, Rider ou qualquer IDE que suporte C#. +4. **Acesso à documentação oficial** – mantenha a [documentação do Aspose.Tasks para .NET](https://reference.aspose.com/tasks/net/) por perto para referência. -Agora que cobrimos os pré-requisitos, vamos mergulhar no guia passo a passo para coletar tarefas filho usando Aspose.Tasks for .NET. +Agora que a base está pronta, vamos mergulhar no código. -## Importar namespaces +## Importar Namespaces -Em primeiro lugar, importe os namespaces necessários para o seu código C# para acessar a funcionalidade fornecida pelo Aspose.Tasks for .NET. +Primeiro, traga os namespaces necessários para o escopo para que o compilador saiba onde encontrar as classes que usaremos. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Agora, vamos dividir o exemplo fornecido em várias etapas para compreender completamente o processo. +## Guia Passo a Passo -## Etapa 1: inicializar o objeto do projeto +### Etapa 1: Inicializar o Objeto Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Esta linha de código inicializa um novo`Project` objeto, carregando um arquivo de projeto chamado "ParentChildTasks.mpp" do diretório especificado. +Esta linha carrega um arquivo Microsoft Project existente (`ParentChildTasks.mpp`) da pasta `DataDir` em um objeto `Project`, proporcionando acesso programático às suas tarefas. -## Etapa 2: Criar objeto ChildTasksCollector +### Etapa 2: Criar a Instância ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Aqui, criamos um novo`ChildTasksCollector` objeto, que nos ajudará a coletar tarefas filhas do projeto. +Aqui nós **criamos um coletor de tarefas filhas** – uma instância de `ChildTasksCollector` que armazenará cada tarefa filha que descobrir. -## Etapa 3: aplicar o coletor à tarefa raiz +### Etapa 3: Aplicar o Coletor à Tarefa Raiz ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Aplicamos o`ChildTasksCollector` à tarefa raiz do projeto, iniciando o processo de coleta recursivamente. +Informamos ao Aspose.Tasks para iniciar a coleta na tarefa raiz do projeto. O método `Apply` percorre a hierarquia recursivamente, preenchendo `collector.Tasks` com todas as tarefas descendentes. -## Etapa 4: Iterar pelas tarefas coletadas +### Etapa 4: Iterar Sobre as Tarefas Coletadas ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Finalmente, iteramos pelas tarefas coletadas e imprimimos seus nomes no console. - -## Conclusão +Finalmente, iteramos sobre as tarefas coletadas e imprimimos o nome de cada tarefa no console. Em um cenário real, você poderia substituir o `Console.WriteLine` por qualquer processamento personalizado que precisar (por exemplo, exportar para CSV, atualizar campos, etc.). -Neste tutorial, exploramos como coletar tarefas filhas usando Aspose.Tasks for .NET. Seguindo as etapas descritas acima, você pode gerenciar e manipular tarefas em seus projetos com eficiência, aumentando a produtividade e a organização. +## Problemas Comuns e Soluções -## Perguntas frequentes +| Problema | Motivo | Solução | +|----------|--------|---------| +| **Nenhuma tarefa é retornada** | O coletor foi aplicado à tarefa errada (por exemplo, um nó folha). | Aplique `TaskUtils.Apply` a `project.RootTask` ou ao pai específico de onde deseja iniciar. | +| **NullReferenceException** | `DataDir` ou o caminho do arquivo está incorreto. | Verifique se `DataDir` aponta para a pasta que contém `ParentChildTasks.mpp`. | +| **Licença não definida** | Aspose.Tasks gera um aviso de licenciamento no modo de avaliação. | Carregue sua licença com `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` antes de criar o objeto `Project`. | -### Q1: O Aspose.Tasks for .NET é compatível com todas as versões do .NET? +## Perguntas Frequentes -A1: Sim, Aspose.Tasks for .NET é compatível com várias versões do .NET framework, garantindo ampla compatibilidade. +**P: O Aspose.Tasks para .NET é compatível com todas as versões do .NET?** +R: Sim, o Aspose.Tasks para .NET funciona com .NET Framework 4.5+, .NET Core 3.1+ e .NET 5/6+. -### Q2: Posso usar Aspose.Tasks for .NET para criar novos arquivos de projeto? +**P: Posso usar o Aspose.Tasks para .NET para criar novos arquivos de projeto?** +R: Absolutamente! A biblioteca permite criar, ler e manipular arquivos de projeto programaticamente. -A2: Com certeza! Aspose.Tasks for .NET fornece funcionalidade para criar, ler e manipular arquivos de projeto sem esforço. +**P: O Aspose.Tasks para .NET suporta múltiplas plataformas?** +R: Embora seja projetado para .NET, você pode executá‑lo em qualquer plataforma que suporte o runtime .NET, incluindo Windows, Linux e macOS. -### Q3: O Aspose.Tasks for .NET oferece suporte a várias plataformas? +**P: O suporte técnico está disponível para o Aspose.Tasks para .NET?** +R: Sim, você pode obter ajuda através do [fórum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). -A3: Embora projetado principalmente para ambientes .NET, o Aspose.Tasks for .NET pode ser usado em várias plataformas que suportam o desenvolvimento .NET. +**P: Posso experimentar o Aspose.Tasks para .NET antes de comprar?** +R: Claro! Uma avaliação gratuita está disponível na [página de lançamento](https://releases.aspose.com/). -### Q4: O suporte técnico está disponível para Aspose.Tasks for .NET? - -A4: Sim, os usuários podem acessar o suporte técnico através do[Fórum Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### Q5: Posso experimentar o Aspose.Tasks for .NET antes de comprar? +**Última atualização:** 2026-04-13 +**Testado com:** Aspose.Tasks 24.11 para .NET +**Autor:** Aspose - A5: Certamente! Você pode aproveitar um teste gratuito no[página de lançamento](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/russian/net/calendar-scheduling/calendar-collection/_index.md b/tasks/russian/net/calendar-scheduling/calendar-collection/_index.md index b00e8417a..138ca0365 100644 --- a/tasks/russian/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/russian/net/calendar-scheduling/calendar-collection/_index.md @@ -1,58 +1,67 @@ --- -title: Управление коллекцией календарей в Aspose.Tasks +date: 2026-04-13 +description: Узнайте, как задавать рабочие часы и управлять коллекциями календарей + в Aspose.Tasks для .NET. Импортируйте календари из Microsoft Project, удаляйте календарь + проекта и легко получайте календарь по имени. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Управление коллекцией календарей в Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Узнайте, как эффективно управлять коллекциями календарей в Aspose.Tasks для .NET. С легкостью создавайте, изменяйте и манипулируйте календарями. -weight: 11 +title: Установить рабочие часы в коллекции календарей Aspose.Tasks url: /ru/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Управление коллекцией календарей в Aspose.Tasks - -## Введение - -В этом уроке мы рассмотрим, как управлять коллекциями календарей в Aspose.Tasks для .NET. Календари играют решающую роль в управлении проектами, определяя рабочие дни, праздники и исключения. Aspose.Tasks предоставляет надежную функциональность для управления календарями в ваших проектах. +# Установить рабочие часы в коллекции календарей Aspose.Tasks -## Предварительные условия +В этом руководстве вы узнаете, как **установить рабочие часы** и управлять коллекциями календарей с помощью Aspose.Tasks для .NET. Календари определяют рабочие дни, праздники и исключения, поэтому их освоение позволяет точно контролировать графики проектов. Мы также покажем, как импортировать календари из Microsoft Project, удалить календарь из проекта и получить календарь по имени. -Прежде чем мы начнем, убедитесь, что у вас есть следующее: +## Быстрые ответы +- **Какой основной класс для календарей?** `Project.Calendars` collection. +- **Как установить рабочие часы?** Create or modify a `Calendar` object and define its `WorkingTime`. +- **Можно ли импортировать календари из Microsoft Project?** Yes – load an MPP file and access its calendars. +- **Как удалить календарь из проекта?** Use `Project.Calendars.Remove(calendar)`. +- **Как получить календарь по имени?** Call `Project.Calendars.GetByName("YourCalendar")`. -1. Visual Studio: установите Visual Studio или любую другую совместимую интегрированную среду разработки для разработки .NET. -2. Aspose.Tasks для .NET: Загрузите и установите Aspose.Tasks для .NET с сайта[здесь](https://releases.aspose.com/tasks/net/). -3. Базовое понимание C#: Знакомство с языком программирования C# будет полезным. +## Предварительные требования -## Импортировать пространства имен +1. Visual Studio: Установите Visual Studio или любую другую совместимую IDE для разработки на .NET. +2. Aspose.Tasks for .NET: Скачайте и установите Aspose.Tasks for .NET с [here](https://releases.aspose.com/tasks/net/). +3. Базовые знания C#: Знание языка программирования C# будет полезным. -Для начала давайте импортируем необходимые пространства имен для работы с Aspose.Tasks: +## Импорт пространств имён +Сначала импортируем необходимые пространства имён для работы с Aspose.Tasks: ```csharp using Aspose.Tasks; using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Создание нового календаря -### Шаг 1. Инициализируйте новый`Project` object. +### Шаг 1: Инициализировать новый объект `Project`. ```csharp var project = new Project(); ``` -### Шаг 2. Добавьте календари в коллекцию календарей проекта. +### Шаг 2: Добавить календари в коллекцию календарей проекта. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Шаг 3. Перейдите по календарям и отобразите их названия. +### Шаг 3: Перебрать календари и вывести их имена. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +69,21 @@ foreach (var calendar in project.Calendars) } ``` +## Как установить рабочие часы для календаря? + +Чтобы **установить рабочие часы**, вы изменяете коллекцию `WorkingTime` объекта `Calendar`. +Например, можно задать стандартный рабочий день с 9 ч. до 17 ч. или добавить пользовательские исключения. +Код для этого идентичен примерам, показанным позже, когда мы создаём стандартный календарь. + ## Замена календаря новым календарем -### Шаг 1: Загрузите существующий проект. +### Шаг 1: Загрузить существующий проект. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Шаг 2. Удалите существующий календарь (если он существует). +### Шаг 2: Удалить существующий календарь (если он существует). +Это демонстрирует сценарий **remove calendar project**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,26 +92,27 @@ if (calendar != null) } ``` -### Шаг 3. Добавьте новый календарь. +### Шаг 3: Добавить новый календарь. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Получение календаря по имени или идентификатору +## Получение календаря по имени или ID -### Шаг 1: Загрузите проект. +### Шаг 1: Загрузить проект. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Шаг 2. Получите календари по названию или UID. +### Шаг 2: Получить календари по имени или UID. +Это иллюстрирует операцию **get calendar by name**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### Шаг 3. Отобразите сведения о календаре. +### Шаг 3: Показать детали календаря. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); @@ -104,17 +121,17 @@ Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid ## Перебор календарей -### Шаг 1: Загрузите проект. +### Шаг 1: Загрузить проект. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Шаг 2. Получите количество календарей. +### Шаг 2: Получить количество календарей. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Шаг 3. Переберите коллекцию календарей и отображаемые имена. +### Шаг 3: Перебрать коллекцию календарей и вывести их имена. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -125,50 +142,71 @@ foreach (var calendar in calendars) ## Создание стандартного календаря -### Шаг 1: Инициализируйте новый проект. +### Шаг 1: Инициализировать новый проект. ```csharp var project = new Project(); ``` -### Шаг 2. Определите новый календарь и сделайте его стандартным. +### Шаг 2: Определить новый календарь и сделать его стандартным. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Шаг 3: Сохраните проект. +### Шаг 3: Сохранить проект. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Заключение +## Распространённые проблемы и решения -Управление коллекциями календарей в Aspose.Tasks для .NET необходимо для эффективного управления проектами. Благодаря предоставленным функциям вы можете эффективно создавать, изменять и манипулировать календарями в соответствии с требованиями вашего проекта. +- **Calendar not found when using `GetByName`** – Убедитесь, что точное имя совпадает с регистром, использованным при добавлении календаря. +- **Working hours not applied** – После установки `WorkingTime` не забудьте сохранить проект; иначе изменения останутся только в памяти. +- **Importing calendars from an MPP file fails** – Убедитесь, что исходный файл является действительным файлом Microsoft Project и у вас есть права на чтение. ## Часто задаваемые вопросы -### Вопрос 1: Могу ли я создавать собственные рабочие дни в Aspose.Tasks? +### Q1: Могу ли я создать пользовательские рабочие дни в Aspose.Tasks? +A1: Да, вы можете создать пользовательские рабочие дни, добавив исключения в календари. -О1: Да, вы можете создавать собственные рабочие дни, добавляя исключения в календари. +### Q2: Можно ли импортировать календари из файлов Microsoft Project? +A2: Конечно, Aspose.Tasks поддерживает импорт календарей из файлов Microsoft Project. -### Вопрос 2. Можно ли импортировать календари из файлов Microsoft Project? +### Q3: Как удалить конкретный календарь из проекта? +A3: Вы можете удалить календарь, получив его из коллекции, а затем вызвав метод `Remove`. -О2: Конечно, Aspose.Tasks поддерживает импорт календарей из файлов Microsoft Project. +### Q4: Поддерживает ли Aspose.Tasks экспорт календарей в разные форматы? +A4: Да, Aspose.Tasks позволяет экспортировать календари в различные форматы, такие как XML, MPP и т.д. -### Вопрос 3. Как удалить из проекта определенный календарь? +### Q5: Могу ли я настроить рабочие часы для конкретных дней в календаре? +A5: Конечно, вы можете задать рабочие часы для отдельных дней, используя исключения в календаре. - О3: Вы можете удалить календарь, получив его из коллекции, а затем вызвав`Remove` метод. +## Часто задаваемые вопросы + +**Q: Как лучше всего установить календарь 24‑часовой смены?** +A: Создайте новый календарь, очистите существующие записи `WorkingTime` и добавьте один диапазон `WorkingTime` с 00:00 до 24:00 для каждого буднего дня. + +**Q: Можно ли скопировать календарь из одного проекта в другой?** +A: Да — экспортируйте календарь в XML с помощью `project.Save`, а затем импортируйте его в другой проект с помощью `new Project(xmlPath)`. -### Вопрос 4: Поддерживает ли Aspose.Tasks экспорт календарей в разные форматы? +**Q: Как программно импортировать календари из Microsoft Project?** +A: Загрузите файл MPP с помощью `new Project("source.mpp")`; календари станут доступны через `project.Calendars`. -О4: Да, Aspose.Tasks позволяет экспортировать календари в различные форматы, такие как XML, MPP и т. д. +**Q: Есть ли ограничение на количество календарей в проекте?** +A: Практически нет; коллекция может содержать столько календарей, сколько позволяет память, но рекомендуется держать список управляемым для производительности. + +**Q: Обновляются ли задачи автоматически при изменении календаря?** +A: Да — задачи, связанные с календарём, отражают обновлённые рабочие часы после сохранения проекта. + +--- -### Вопрос 5. Могу ли я настроить рабочее время для определенных дней в календаре? +**Последнее обновление:** 2026-04-13 +**Тестировано с:** Aspose.Tasks 24.11 for .NET +**Автор:** Aspose -О5: Конечно, вы можете определить рабочее время для отдельных дней, используя исключения в календаре. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/russian/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/russian/net/calendar-scheduling/calendar-exceptions/_index.md index b1dc45e44..aa799b1f8 100644 --- a/tasks/russian/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/russian/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Обработка исключений календаря в Aspose.Tasks -linktitle: Обработка исключений календаря в Aspose.Tasks +date: 2026-04-13 +description: Узнайте, как удалить исключение календаря в Aspose.Tasks для .NET и проверить + дату исключения при управлении расписанием календаря ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Удалить исключение календаря с помощью Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Узнайте, как управлять исключениями календаря в Aspose.Tasks для .NET, с помощью пошаговых руководств и примеров. -weight: 12 +title: Удаление исключения календаря с помощью Aspose.Tasks url: /ru/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Обработка исключений календаря в Aspose.Tasks +# Удаление исключения календаря с Aspose.Tasks ## Введение -В этом руководстве мы рассмотрим, как управлять исключениями календаря в Aspose.Tasks с использованием платформы .NET. Календарные исключения позволяют нам определять особые даты или периоды в календаре проекта, когда обычный рабочий график изменяется, например праздники или временное закрытие. Мы шаг за шагом рассмотрим различные методы обработки исключений календаря, используя Aspose.Tasks для .NET. +В этом руководстве вы узнаете, как **удалять исключение календаря** и управлять другими исключениями календаря в Aspose.Tasks, используя .NET‑framework. Исключения календаря позволяют моделировать праздники, временные закрытия или любые специальные периоды, когда обычный график работы меняется. Понимание того, как добавлять, запрашивать и удалять такие исключения, необходимо для точного планирования проектов, особенно при работе со сценариями **ASP.NET calendar scheduling**. + +## Быстрые ответы +- **Каков основной метод для удаления исключения?** Используйте метод `Delete()` у объекта `CalendarException`. +- **Какой класс проверяет дату на наличие исключения?** `CalendarException.CheckException()` — полезно для **проверки даты исключения**. +- **Нужна ли лицензия для выполнения кода?** Да, для использования в продакшене требуется действующая лицензия Aspose.Tasks. +- **Могу ли я добавить несколько исключений в один календарь?** Да; коллекция `Exceptions` поддерживает множество записей. +- **Поддерживаемые версии .NET?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Что такое исключение календаря? + +**Исключение календаря** представляет отклонение от обычного рабочего календаря — условие, которое гласит: «в эти даты рабочие часы отличаются или их нет вовсе». В Aspose.Tasks каждое исключение может иметь собственные рабочие часы, шаблон повторения и флаги, указывающие, является ли день рабочим. + +## Почему управлять исключениями календаря в планировании ASP.NET? + +- **Точные сроки:** Проекты автоматически учитывают праздники и специальные закрытия, избегая нереалистичных дедлайнов. +- **Гибкость:** Можно задавать ежедневные, еженедельные, ежемесячные или ежегодные шаблоны, соответствующие реальным бизнес‑календарям. +- **Автоматизация:** Программная проверка даты исключения позволяет создавать динамическую логику планирования в приложениях ASP.NET. -## Предварительные условия +## Требования -Прежде чем мы начнем, убедитесь, что у вас есть следующие предварительные условия: -- Базовые знания языка программирования C#. -- Visual Studio установлена в вашей системе. -- В ваш проект добавлена библиотека Aspose.Tasks for .NET. +- Базовые знания программирования на C#. +- Visual Studio (любая современная версия). +- Библиотека Aspose.Tasks for .NET, добавленная в проект (через NuGet или вручную). -## Импортировать пространства имен +## Импорт пространств имён -Во-первых, давайте импортируем необходимые пространства имен для нашего проекта: +Сначала импортируйте необходимые пространства имён: ```csharp using Aspose.Tasks; using System; - - ``` -## Шаг 1. Удаление исключения из календаря +## Шаг 1: Удалить исключение календаря -Чтобы удалить исключение календаря, выполните следующие действия: +Удаление нежелательного исключения простое. Ниже приведён код, который загружает проект, выбирает первый календарь, выводит базовую информацию, удаляет первое исключение и затем показывает обновлённое количество. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Отображение информации календаря + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Удалить первое исключение + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Шаг 2. Получение рабочего времени календарного исключения +> **Совет:** Всегда проверяйте, существует ли индекс исключения, перед вызовом `Delete()`, чтобы избежать `IndexOutOfRangeException`. + +## Шаг 2: Получить рабочее время исключения календаря -Чтобы получить рабочее время исключения календаря, выполните следующие действия: +Если нужно просмотреть рабочие часы, определённые для исключения, используйте `GetWorkingTime()`. Этот пример также демонстрирует, как **проверять дату исключения** с помощью `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Отображение календаря и информации об исключениях + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Получить рабочее время и отобразить детали + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Шаг 3. Определение исключений календаря +## Шаг 3: Определить исключения календаря -Чтобы добавить или удалить исключения календаря, выполните следующие действия: +Ниже полное пошаговое руководство, показывающее, как **добавлять**, **проверять** и **удалять** исключения календаря. Обратите внимание на использование `CheckException` для **проверки даты исключения** в конкретный момент. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Создать новое исключение календаря + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Установить сведения об исключении + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Проверьте, является ли дата исключением + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Добавьте исключение в календарь + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Удалить исключение, если оно существует + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Добавить новое исключение + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Печать исключений + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Заключение +## Распространённые проблемы и советы -В этой статье мы рассмотрели различные аспекты обработки исключений календаря в Aspose.Tasks для .NET. Следуя предоставленным шагам, вы сможете эффективно управлять исключениями в расписаниях проектов, обеспечивая точное представление рабочего времени и особых событий. +| Проблема | Причина | Решение | +|----------|---------|---------| +| **`IndexOutOfRangeException` при удалении** | Попытка удалить несуществующее исключение. | Убедитесь, что `calendar.Exceptions.Count` > индекса перед вызовом `Delete()`. | +| **Неправильное рабочее время** | Не корректно заданы `DayWorking` или `WorkingTimes`. | Используйте `exception.WorkingTimes.Add(new WorkingTime(...))` для определения явных периодов. | +| **Исключение не распознано** | `CheckException` возвращает `false`, потому что дата находится вне заданного диапазона. | Перепроверьте `FromDate`/`ToDate` и `Type` (Daily, Weekly и т.д.). | ## Часто задаваемые вопросы -### Вопрос 1. Могу ли я добавить несколько исключений в один календарь? +**Q: Могу ли я добавить несколько исключений в один календарь?** +A: Да, вы можете добавить столько исключений, сколько необходимо, чтобы представить праздники, окна обслуживания или любые специальные правила планирования. -О1: Да, вы можете добавить в календарь несколько исключений, чтобы учесть различные особые даты или периоды. +**Q: Как я могу **проверить дату исключения** для конкретного дня?** +A: Используйте метод `CheckException(DateTime date)` у экземпляра `CalendarException`. Он возвращает `true`, если указанная дата попадает в диапазон исключения. -### Вопрос 2. Как я могу проверить, является ли определенная дата исключением? +**Q: Возможно ли удалить существующее исключение из календаря?** +A: Абсолютно. Обратитесь к коллекции `Exceptions` и вызовите `Remove()` или выполните `Delete()` у конкретного объекта `CalendarException`. - A2: Вы можете использовать`CheckException()` метод, позволяющий проверить, попадает ли конкретная дата в исключение. +**Q: Какие типы исключений календаря поддерживаются?** +A: Aspose.Tasks поддерживает типы исключений Daily, Weekly, Monthly и Yearly, предоставляя гибкость для моделирования практически любого шаблона повторения. -### Вопрос 3. Можно ли удалить существующее исключение из календаря? +**Q: Могу ли я настроить рабочие часы для конкретных дат исключения?** +A: Да. После создания исключения заполните его коллекцию `WorkingTimes` объектами `WorkingTime`, определяющими время начала и окончания для этого дня. - О3: Да, вы можете удалить исключения, открыв`Exceptions` сбор календаря и использование`Remove()` метод. +## Заключение -### Вопрос 4. Какие типы исключений календаря поддерживаются? +Мы прошли полный цикл операций **удаления исключения календаря**, от просмотра существующих исключений до их добавления и проверки дат. Овладение этими приёмами гарантирует, что расписания ваших проектов учитывают реальные календари, делая реализации планирования в ASP.NET надёжными и устойчивыми. -A4: Aspose.Tasks поддерживает различные типы исключений, включая ежедневные, еженедельные, ежемесячные и ежегодные исключения, обеспечивая гибкость в определении правил исключений. +--- -### Вопрос 5. Могу ли я настроить рабочее время для определенных дат исключений? +**Последнее обновление:** 2026-04-13 +**Тестировано с:** Aspose.Tasks for .NET (latest release) +**Автор:** Aspose -О5: Да, вы можете определить собственное рабочее время для отдельных дат исключений, используя соответствующие методы, предоставляемые Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/russian/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/russian/net/calendar-scheduling/child-tasks-collector/_index.md index baaf0d689..96aba942e 100644 --- a/tasks/russian/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/russian/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: Сбор дочерних задач в Aspose.Tasks -linktitle: Сбор дочерних задач в Aspose.Tasks +date: 2026-04-13 +description: Узнайте, как создать сборщик дочерних задач с помощью Aspose.Tasks для + .NET. Улучшите управление проектами в ваших .NET‑приложениях. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Создать сборщик дочерних задач в Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Узнайте, как эффективно собирать дочерние задачи с помощью Aspose.Tasks для .NET. Улучшите управление проектами в своих приложениях .NET. -weight: 15 +title: Как создать сборщик дочерних задач в Aspose.Tasks url: /ru/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Сбор дочерних задач в Aspose.Tasks +# Создание сборщика дочерних задач в Aspose.Tasks ## Введение -В области управления проектами Aspose.Tasks for .NET выделяется как надежное решение для эффективной обработки задач и проектов. Эта мощная библиотека предоставляет разработчикам инструменты, необходимые для беспрепятственного управления задачами, проектами и всем, что между ними. В этом уроке мы углубимся в конкретный аспект Aspose.Tasks: сбор дочерних задач. +Если вам нужно **create child tasks collector** для файла Microsoft Project, Aspose.Tasks for .NET делает это простым. В этом руководстве мы пройдем все необходимые шаги, чтобы собрать каждую дочернюю задачу под родительской, чтобы вы могли обрабатывать, анализировать или экспортировать их с уверенностью. К концу руководства у вас будет переиспользуемый фрагмент кода, который естественно впишется в любое .NET‑based решение для управления проектами. + +## Быстрые ответы +- **Что делает ChildTasksCollector?** Он проходит иерархию задач и собирает все дочерние задачи в коллекцию. +- **Какая библиотека предоставляет эту функцию?** Aspose.Tasks for .NET. +- **Нужна ли лицензия для запуска примера?** Бесплатная пробная версия подходит для оценки; лицензия требуется для продакшн. +- **Какие версии .NET поддерживаются?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Сколько времени занимает реализация?** Около 5‑10 минут после установки библиотеки. + +## Что такое сборщик дочерних задач? + +**child tasks collector** — это вспомогательный объект, который проходит дерево задач файла Project, начиная с указанной корневой задачи, и собирает каждую дочернюю (подзадачу), которую он встречает. Это особенно полезно, когда нужно выполнить массовые операции — такие как обновление полей, экспорт данных или генерация отчетов — без ручного перебора каждого уровня иерархии. + +## Зачем создавать сборщик дочерних задач? -## Предварительные условия +- **Упростить рекурсию:** Сборщик обрабатывает обход в глубину внутренне, поэтому вам не нужно писать собственные рекурсивные циклы. +- **Повысить продуктивность:** Получайте все дочерние задачи в одной коллекции, делая массовые правки или анализ простыми. +- **Поддерживать чистый код:** Отделяет бизнес‑логику от низкоуровневой навигации по структуре проекта. -Прежде чем мы начнем, убедитесь, что у вас есть следующие предварительные условия: +## Требования -1. Базовое понимание C#. Знание языка программирования C# необходимо. -2. Установка Aspose.Tasks для .NET: Загрузите и установите библиотеку Aspose.Tasks для .NET с сайта[ссылка для скачивания](https://releases.aspose.com/tasks/net/). -3. Среда разработки: настройте среду разработки, например Visual Studio, для написания и выполнения кода C#. -4. Доступ к документации: сохраните[Документация Aspose.Tasks для .NET](https://reference.aspose.com/tasks/net/) удобно для справки. +Прежде чем начать, убедитесь, что у вас есть: -Теперь, когда у нас есть все необходимые условия, давайте углубимся в пошаговое руководство по сбору дочерних задач с помощью Aspose.Tasks для .NET. +1. **Базовые знания C#** – вы должны уметь писать и запускать простые консольные приложения. +2. **Aspose.Tasks for .NET установлен** – скачайте его по [download link](https://releases.aspose.com/tasks/net/). +3. **Среда разработки** – Visual Studio, Rider или любая IDE, поддерживающая C#. +4. **Доступ к официальной документации** – держите под рукой [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) для справки. -## Импортировать пространства имен +Теперь, когда подготовка завершена, давайте перейдём к коду. -Во-первых, импортируйте необходимые пространства имен в свой код C#, чтобы получить доступ к функциям, предоставляемым Aspose.Tasks для .NET. +## Импорт пространств имён + +Сначала импортируйте необходимые пространства имён, чтобы компилятор знал, где находятся используемые классы. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Теперь давайте разобьем приведенный пример на несколько шагов, чтобы полностью понять процесс. +## Пошаговое руководство -## Шаг 1. Инициализация объекта проекта +### Шаг 1: Инициализация объекта Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Эта строка кода инициализирует новый`Project` объект, загружая файл проекта с именем «ParentChildTasks.mpp» из указанного каталога. +Эта строка загружает существующий файл Microsoft Project (`ParentChildTasks.mpp`) из папки `DataDir` в объект `Project`, предоставляя программный доступ к его задачам. -## Шаг 2. Создайте объект ChildTasksCollector +### Шаг 2: Создание экземпляра ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Здесь мы создаем новый`ChildTasksCollector` объект, который поможет нам собирать дочерние задачи из проекта. +Здесь мы **create child tasks collector** — экземпляр `ChildTasksCollector`, который будет хранить каждую найденную дочернюю задачу. -## Шаг 3. Примените Collector к корневой задаче +### Шаг 3: Применение сборщика к корневой задаче ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Мы применяем`ChildTasksCollector` к корневой задаче проекта, рекурсивно инициируя процесс сбора. +Мы указываем Aspose.Tasks начать сборку с корневой задачи проекта. Метод `Apply` рекурсивно проходит иерархию, заполняя `collector.Tasks` всеми дочерними задачами. -## Шаг 4. Перебор собранных задач +### Шаг 4: Итерация по собранным задачам ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -Наконец, мы перебираем собранные задачи и выводим их имена в консоль. +Наконец, мы перебираем собранные задачи и выводим имя каждой задачи в консоль. В реальном сценарии вы можете заменить `Console.WriteLine` любой необходимой пользовательской обработкой (например, экспорт в CSV, обновление полей и т.д.). -## Заключение +## Распространённые проблемы и решения -В этом уроке мы рассмотрели, как собирать дочерние задачи с помощью Aspose.Tasks для .NET. Следуя шагам, описанным выше, вы сможете эффективно управлять задачами в своих проектах и манипулировать ими, повышая производительность и организованность. +| Проблема | Причина | Решение | +|----------|---------|----------| +| **Задачи не возвращаются** | Сборщик был применён к неправильной задаче (например, к листовой). | Вызовите `TaskUtils.Apply` для `project.RootTask` или конкретного родителя, с которого хотите начать. | +| **NullReferenceException** | `DataDir` или путь к файлу указаны неверно. | Убедитесь, что `DataDir` указывает на папку, содержащую `ParentChildTasks.mpp`. | +| **Лицензия не установлена** | Aspose.Tasks выдаёт предупреждение о лицензировании в пробном режиме. | Загрузите лицензию с помощью `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` перед созданием объекта `Project`. | ## Часто задаваемые вопросы -### Вопрос 1. Совместим ли Aspose.Tasks для .NET со всеми версиями .NET? - -О1: Да, Aspose.Tasks для .NET совместим с различными версиями .NET Framework, что обеспечивает широкую совместимость. +**В:** Совместим ли Aspose.Tasks for .NET со всеми версиями .NET? +**О:** Да, Aspose.Tasks for .NET работает с .NET Framework 4.5+, .NET Core 3.1+ и .NET 5/6+. -### Вопрос 2: Могу ли я использовать Aspose.Tasks для .NET для создания новых файлов проекта? +**В:** Можно ли использовать Aspose.Tasks for .NET для создания новых файлов проектов? +**О:** Конечно! Библиотека позволяет программно создавать, читать и изменять файлы проектов. -А2: Абсолютно! Aspose.Tasks для .NET предоставляет функциональные возможности для легкого создания, чтения и управления файлами проекта. +**В:** Поддерживает ли Aspose.Tasks for .NET несколько платформ? +**О:** Хотя она разработана для .NET, её можно запускать на любой платформе, поддерживающей среду выполнения .NET, включая Windows, Linux и macOS. -### Вопрос 3. Поддерживает ли Aspose.Tasks для .NET несколько платформ? +**В:** Доступна ли техническая поддержка для Aspose.Tasks for .NET? +**О:** Да, вы можете получить помощь на [форуме Aspose.Tasks](https://forum.aspose.com/c/tasks/15). -A3: Хотя Aspose.Tasks for .NET в первую очередь разработан для сред .NET, его можно использовать на различных платформах, поддерживающих разработку .NET. +**В:** Можно ли попробовать Aspose.Tasks for .NET перед покупкой? +**О:** Конечно! Бесплатная пробная версия доступна на [странице релизов](https://releases.aspose.com/). -### Вопрос 4: Доступна ли техническая поддержка для Aspose.Tasks для .NET? - -О4: Да, пользователи могут получить доступ к технической поддержке через[Форум Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### Вопрос 5: Могу ли я попробовать Aspose.Tasks для .NET перед покупкой? +**Последнее обновление:** 2026-04-13 +**Тестировано с:** Aspose.Tasks 24.11 for .NET +**Автор:** Aspose - А5: Конечно! Вы можете воспользоваться бесплатной пробной версией на сайте[страница выпуска](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/spanish/net/calendar-scheduling/calendar-collection/_index.md b/tasks/spanish/net/calendar-scheduling/calendar-collection/_index.md index 1447dcce0..fe5548cfb 100644 --- a/tasks/spanish/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/spanish/net/calendar-scheduling/calendar-collection/_index.md @@ -1,29 +1,42 @@ --- -title: Gestión de la colección de calendarios en Aspose.Tasks -linktitle: Gestión de la colección de calendarios en Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Aprenda a administrar colecciones de calendarios en Aspose.Tasks para .NET de manera eficiente. Cree, modifique y manipule calendarios con facilidad. -weight: 11 +date: 2026-04-13 +description: Aprenda a establecer horas de trabajo y gestionar colecciones de calendarios + en Aspose.Tasks para .NET. Importe calendarios de Microsoft Project, elimine el + calendario del proyecto y obtenga el calendario por nombre fácilmente. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Administrar la colección de calendarios en Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Establecer horas de trabajo en la colección de calendarios de Aspose.Tasks url: /es/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Gestión de la colección de calendarios en Aspose.Tasks +# Establecer horas de trabajo en la colección de calendarios de Aspose.Tasks -## Introducción +En este tutorial, aprenderá cómo **establecer horas de trabajo** y gestionar colecciones de calendarios usando Aspose.Tasks para .NET. Los calendarios definen días laborables, festivos y excepciones, por lo que dominarlos le permite controlar los cronogramas del proyecto con precisión. También le mostraremos cómo importar calendarios de Microsoft Project, eliminar un calendario de un proyecto y obtener un calendario por nombre. -En este tutorial, exploraremos cómo administrar colecciones de calendario en Aspose.Tasks para .NET. Los calendarios juegan un papel crucial en la gestión de proyectos, definiendo días laborables, festivos y excepciones. Aspose.Tasks proporciona una funcionalidad sólida para manipular calendarios dentro de sus proyectos. +## Respuestas rápidas +- **¿Cuál es la clase principal para los calendarios?** `Project.Calendars` collection. +- **¿Cómo establezco las horas de trabajo?** Crear o modificar un objeto `Calendar` y definir su `WorkingTime`. +- **¿Puedo importar calendarios de Microsoft Project?** Sí – cargue un archivo MPP y acceda a sus calendarios. +- **¿Cómo eliminar un calendario de un proyecto?** Use `Project.Calendars.Remove(calendar)`. +- **¿Cómo obtener un calendario por nombre?** Call `Project.Calendars.GetByName("YourCalendar")`. ## Requisitos previos Antes de comenzar, asegúrese de tener lo siguiente: -1. Visual Studio: instale Visual Studio o cualquier otro IDE compatible para el desarrollo .NET. -2. Aspose.Tasks para .NET: Descargue e instale Aspose.Tasks para .NET desde[aquí](https://releases.aspose.com/tasks/net/). -3. Comprensión básica de C#: será beneficiosa la familiaridad con el lenguaje de programación C#. +1. Visual Studio: Instale Visual Studio o cualquier otro IDE compatible para desarrollo .NET. +2. Aspose.Tasks for .NET: Descargue e instale Aspose.Tasks for .NET desde [here](https://releases.aspose.com/tasks/net/). +3. Basic understanding of C#: Familiaridad con el lenguaje de programación C# será beneficiosa. ## Importar espacios de nombres @@ -35,24 +48,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## Creando un nuevo calendario +## Crear un nuevo calendario -### Paso 1: Inicializar un nuevo`Project` object. +### Paso 1: Inicializar un nuevo objeto `Project`. ```csharp var project = new Project(); ``` -### Paso 2: agregue calendarios a la colección de calendarios del proyecto. +### Paso 2: Añadir calendarios a la colección de calendarios del proyecto. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Paso 3: recorra los calendarios y muestre sus nombres. +### Paso 3: Recorrer los calendarios y mostrar sus nombres. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Reemplazo de un calendario por un calendario nuevo +## ¿Cómo establecer horas de trabajo para un calendario? + +Para **establecer horas de trabajo**, modifica la colección `WorkingTime` de un `Calendar`. +Por ejemplo, puedes definir una jornada estándar de 9 a.m.‑5 p.m. o agregar excepciones personalizadas. +El código para esto es idéntico a los ejemplos mostrados más adelante cuando creamos un calendario estándar. -### Paso 1: cargue un proyecto existente. +## Reemplazar un calendario con un nuevo calendario + +### Paso 1: Cargar un proyecto existente. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Paso 2: eliminar el calendario existente (si existe). +### Paso 2: Eliminar el calendario existente (si existe). +Esto demuestra el escenario de **eliminar calendario del proyecto**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,7 +95,7 @@ if (calendar != null) } ``` -### Paso 3: agrega un nuevo calendario. +### Paso 3: Añadir un nuevo calendario. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); @@ -84,37 +103,38 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M ## Obtener calendario por nombre o ID -### Paso 1: carga el proyecto. +### Paso 1: Cargar el proyecto. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Paso 2: recuperar calendarios por nombre o UID. +### Paso 2: Recuperar calendarios por nombre o UID. +Esto ilustra la operación de **obtener calendario por nombre**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### Paso 3: muestra los detalles del calendario. +### Paso 3: Mostrar detalles del calendario. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Iterando sobre calendarios +## Recorrer calendarios -### Paso 1: carga el proyecto. +### Paso 1: Cargar el proyecto. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Paso 2: recuperar el recuento de calendarios. +### Paso 2: Obtener el recuento de calendarios. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Paso 3: iterar sobre la colección del calendario y los nombres para mostrar. +### Paso 3: Recorrer la colección de calendarios y mostrar los nombres. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +143,78 @@ foreach (var calendar in calendars) } ``` -## Hacer un calendario estándar +## Crear un calendario estándar -### Paso 1: Inicialice un nuevo proyecto. +### Paso 1: Inicializar un nuevo proyecto. ```csharp var project = new Project(); ``` -### Paso 2: Defina un nuevo calendario y conviértalo en estándar. +### Paso 2: Definir un nuevo calendario y hacerlo estándar. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### Paso 3: guarda el proyecto. +### Paso 3: Guardar el proyecto. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Conclusión +## Problemas comunes y soluciones -Administrar colecciones de calendarios en Aspose.Tasks para .NET es esencial para una gestión eficaz de proyectos. Con las funcionalidades proporcionadas, puede crear, modificar y manipular calendarios de manera eficiente según los requisitos de su proyecto. +- **Calendario no encontrado al usar `GetByName`** – Asegúrese de que el nombre exacto coincida con mayúsculas/minúsculas usadas al agregar el calendario. +- **Horas de trabajo no aplicadas** – Después de establecer `WorkingTime`, recuerde guardar el proyecto; de lo contrario los cambios permanecen solo en memoria. +- **Falla al importar calendarios de un archivo MPP** – Verifique que el archivo de origen sea un archivo válido de Microsoft Project y que tenga permisos de lectura. ## Preguntas frecuentes -### P1: ¿Puedo crear días laborales personalizados en Aspose.Tasks? +### P1: ¿Puedo crear días laborables personalizados en Aspose.Tasks? -R1: Sí, puedes crear días laborales personalizados agregando excepciones a los calendarios. +R1: Sí, puede crear días laborables personalizados añadiendo excepciones a los calendarios. -### P2: ¿Es posible importar calendarios desde archivos de Microsoft Project? +### P2: ¿Es posible importar calendarios de archivos de Microsoft Project? -R2: Por supuesto, Aspose.Tasks admite la importación de calendarios desde archivos de Microsoft Project. +R2: Absolutamente, Aspose.Tasks admite la importación de calendarios desde archivos de Microsoft Project. ### P3: ¿Cómo puedo eliminar un calendario específico de un proyecto? - R3: Puede eliminar un calendario al obtenerlo de la colección y luego llamar al`Remove` método. +R3: Puede eliminar un calendario obteniéndolo de la colección y luego llamando al método `Remove`. ### P4: ¿Aspose.Tasks admite la exportación de calendarios a diferentes formatos? R4: Sí, Aspose.Tasks permite exportar calendarios a varios formatos como XML, MPP, etc. -### P5: ¿Puedo personalizar el horario laboral para días específicos en un calendario? +### P5: ¿Puedo personalizar las horas de trabajo para días específicos en un calendario? + +R5: Por supuesto, puede definir horas de trabajo para días individuales usando excepciones en el calendario. + +## Preguntas frecuentes + +**P: ¿Cuál es la mejor manera de establecer un calendario de turno de 24 horas?** +R: Cree un nuevo calendario, elimine las entradas `WorkingTime` existentes y añada un único rango `WorkingTime` de 00:00 a 24:00 para cada día laborable. + +**P: ¿Puedo copiar un calendario de un proyecto a otro?** +R: Sí—exporte el calendario a XML usando `project.Save` y luego impórtelo en otro proyecto con `new Project(xmlPath)`. + +**P: ¿Cómo importo programáticamente calendarios de Microsoft Project?** +R: Cargue el archivo MPP con `new Project("source.mpp")`; los calendarios estarán disponibles a través de `project.Calendars`. + +**P: ¿Existe un límite en la cantidad de calendarios en un proyecto?** +R: Prácticamente no; la colección puede contener tantos calendarios como la memoria lo permita, pero mantenga la lista manejable para el rendimiento. + +**P: ¿Los cambios en un calendario actualizan automáticamente las tareas que lo usan?** +R: Sí—las tareas vinculadas a un calendario reflejan los horarios de trabajo actualizados después de guardar el proyecto. + +--- + +**Última actualización:** 2026-04-13 +**Probado con:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose -R5: Ciertamente, puedes definir horas de trabajo para días individuales usando excepciones en el calendario. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/spanish/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/spanish/net/calendar-scheduling/calendar-exceptions/_index.md index c8ea37fce..05e922e5d 100644 --- a/tasks/spanish/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/spanish/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,64 @@ --- -title: Manejo de excepciones de calendario en Aspose.Tasks -linktitle: Manejo de excepciones de calendario en Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Aprenda a administrar excepciones de calendario en Aspose.Tasks para .NET con tutoriales y ejemplos paso a paso. -weight: 12 +date: 2026-04-13 +description: Aprenda cómo eliminar una excepción de calendario en Aspose.Tasks para + .NET y verifique la fecha de la excepción al gestionar la programación del calendario + en ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Eliminar excepción de calendario con Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Eliminar excepción del calendario con Aspose.Tasks url: /es/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Manejo de excepciones de calendario en Aspose.Tasks +# Eliminar excepción de calendario con Aspose.Tasks ## Introducción -En este tutorial, exploraremos cómo administrar excepciones de calendario en Aspose.Tasks usando el marco .NET. Las excepciones de calendario nos permiten definir fechas o períodos especiales en el calendario de un proyecto donde se altera el horario de trabajo habitual, como días festivos o cierres temporales. Cubriremos varios métodos para manejar excepciones de calendario paso a paso, usando Aspose.Tasks para .NET. +En este tutorial, aprenderás cómo **eliminar una excepción de calendario** y gestionar otras excepciones de calendario en Aspose.Tasks usando el framework .NET. Las excepciones de calendario te permiten modelar festivos, cierres temporales o cualquier período especial donde el horario de trabajo normal cambia. Entender cómo agregar, consultar y eliminar estas excepciones es esencial para una programación de proyectos precisa, especialmente al trabajar con escenarios de **programación de calendarios ASP.NET**. + +## Respuestas rápidas +- **¿Cuál es el método principal para eliminar una excepción?** Usa el método `Delete()` en el objeto `CalendarException`. +- **¿Qué clase verifica una fecha contra una excepción?** `CalendarException.CheckException()`—útil para **comprobar la fecha de excepción**. +- **¿Necesito una licencia para ejecutar el código?** Sí, se requiere una licencia válida de Aspose.Tasks para uso en producción. +- **¿Puedo agregar múltiples excepciones a un calendario?** Absolutamente; la colección `Exceptions` admite muchas entradas. +- **¿Versiones .NET compatibles?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Qué es una excepción de calendario? + +Una **excepción de calendario** representa una desviación del calendario de trabajo regular—piénsalo como una regla que dice “en estas fechas, las horas de trabajo son diferentes o no hay trabajo”. En Aspose.Tasks, cada excepción puede tener sus propios horarios de trabajo, patrón de recurrencia y banderas que indican si el día es laborable. + +## ¿Por qué gestionar excepciones de calendario en la programación de calendarios ASP.NET? + +- **Cronogramas precisos:** Los proyectos respetan automáticamente festivos y cierres especiales, evitando plazos poco realistas. +- **Flexibilidad:** Puedes definir patrones diarios, semanales, mensuales o anuales, adaptándolos a calendarios empresariales del mundo real. +- **Automatización:** Comprobar programáticamente una fecha de excepción te permite crear lógica de programación dinámica en aplicaciones ASP.NET. ## Requisitos previos -Antes de comenzar, asegúrese de tener los siguientes requisitos previos: -- Conocimientos básicos del lenguaje de programación C#. -- Visual Studio instalado en su sistema. -- Biblioteca Aspose.Tasks para .NET agregada a su proyecto. +- Conocimientos básicos de programación en C#. +- Visual Studio (cualquier versión reciente). +- Biblioteca Aspose.Tasks para .NET añadida a tu proyecto (via NuGet o referencia manual). ## Importar espacios de nombres -En primer lugar, importemos los espacios de nombres necesarios para nuestro proyecto: +Primero, importa los espacios de nombres que necesitarás: ```csharp using Aspose.Tasks; using System; - - ``` -## Paso 1: eliminar una excepción del calendario +## Paso 1: Eliminar excepción de calendario -Para eliminar una excepción de calendario, siga estos pasos: +Eliminar una excepción no deseada es sencillo. El siguiente código carga un proyecto, selecciona el primer calendario, muestra información básica, elimina la primera excepción y luego muestra el recuento actualizado. ```csharp public void CalendarExceptionDelete() @@ -45,20 +66,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Mostrar información del calendario + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Eliminar la primera excepción + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Paso 2: Obtener el tiempo de trabajo de una excepción de calendario +> **Consejo profesional:** Siempre verifica que el índice de la excepción exista antes de llamar a `Delete()` para evitar `IndexOutOfRangeException`. + +## Paso 2: Obtener tiempo de trabajo de una excepción de calendario -Para recuperar el tiempo de trabajo de una excepción de calendario, siga estos pasos: +Si necesitas inspeccionar las horas de trabajo definidas para una excepción, usa `GetWorkingTime()`. Este ejemplo también muestra cómo **comprobar la fecha de excepción** con `CheckException`. ```csharp [Test] @@ -68,12 +91,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Mostrar calendario e información de excepciones + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Obtener tiempo de trabajo y mostrar detalles + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -87,7 +110,7 @@ public void CalendarExceptionGetWorkingTime() ## Paso 3: Definir excepciones de calendario -Para agregar o eliminar excepciones de calendario, siga estos pasos: +A continuación se muestra un recorrido completo que demuestra cómo **agregar**, **comprobar** y **eliminar** excepciones de calendario. Observa el uso de `CheckException` para **comprobar la fecha de excepción** en un momento específico. ```csharp [Test] @@ -96,10 +119,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Crear una nueva excepción de calendario + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Establecer detalles de excepción + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +130,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Comprobar si una fecha es una excepción + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Agregar la excepción al calendario + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Eliminar una excepción si existe + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +144,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Agregar una nueva excepción + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Imprimir excepciones + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +160,44 @@ public void DefineCalendarExceptions() } ``` -## Conclusión +## Problemas comunes y consejos -En este artículo, cubrimos varios aspectos del manejo de excepciones de calendario en Aspose.Tasks para .NET. Si sigue los pasos proporcionados, puede gestionar eficazmente las excepciones en los cronogramas de su proyecto, garantizando una representación precisa de las horas de trabajo y eventos especiales. +| Problema | Razón | Solución | +|----------|-------|----------| +| **`IndexOutOfRangeException` al eliminar** | Intentar eliminar una excepción que no existe. | Verifica que `calendar.Exceptions.Count` > índice antes de llamar a `Delete()`. | +| **Tiempos de trabajo incorrectos** | No se establecen `DayWorking` o `WorkingTimes` correctamente. | Usa `exception.WorkingTimes.Add(new WorkingTime(...))` para definir períodos explícitos. | +| **Excepción no reconocida** | `CheckException` devuelve `false` porque la fecha está fuera del rango definido. | Revisa `FromDate`/`ToDate` y el `Type` (Daily, Weekly, etc.). | ## Preguntas frecuentes -### P1: ¿Puedo agregar varias excepciones a un solo calendario? +**P: ¿Puedo agregar múltiples excepciones a un solo calendario?** +R: Sí, puedes agregar tantas excepciones como necesites para representar festivos, ventanas de mantenimiento o cualquier regla de programación especial. -R1: Sí, puedes agregar múltiples excepciones a un calendario para acomodar varias fechas o períodos especiales. +**P: ¿Cómo puedo **comprobar la fecha de excepción** para un día específico?** +R: Usa el método `CheckException(DateTime date)` en una instancia de `CalendarException`. Devuelve `true` si la fecha suministrada cae dentro del rango de la excepción. -### P2: ¿Cómo puedo comprobar si una fecha específica es una excepción? +**P: ¿Es posible eliminar una excepción existente de un calendario?** +R: Absolutamente. Accede a la colección `Exceptions` y llama a `Remove()` o invoca `Delete()` en el objeto `CalendarException` específico. - A2: Puedes usar el`CheckException()` método para verificar si una fecha particular cae bajo una excepción. +**P: ¿Qué tipos de excepciones de calendario son compatibles?** +R: Aspose.Tasks admite tipos de excepción Diaria, Semanal, Mensual y Anual, dándote flexibilidad para modelar casi cualquier patrón de recurrencia. -### P3: ¿Es posible eliminar una excepción existente de un calendario? +**P: ¿Puedo personalizar las horas de trabajo para fechas de excepción específicas?** +R: Sí. Después de crear una excepción, rellena su colección `WorkingTimes` con objetos `WorkingTime` que definan las horas de inicio y fin para ese día. - R3: Sí, puede eliminar excepciones accediendo al`Exceptions` recopilación del calendario y uso del`Remove()` método. +## Conclusión -### P4: ¿Qué tipos de excepciones de calendario se admiten? +Hemos recorrido todo el ciclo de vida de las operaciones de **eliminar excepción de calendario**, desde inspeccionar excepciones existentes hasta agregar nuevas y comprobar fechas. Dominar estas técnicas garantiza que los cronogramas de tus proyectos respeten calendarios del mundo real, haciendo que tus implementaciones de programación de calendarios ASP.NET sean robustas y fiables. -R4: Aspose.Tasks admite varios tipos de excepciones, incluidas excepciones diarias, semanales, mensuales y anuales, lo que brinda flexibilidad para definir reglas de excepción. +--- -### P5: ¿Puedo personalizar el horario laboral para fechas de excepción específicas? +**Última actualización:** 2026-04-13 +**Probado con:** Aspose.Tasks for .NET (última versión) +**Autor:** Aspose -R5: Sí, puede definir horarios de trabajo personalizados para fechas de excepción individuales utilizando los métodos apropiados proporcionados por Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/spanish/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/spanish/net/calendar-scheduling/child-tasks-collector/_index.md index ae67092f6..24caaaced 100644 --- a/tasks/spanish/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/spanish/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Recopilar tareas secundarias en Aspose.Tasks -linktitle: Recopilar tareas secundarias en Aspose.Tasks -second_title: API Aspose.Tasks .NET -description: Aprenda a recopilar tareas secundarias de manera eficiente utilizando Aspose.Tasks para .NET. Mejore la gestión de proyectos en sus aplicaciones .NET. -weight: 15 +date: 2026-04-13 +description: Aprende a crear un recopilador de tareas secundarias usando Aspose.Tasks + para .NET. Mejora la gestión de proyectos en tus aplicaciones .NET. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Crear recopilador de tareas hijas en Aspose.Tasks +second_title: Aspose.Tasks .NET API +title: Cómo crear un recolector de tareas hijas en Aspose.Tasks url: /es/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Recopilar tareas secundarias en Aspose.Tasks +# Crear recopilador de tareas secundarias en Aspose.Tasks ## Introducción -En el ámbito de la gestión de proyectos, Aspose.Tasks para .NET se destaca como una solución sólida para manejar tareas y proyectos de manera eficiente. Esta poderosa biblioteca proporciona a los desarrolladores las herramientas que necesitan para administrar tareas, proyectos y todo lo demás sin problemas. En este tutorial, profundizaremos en un aspecto específico de Aspose.Tasks: recopilar tareas secundarias. +Si necesita **crear child tasks collector** para un archivo Microsoft Project, Aspose.Tasks for .NET lo hace sencillo. En este tutorial recorreremos los pasos exactos necesarios para recopilar cada tarea secundaria bajo un padre, de modo que pueda procesarlas, analizarlas o exportarlas con confianza. Al final de la guía tendrá un fragmento reutilizable que encaja de forma natural en cualquier solución de gestión de proyectos basada en .NET. -## Requisitos previos +## Respuestas rápidas +- **¿Qué hace el ChildTasksCollector?** Recorre una jerarquía de tareas y recopila todas las tareas descendientes en una colección. +- **¿Qué biblioteca proporciona esta función?** Aspose.Tasks for .NET. +- **¿Necesito una licencia para ejecutar el ejemplo?** Una prueba gratuita funciona para evaluación; se requiere una licencia para producción. +- **¿Qué versiones de .NET son compatibles?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **¿Cuánto tiempo lleva la implementación?** Aproximadamente 5‑10 minutos una vez que la biblioteca está instalada. + +## ¿Qué es un Child Tasks Collector? + +Un **child tasks collector** es un objeto de utilidad que recorre el árbol de tareas de un archivo Project, comenzando desde una tarea raíz especificada, y agrega cada tarea secundaria (sub‑tarea) que encuentra. Esto es especialmente útil cuando desea aplicar operaciones en bloque —como actualizar campos, exportar datos o generar informes— sin iterar manualmente sobre cada nivel de la jerarquía. + +## ¿Por qué crear un child tasks collector? -Antes de comenzar, asegúrese de contar con los siguientes requisitos previos: +- **Simplificar la recursión:** El collector maneja internamente el recorrido en profundidad, por lo que evita escribir sus propios bucles recursivos. +- **Aumentar la productividad:** Recupera todas las tareas descendientes en una sola colección, lo que hace triviales las ediciones o análisis en bloque. +- **Mantener código limpio:** Mantiene su lógica de negocio separada de la navegación de bajo nivel de la estructura del proyecto. -1. Comprensión básica de C#: la familiaridad con el lenguaje de programación C# es esencial. -2. Instalación de Aspose.Tasks para .NET: Descargue e instale la biblioteca Aspose.Tasks para .NET desde[enlace de descarga](https://releases.aspose.com/tasks/net/). -3. Entorno de desarrollo: configure un entorno de desarrollo, como Visual Studio, para escribir y ejecutar código C#. -4. Acceso a la Documentación: Conservar la[Aspose.Tasks para la documentación de .NET](https://reference.aspose.com/tasks/net/) útil como referencia. +## Requisitos previos + +1. **Comprensión básica de C#** – debe sentirse cómodo escribiendo y ejecutando aplicaciones de consola simples. +2. **Aspose.Tasks for .NET instalado** – descárguelo desde el [download link](https://releases.aspose.com/tasks/net/). +3. **Un entorno de desarrollo** – Visual Studio, Rider o cualquier IDE que soporte C#. +4. **Acceso a la documentación oficial** – mantenga cerca la [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) para referencia. -Ahora que tenemos cubiertos los requisitos previos, profundicemos en la guía paso a paso para recopilar tareas secundarias utilizando Aspose.Tasks para .NET. +Ahora que los cimientos están listos, sumérjase en el código. ## Importar espacios de nombres -En primer lugar, importe los espacios de nombres necesarios en su código C# para acceder a la funcionalidad proporcionada por Aspose.Tasks para .NET. +Primero, incluya los espacios de nombres requeridos en el alcance para que el compilador sepa dónde encontrar las clases que usaremos. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Ahora, dividamos el ejemplo proporcionado en varios pasos para comprender el proceso a fondo. +## Guía paso a paso -## Paso 1: inicializar el objeto del proyecto +### Paso 1: Inicializar el objeto Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Esta línea de código inicializa un nuevo`Project` objeto, cargando un archivo de proyecto llamado "ParentChildTasks.mpp" desde el directorio especificado. +Esta línea carga un archivo Microsoft Project existente (`ParentChildTasks.mpp`) desde la carpeta `DataDir` en un objeto `Project`, dándonos acceso programático a sus tareas. -## Paso 2: crear el objeto ChildTasksCollector +### Paso 2: Crear la instancia de ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Aquí creamos un nuevo`ChildTasksCollector` objeto, que nos ayudará a recopilar tareas secundarias del proyecto. +Aquí **creamos child tasks collector** – una instancia de `ChildTasksCollector` que almacenará cada tarea secundaria que descubra. -## Paso 3: aplicar el recopilador a la tarea raíz +### Paso 3: Aplicar el collector a la tarea raíz ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Aplicamos el`ChildTasksCollector` a la tarea raíz del proyecto, iniciando el proceso de recolección de forma recursiva. +Indicamos a Aspose.Tasks que inicie la recopilación en la tarea raíz del proyecto. El método `Apply` recorre la jerarquía de forma recursiva, rellenando `collector.Tasks` con todas las tareas descendientes. -## Paso 4: iterar a través de las tareas recopiladas +### Paso 4: Iterar a través de las tareas recopiladas ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -Finalmente, recorremos las tareas recopiladas e imprimimos sus nombres en la consola. +Finalmente, iteramos sobre las tareas recopiladas e imprimimos el nombre de cada tarea en la consola. En un escenario real podría reemplazar `Console.WriteLine` con cualquier procesamiento personalizado que necesite (p. ej., exportar a CSV, actualizar campos, etc.). -## Conclusión +## Problemas comunes y soluciones -En este tutorial, exploramos cómo recopilar tareas secundarias usando Aspose.Tasks para .NET. Si sigue los pasos descritos anteriormente, podrá gestionar y manipular eficientemente las tareas dentro de sus proyectos, mejorando la productividad y la organización. +| Problema | Razón | Solución | +|----------|-------|----------| +| **No se devuelven tareas** | El collector se aplicó a la tarea incorrecta (p. ej., un nodo hoja). | Aplique `TaskUtils.Apply` a `project.RootTask` o al padre específico desde el que desea iniciar. | +| **NullReferenceException** | `DataDir` o la ruta del archivo es incorrecta. | Verifique que `DataDir` apunte a la carpeta que contiene `ParentChildTasks.mpp`. | +| **License not set** | Aspose.Tasks lanza una advertencia de licencia en modo de prueba. | Cargue su licencia con `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` antes de crear el objeto `Project`. | ## Preguntas frecuentes -### P1: ¿Aspose.Tasks para .NET es compatible con todas las versiones de .NET? +**P: ¿Es Aspose.Tasks for .NET compatible con todas las versiones de .NET?** +R: Sí, Aspose.Tasks for .NET funciona con .NET Framework 4.5+, .NET Core 3.1+ y .NET 5/6+. -R1: Sí, Aspose.Tasks para .NET es compatible con varias versiones de .NET framework, lo que garantiza una amplia compatibilidad. +**P: ¿Puedo usar Aspose.Tasks for .NET para crear nuevos archivos de proyecto?** +R: ¡Absolutamente! La biblioteca le permite crear, leer y manipular archivos de proyecto programáticamente. -### P2: ¿Puedo usar Aspose.Tasks para .NET para crear nuevos archivos de proyecto? +**P: ¿Aspose.Tasks for .NET admite múltiples plataformas?** +R: Aunque está diseñada para .NET, puede ejecutarse en cualquier plataforma que soporte el runtime de .NET, incluyendo Windows, Linux y macOS. -R2: ¡Absolutamente! Aspose.Tasks para .NET proporciona funcionalidad para crear, leer y manipular archivos de proyecto sin esfuerzo. +**P: ¿Hay soporte técnico disponible para Aspose.Tasks for .NET?** +R: Sí, puede obtener ayuda a través del [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -### P3: ¿Aspose.Tasks para .NET admite múltiples plataformas? +**P: ¿Puedo probar Aspose.Tasks for .NET antes de comprar?** +R: ¡Claro! Hay una prueba gratuita disponible en la [release page](https://releases.aspose.com/). -R3: Si bien está diseñado principalmente para entornos .NET, Aspose.Tasks para .NET se puede utilizar en varias plataformas que admitan el desarrollo .NET. - -### P4: ¿Hay soporte técnico disponible para Aspose.Tasks para .NET? - -R4: Sí, los usuarios pueden acceder a soporte técnico a través del[Foro Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### P5: ¿Puedo probar Aspose.Tasks para .NET antes de comprarlo? +**Última actualización:** 2026-04-13 +**Probado con:** Aspose.Tasks 24.11 for .NET +**Autor:** Aspose - R5: ¡Por supuesto! Puede aprovechar una prueba gratuita desde el[página de lanzamiento](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/swedish/net/calendar-scheduling/calendar-collection/_index.md b/tasks/swedish/net/calendar-scheduling/calendar-collection/_index.md index cbe11ea21..c2d04d7f3 100644 --- a/tasks/swedish/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/swedish/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Hantera kalenderinsamling i Aspose.Tasks -linktitle: Hantera kalenderinsamling i Aspose.Tasks +date: 2026-04-13 +description: Lär dig hur du ställer in arbetstimmar och hanterar kalenderkollektioner + i Aspose.Tasks för .NET. Importera kalendrar från Microsoft Project, ta bort kalenderprojekt + och hämta kalender efter namn enkelt. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Hantera kalendersamling i Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Lär dig hur du hanterar kalendersamlingar i Aspose.Tasks för .NET effektivt. Skapa, ändra och manipulera kalendrar med lätthet. -weight: 11 +title: Ställ in arbetstimmar i Aspose.Tasks kalenderkollektion url: /sv/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Hantera kalenderinsamling i Aspose.Tasks +# Ställ in arbetstimmar i Aspose.Tasks kalenderkollektion -## Introduktion +I den här handledningen kommer du att lära dig hur du **ställer in arbetstimmar** och hanterar kalenderkollektioner med Aspose.Tasks för .NET. Kalendrar definierar arbetsdagar, helgdagar och undantag, så att behärska dem låter dig kontrollera projektscheman exakt. Vi kommer också att visa hur du importerar kalendrar från Microsoft Project, tar bort en kalender från ett projekt och hämtar en kalender efter namn. -I den här handledningen kommer vi att utforska hur man hanterar kalendersamlingar i Aspose.Tasks för .NET. Kalendrar spelar en avgörande roll i projektledning och definierar arbetsdagar, helgdagar och undantag. Aspose.Tasks ger robust funktionalitet för att manipulera kalendrar i dina projekt. +## Snabba svar +- **Vad är den primära klassen för kalendrar?** `Project.Calendars` collection. +- **Hur ställer jag in arbetstimmar?** Skapa eller modifiera ett `Calendar`-objekt och definiera dess `WorkingTime`. +- **Kan jag importera kalendrar från Microsoft Project?** Ja – ladda en MPP-fil och få åtkomst till dess kalendrar. +- **Hur tar man bort en kalender från ett projekt?** Använd `Project.Calendars.Remove(calendar)`. +- **Hur hämtar man en kalender efter namn?** Anropa `Project.Calendars.GetByName("YourCalendar")`. ## Förutsättningar Innan vi börjar, se till att du har följande: -1. Visual Studio: Installera Visual Studio eller någon annan kompatibel IDE för .NET-utveckling. -2. Aspose.Tasks for .NET: Ladda ner och installera Aspose.Tasks for .NET från[här](https://releases.aspose.com/tasks/net/). +1. Visual Studio: Installera Visual Studio eller någon annan kompatibel IDE för .NET-utveckling. +2. Aspose.Tasks för .NET: Ladda ner och installera Aspose.Tasks för .NET från [här](https://releases.aspose.com/tasks/net/). 3. Grundläggande förståelse för C#: Bekantskap med programmeringsspråket C# kommer att vara fördelaktigt. -## Importera namnområden +## Importera namnrymder -Låt oss först importera de nödvändiga namnrymden för att arbeta med Aspose.Tasks: +Först, låt oss importera de nödvändiga namnrymderna för att arbeta med Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,24 +48,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## Skapa en ny kalender -### Steg 1: Initiera en ny`Project` object. +### Steg 1: Initiera ett nytt `Project`-objekt. ```csharp var project = new Project(); ``` -### Steg 2: Lägg till kalendrar till projektets kalendersamling. +### Steg 2: Lägg till kalendrar i projektets kalenderkollektion. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Steg 3: Gå igenom kalendrarna och visa deras namn. +### Steg 3: Iterera genom kalendrarna och visa deras namn. ```csharp foreach (var calendar in project.Calendars) { @@ -60,6 +72,12 @@ foreach (var calendar in project.Calendars) } ``` +## Hur man ställer in arbetstimmar för en kalender? + +För att **ställa in arbetstimmar**, modifierar du `WorkingTime`-samlingen i ett `Calendar`. +Till exempel kan du definiera en standardarbetsdag 9 – 17 eller lägga till anpassade undantag. +Koden för detta är identisk med exemplen som visas senare när vi skapar en standardkalender. + ## Ersätta en kalender med en ny kalender ### Steg 1: Ladda ett befintligt projekt. @@ -67,7 +85,8 @@ foreach (var calendar in project.Calendars) var project = new Project(DataDir + "Project5.mpp"); ``` -### Steg 2: Ta bort den befintliga kalendern (om den finns). +### Steg 2: Ta bort den befintliga kalendern (om den finns). +Detta demonstrerar scenariot **remove calendar project**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -89,7 +108,8 @@ project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.M var project = new Project(DataDir + "Project5.mpp"); ``` -### Steg 2: Hämta kalendrar efter namn eller UID. +### Steg 2: Hämta kalendrar efter namn eller UID. +Detta illustrerar operationen **get calendar by name**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,7 +122,7 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Itererar över kalendrar +## Iterera över kalendrar ### Steg 1: Ladda projektet. ```csharp @@ -114,7 +134,7 @@ var project = new Project(DataDir + "Project5.mpp"); Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Steg 3: Iterera över kalendersamlingen och visningsnamnen. +### Steg 3: Iterera över kalenderkollektionen och visa namn. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -141,34 +161,55 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Slutsats +## Vanliga problem och lösningar -Hantera kalendersamlingar i Aspose.Tasks för .NET är avgörande för effektiv projektledning. Med de tillhandahållna funktionerna kan du effektivt skapa, ändra och manipulera kalendrar enligt dina projektkrav. +- **Kalender hittades inte när `GetByName` används** – Se till att det exakta namnet matchar skiftläget som användes när kalendern lades till. +- **Arbetstimmar tillämpas inte** – Efter att ha ställt in `WorkingTime`, kom ihåg att spara projektet; annars förblir ändringarna bara i minnet. +- **Import av kalendrar från en MPP-fil misslyckas** – Verifiera att källfilen är en giltig Microsoft Project-fil och att du har läsbehörighet. -## FAQ's +## Vanliga frågor -### F1: Kan jag skapa anpassade arbetsdagar i Aspose.Tasks? +### Q1: Kan jag skapa anpassade arbetsdagar i Aspose.Tasks? +A1: Ja, du kan skapa anpassade arbetsdagar genom att lägga till undantag i kalendrar. -S1: Ja, du kan skapa anpassade arbetsdagar genom att lägga till undantag i kalendrar. +### Q2: Är det möjligt att importera kalendrar från Microsoft Project-filer? +A2: Absolut, Aspose.Tasks stödjer import av kalendrar från Microsoft Project-filer. -### F2: Är det möjligt att importera kalendrar från Microsoft Project-filer? +### Q3: Hur kan jag ta bort en specifik kalender från ett projekt? +A3: Du kan ta bort en kalender genom att hämta den från samlingen och sedan anropa `Remove`-metoden. -S2: Absolut, Aspose.Tasks stöder import av kalendrar från Microsoft Project-filer. +### Q4: Stöder Aspose.Tasks export av kalendrar till olika format? +A4: Ja, Aspose.Tasks möjliggör export av kalendrar till olika format som XML, MPP osv. -### F3: Hur kan jag ta bort en specifik kalender från ett projekt? +### Q5: Kan jag anpassa arbetstimmar för specifika dagar i en kalender? +A5: Självklart, du kan definiera arbetstimmar för enskilda dagar genom att använda undantag i kalendern. - S3: Du kan ta bort en kalender genom att hämta den från samlingen och sedan ringa till`Remove` metod. +## Vanliga frågor -### F4: Stöder Aspose.Tasks export av kalendrar till olika format? +**Q: Vad är det bästa sättet att ställa in en 24‑timmars skiftkalender?** +A: Skapa en ny kalender, rensa befintliga `WorkingTime`-poster och lägg till ett enda `WorkingTime`-intervall från 00:00 till 24:00 för varje veckodag. -S4: Ja, Aspose.Tasks tillåter export av kalendrar till olika format som XML, MPP, etc. +**Q: Kan jag kopiera en kalender från ett projekt till ett annat?** +A: Ja—exportera kalendern till XML med `project.Save` och importera den sedan till ett annat projekt med `new Project(xmlPath)`. + +**Q: Hur importerar jag programmässigt kalendrar från Microsoft Project?** +A: Ladda MPP-filen med `new Project("source.mpp")`; kalendrarna blir tillgängliga via `project.Calendars`. + +**Q: Finns det någon gräns för antalet kalendrar i ett projekt?** +A: Praktiskt taget ingen; samlingen kan hålla så många kalendrar som minnet tillåter, men håll listan hanterbar för prestanda. + +**Q: Uppdateras uppgifter som använder en kalender automatiskt när kalendern ändras?** +A: Ja—uppgifter som är länkade till en kalender återspeglar de uppdaterade arbetstiderna efter att du har sparat projektet. + +--- -### F5: Kan jag anpassa arbetstiderna för specifika dagar i en kalender? +**Senast uppdaterad:** 2026-04-13 +**Testad med:** Aspose.Tasks 24.11 for .NET +**Författare:** Aspose -S5: Visst, du kan definiera arbetstider för enskilda dagar med hjälp av undantag i kalendern. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/swedish/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/swedish/net/calendar-scheduling/calendar-exceptions/_index.md index 8dbb490b8..7fd693594 100644 --- a/tasks/swedish/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/swedish/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Hantera kalenderundantag i Aspose.Tasks -linktitle: Hantera kalenderundantag i Aspose.Tasks +date: 2026-04-13 +description: Lär dig hur du tar bort ett kalenderundantag i Aspose.Tasks för .NET + och kontrollerar undantagsdatum när du hanterar ASP.NET‑kalenderplanering. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Ta bort kalenderexception med Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Lär dig hur du hanterar kalenderundantag i Aspose.Tasks för .NET med steg-för-steg handledning och exempel. -weight: 12 +title: Ta bort kalenderexception med Aspose.Tasks url: /sv/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Hantera kalenderundantag i Aspose.Tasks +# Ta bort kalenderundantag med Aspose.Tasks ## Introduktion -I den här handledningen kommer vi att utforska hur man hanterar kalenderundantag i Aspose.Tasks med .NET-ramverket. Kalenderundantag tillåter oss att definiera speciella datum eller perioder i en projektkalender där det vanliga arbetsschemat ändras, såsom helgdagar eller tillfälliga stängningar. Vi kommer att täcka olika metoder för att hantera kalenderundantag steg för steg, med Aspose.Tasks för .NET. +I den här handledningen kommer du att lära dig hur du **tar bort kalenderundantag** och hanterar andra kalenderundantag i Aspose.Tasks med .NET-ramverket. Kalenderundantag låter dig modellera helgdagar, tillfälliga stängningar eller andra speciella perioder där det normala arbetsschemat förändras. Att förstå hur man lägger till, frågar och tar bort dessa undantag är avgörande för korrekt projektschemaläggning, särskilt när du arbetar med **ASP.NET kalenderplanering** scenarier. + +## Snabba svar +- **Vad är den primära metoden för att ta bort ett undantag?** Använd `Delete()`-metoden på `CalendarException`-objektet. +- **Vilken klass kontrollerar ett datum mot ett undantag?** `CalendarException.CheckException()` — användbart för att **kontrollera undantagsdatum**. +- **Behöver jag en licens för att köra koden?** Ja, en giltig Aspose.Tasks-licens krävs för produktionsbruk. +- **Kan jag lägga till flera undantag i en kalender?** Absolut; `Exceptions`-samlingen stödjer många poster. +- **Stödda .NET-versioner?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Vad är ett kalenderundantag? + +Ett **kalenderundantag** representerar en avvikelse från den vanliga arbetskalendern — tänk på det som en regel som säger “på dessa datum är arbetstimmarna annorlunda eller inga alls.” I Aspose.Tasks kan varje undantag ha sina egna arbetstider, återkomstmönster och flaggor som indikerar om dagen är arbetsdag. + +## Varför hantera kalenderundantag i ASP.NET kalenderplanering? + +- **Exakta tidslinjer:** Projekt respekterar automatiskt helgdagar och speciella stängningar, vilket förhindrar orealistiska tidsfrister. +- **Flexibilitet:** Du kan definiera dagliga, veckovisa, månatliga eller årliga mönster som matchar verkliga affärskalendrar. +- **Automation:** Att programatiskt kontrollera ett undantagsdatum låter dig bygga dynamisk schemaläggningslogik i ASP.NET‑applikationer. ## Förutsättningar -Innan vi börjar, se till att du har följande förutsättningar: -- Grundläggande kunskaper i programmeringsspråket C#. -- Visual Studio installerat på ditt system. -- Aspose.Tasks för .NET-biblioteket har lagts till i ditt projekt. +- Grundläggande kunskap i C#-programmering. +- Visual Studio (någon nyare version). +- Aspose.Tasks för .NET-biblioteket tillagt i ditt projekt (via NuGet eller manuell referens). -## Importera namnområden +## Importera namnrymder -Låt oss först importera de nödvändiga namnrymden för vårt projekt: +Först, importera de namnrymder du behöver: ```csharp using Aspose.Tasks; using System; - - ``` -## Steg 1: Ta bort ett kalenderundantag +## Steg 1: Ta bort kalenderundantag -Följ dessa steg för att ta bort ett kalenderundantag: +Att ta bort ett oönskat undantag är enkelt. Följande kod laddar ett projekt, väljer den första kalendern, visar grundläggande information, tar bort det första undantaget och visar sedan det uppdaterade antalet. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Visa kalenderinformation + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Ta bort det första undantaget + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Steg 2: Få arbetstid för ett kalenderundantag +> **Proffstips:** Verifiera alltid att undantagsindexet finns innan du anropar `Delete()` för att undvika `IndexOutOfRangeException`. + +## Steg 2: Hämta arbetstid för ett kalenderundantag -Följ dessa steg för att hämta arbetstiden för ett kalenderundantag: +Om du behöver inspektera de arbetstimmar som definierats för ett undantag, använd `GetWorkingTime()`. Detta exempel visar också hur du **kontrollerar undantagsdatum** med `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Visa kalender och undantagsinformation + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Få arbetstid och visa detaljer + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -87,7 +109,7 @@ public void CalendarExceptionGetWorkingTime() ## Steg 3: Definiera kalenderundantag -Följ dessa steg för att lägga till eller ta bort kalenderundantag: +Nedan är en komplett genomgång som visar hur du **lägger till**, **kontrollerar** och **tar bort** kalenderundantag. Observera användningen av `CheckException` för att **kontrollera undantagsdatum** för ett specifikt ögonblick. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Skapa ett nytt kalenderundantag + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Ange undantagsdetaljer + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Kontrollera om ett datum är ett undantag + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Lägg till undantaget i kalendern + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Ta bort ett undantag om det finns + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Lägg till ett nytt undantag + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // Skriv ut undantag + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Slutsats +## Vanliga problem & tips -den här artikeln har vi täckt olika aspekter av hantering av kalenderundantag i Aspose.Tasks för .NET. Genom att följa de angivna stegen kan du effektivt hantera undantag i dina projektscheman, vilket säkerställer en korrekt representation av arbetstider och speciella händelser. +| Problem | Orsak | Lösning | +|-------|--------|----------| +| **`IndexOutOfRangeException` vid borttagning** | Försöker ta bort ett undantag som inte finns. | Verifiera att `calendar.Exceptions.Count` > index innan du anropar `Delete()`. | +| **Felaktiga arbetstider** | Sätter inte `DayWorking` eller `WorkingTimes` korrekt. | Använd `exception.WorkingTimes.Add(new WorkingTime(...))` för att definiera explicita perioder. | +| **Undantag känns inte igen** | `CheckException` returnerar `false` eftersom datumet ligger utanför det definierade intervallet. | Dubbelkolla `FromDate`/`ToDate` och `Type` (Daily, Weekly, etc.). | -## FAQ's +## Vanliga frågor -### F1: Kan jag lägga till flera undantag i en enda kalender? +**Q: Kan jag lägga till flera undantag i en enda kalender?** +A: Ja, du kan lägga till så många undantag som behövs för att representera helgdagar, underhållsfönster eller andra speciella schemaläggningsregler. -S1: Ja, du kan lägga till flera undantag i en kalender för att ta emot olika speciella datum eller perioder. +**Q: Hur gör jag **check exception date** för en specifik dag?** +A: Använd `CheckException(DateTime date)`-metoden på en `CalendarException`-instans. Den returnerar `true` om det angivna datumet faller inom undantagsintervallet. -### F2: Hur kan jag kontrollera om ett specifikt datum är ett undantag? +**Q: Är det möjligt att ta bort ett befintligt undantag från en kalender?** +A: Absolut. Åtkomst `Exceptions`-samlingen och anropa `Remove()` eller `Delete()` på det specifika `CalendarException`-objektet. - A2: Du kan använda`CheckException()` metod för att verifiera om ett visst datum faller under ett undantag. +**Q: Vilka typer av kalenderundantag stöds?** +A: Aspose.Tasks stöder Daily, Weekly, Monthly och Yearly undantagstyper, vilket ger dig flexibilitet att modellera nästan vilket återkomstmönster som helst. -### F3: Är det möjligt att ta bort ett befintligt undantag från en kalender? +**Q: Kan jag anpassa arbetstimmar för specifika undantagsdatum?** +A: Ja. Efter att ha skapat ett undantag, fyll dess `WorkingTimes`-samling med `WorkingTime`-objekt som definierar start- och sluttider för den dagen. - S3: Ja, du kan ta bort undantag genom att öppna`Exceptions` samling av kalendern och använda`Remove()` metod. +## Slutsats -### F4: Vilka typer av kalenderundantag stöds? +Vi har gått igenom hela livscykeln för **delete calendar exception**-operationer, från att inspektera befintliga undantag till att lägga till nya och kontrollera datum. Att behärska dessa tekniker säkerställer att dina projektscheman respekterar verkliga kalendrar, vilket gör dina ASP.NET kalenderplaneringsimplementationer robusta och pålitliga. -S4: Aspose.Tasks stöder olika typer av undantag, inklusive dagliga, veckovisa, månatliga och årliga undantag, vilket ger flexibilitet när det gäller att definiera undantagsregler. +--- -### F5: Kan jag anpassa arbetstiden för specifika undantagsdatum? +**Senast uppdaterad:** 2026-04-13 +**Testad med:** Aspose.Tasks för .NET (senaste version) +**Författare:** Aspose -S5: Ja, du kan definiera anpassade arbetstider för enskilda undantagsdatum med hjälp av lämpliga metoder som tillhandahålls av Aspose.Tasks. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/swedish/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/swedish/net/calendar-scheduling/child-tasks-collector/_index.md index 2cd03301b..9d393cd7c 100644 --- a/tasks/swedish/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/swedish/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Samla barnuppgifter i Aspose.Tasks -linktitle: Samla barnuppgifter i Aspose.Tasks +date: 2026-04-13 +description: Lär dig hur du skapar en samlare för underuppgifter med Aspose.Tasks + för .NET. Förbättra projektstyrningen i dina .NET-applikationer. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Skapa samlare för underuppgifter i Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Lär dig hur du samlar in underordnade uppgifter effektivt med Aspose.Tasks för .NET. Förbättra projekthanteringen i dina .NET-applikationer. -weight: 15 +title: Hur man skapar en samlare för underuppgifter i Aspose.Tasks url: /sv/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Samla barnuppgifter i Aspose.Tasks +# Skapa Child Tasks Collector i Aspose.Tasks ## Introduktion -Inom projektledningsområdet framstår Aspose.Tasks för .NET som en robust lösning för att hantera uppgifter och projekt effektivt. Detta kraftfulla bibliotek ger utvecklare de verktyg de behöver för att hantera uppgifter, projekt och allt däremellan sömlöst. I den här handledningen kommer vi att fördjupa oss i en specifik aspekt av Aspose.Tasks: samla in underordnade uppgifter. +Om du behöver **create child tasks collector** för en Microsoft Project‑fil, gör Aspose.Tasks för .NET det enkelt. I den här handledningen går vi igenom de exakta stegen som krävs för att samla alla underuppgifter under en förälder, så att du kan bearbeta, analysera eller exportera dem med förtroende. I slutet av guiden har du ett återanvändbart kodsnutt som passar naturligt in i alla .NET‑baserade projekt‑hanteringslösningar. -## Förutsättningar +## Snabba svar +- **Vad gör ChildTasksCollector?** Den traverserar en uppgiftshierarki och samlar alla underordnade uppgifter i en samling. +- **Vilket bibliotek tillhandahåller denna funktion?** Aspose.Tasks for .NET. +- **Behöver jag en licens för att köra exemplet?** En gratis provversion fungerar för utvärdering; en licens krävs för produktion. +- **Vilka .NET‑versioner stöds?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Hur lång tid tar implementeringen?** Ungefär 5‑10 minuter när biblioteket är installerat. + +## Vad är en Child Tasks Collector? + +En **child tasks collector** är ett verktygsobjekt som går igenom uppgiftsträdet i en Project‑fil, med start från en specificerad rotuppgift, och samlar varje underuppgift (sub‑task) den stöter på. Detta är särskilt användbart när du vill utföra massoperationer — såsom att uppdatera fält, exportera data eller generera rapporter — utan att manuellt iterera över varje nivå i hierarkin. + +## Varför skapa en child tasks collector? -Innan vi börjar, se till att du har följande förutsättningar på plats: +- **Förenkla rekursion:** Samlaren hanterar djup‑först‑traverseringen internt, så du undviker att skriva egna rekursiva loopar. +- **Öka produktiviteten:** Hämta alla underordnade uppgifter i en enda samling, vilket gör massredigeringar eller analyser enkla. +- **Behåll ren kod:** Håller din affärslogik separerad från den lågnivå‑navigering som krävs för projektstrukturen. -1. Grundläggande förståelse för C#: Bekantskap med programmeringsspråket C# är viktigt. -2. Installation av Aspose.Tasks for .NET: Ladda ner och installera Aspose.Tasks for .NET-biblioteket från[nedladdningslänk](https://releases.aspose.com/tasks/net/). -3. Utvecklingsmiljö: Sätt upp en utvecklingsmiljö, som Visual Studio, för att skriva och köra C#-kod. -4. Tillgång till dokumentation: Behåll[Aspose.Tasks för .NET-dokumentation](https://reference.aspose.com/tasks/net/) praktiskt för referens. +## Förutsättningar + +1. **Grundläggande förståelse för C#** – du bör vara bekväm med att skriva och köra enkla konsolapplikationer. +2. **Aspose.Tasks for .NET installerat** – ladda ner det från [download link](https://releases.aspose.com/tasks/net/). +3. **En utvecklingsmiljö** – Visual Studio, Rider eller någon IDE som stödjer C#. +4. **Tillgång till den officiella dokumentationen** – ha [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) nära till hands för referens. -Nu när vi har täckta förutsättningarna, låt oss dyka in i steg-för-steg-guiden för att samla in underordnade uppgifter med Aspose.Tasks för .NET. +Nu när grunderna är lagda, låt oss dyka ner i koden. -## Importera namnområden +## Importera namnrymder -Importera först de nödvändiga namnområdena till din C#-kod för att komma åt funktionaliteten som tillhandahålls av Aspose.Tasks för .NET. +Först, importera de nödvändiga namnrymderna så att kompilatorn vet var den kan hitta klasserna vi ska använda. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Låt oss nu dela upp exemplet i flera steg för att förstå processen noggrant. +## Steg‑för‑steg‑guide -## Steg 1: Initiera projektobjekt +### Steg 1: Initiera Project‑objektet ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Denna kodrad initierar en ny`Project` objekt, laddar en projektfil med namnet "ParentChildTasks.mpp" från den angivna katalogen. +Denna rad laddar en befintlig Microsoft Project‑fil (`ParentChildTasks.mpp`) från `DataDir`‑mappen in i ett `Project`‑objekt, vilket ger oss programmatisk åtkomst till dess uppgifter. -## Steg 2: Skapa ChildTasksCollector-objekt +### Steg 2: Skapa ChildTasksCollector‑instansen ```csharp var collector = new ChildTasksCollector(); ``` - Här skapar vi en ny`ChildTasksCollector` objekt, som hjälper oss att samla in underordnade uppgifter från projektet. +Här **create child tasks collector** – en instans av `ChildTasksCollector` som kommer att lagra varje underuppgift den upptäcker. -## Steg 3: Använd Collector till Root Task +### Steg 3: Applicera samlaren på rotuppgiften ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Vi tillämpar`ChildTasksCollector` till projektets grunduppgift, initiera insamlingsprocessen rekursivt. +Vi instruerar Aspose.Tasks att börja samla in från projektets rotuppgift. `Apply`‑metoden traverserar hierarkin rekursivt och fyller `collector.Tasks` med alla underordnade uppgifter. -## Steg 4: Iterera genom insamlade uppgifter +### Steg 4: Iterera genom de insamlade uppgifterna ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -Slutligen går vi igenom de insamlade uppgifterna och skriver ut deras namn till konsolen. +Till sist loopar vi över de insamlade uppgifterna och skriver ut varje uppgifts namn till konsolen. I ett verkligt scenario kan du ersätta `Console.WriteLine` med någon anpassad bearbetning du behöver (t.ex. export till CSV, uppdatera fält, osv.). -## Slutsats +## Vanliga problem och lösningar -I den här handledningen undersökte vi hur man samlar in underordnade uppgifter med Aspose.Tasks för .NET. Genom att följa stegen som beskrivs ovan kan du effektivt hantera och manipulera uppgifter inom dina projekt, vilket förbättrar produktiviteten och organisationen. +| Problem | Orsak | Lösning | +|-------|--------|-----| +| **Inga uppgifter returneras** | Samlaren applicerades på fel uppgift (t.ex. ett löv). | Applicera `TaskUtils.Apply` på `project.RootTask` eller den specifika förälder du vill starta från. | +| **NullReferenceException** | `DataDir` eller filsökvägen är felaktig. | Verifiera att `DataDir` pekar på mappen som innehåller `ParentChildTasks.mpp`. | +| **License not set** | Aspose.Tasks ger en licensvarning i provläge. | Läs in din licens med `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` innan du skapar `Project`‑objektet. | -## FAQ's +## Vanliga frågor -### F1: Är Aspose.Tasks för .NET kompatibelt med alla versioner av .NET? +**Q: Är Aspose.Tasks for .NET kompatibel med alla versioner av .NET?** +A: Ja, Aspose.Tasks for .NET fungerar med .NET Framework 4.5+, .NET Core 3.1+ och .NET 5/6+. -S1: Ja, Aspose.Tasks för .NET är kompatibelt med olika versioner av .NET-ramverket, vilket säkerställer bred kompatibilitet. +**Q: Kan jag använda Aspose.Tasks for .NET för att skapa nya projektfiler?** +A: Absolut! Biblioteket låter dig skapa, läsa och manipulera projektfiler programmässigt. -### F2: Kan jag använda Aspose.Tasks för .NET för att skapa nya projektfiler? +**Q: Stöder Aspose.Tasks for .NET flera plattformar?** +A: Även om det är designat för .NET, kan du köra det på vilken plattform som helst som stödjer .NET‑runtime, inklusive Windows, Linux och macOS. -A2: Absolut! Aspose.Tasks för .NET tillhandahåller funktionalitet för att skapa, läsa och manipulera projektfiler utan ansträngning. +**Q: Finns teknisk support för Aspose.Tasks for .NET?** +A: Ja, du kan få hjälp via [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -### F3: Stöder Aspose.Tasks för .NET flera plattformar? +**Q: Kan jag prova Aspose.Tasks for .NET innan jag köper?** +A: Självklart! En gratis provversion finns på [release page](https://releases.aspose.com/). -S3: Även om Aspose.Tasks för .NET huvudsakligen är utformad för .NET-miljöer, kan de användas i olika plattformar som stöder .NET-utveckling. - -### F4: Finns teknisk support tillgänglig för Aspose.Tasks för .NET? - -S4: Ja, användare kan få tillgång till teknisk support via[Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). +--- -### F5: Kan jag prova Aspose.Tasks för .NET innan jag köper? +**Senast uppdaterad:** 2026-04-13 +**Testad med:** Aspose.Tasks 24.11 for .NET +**Författare:** Aspose - A5: Visst! Du kan utnyttja en gratis provperiod från[släpp sida](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/thai/net/calendar-scheduling/calendar-collection/_index.md b/tasks/thai/net/calendar-scheduling/calendar-collection/_index.md index 3e2a958cd..44d33461f 100644 --- a/tasks/thai/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/thai/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,45 @@ --- -title: การจัดการคอลเลกชันปฏิทินใน Aspose.Tasks +date: 2026-04-13 +description: เรียนรู้วิธีตั้งชั่วโมงทำงานและจัดการคอลเลกชันปฏิทินใน Aspose.Tasks สำหรับ + .NET นำเข้าปฏิทินจาก Microsoft Project ลบปฏิทินโครงการ และดึงปฏิทินตามชื่อได้อย่างง่ายดาย. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: การจัดการคอลเลกชันปฏิทินใน Aspose.Tasks second_title: Aspose.Tasks .NET API -description: เรียนรู้วิธีจัดการคอลเลกชันปฏิทินใน Aspose.Tasks สำหรับ .NET อย่างมีประสิทธิภาพ สร้าง แก้ไข และจัดการปฏิทินได้อย่างง่ายดาย -weight: 11 +title: กำหนดชั่วโมงทำงานในคอลเลกชันปฏิทินของ Aspose.Tasks url: /th/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# การจัดการคอลเลกชันปฏิทินใน Aspose.Tasks +# ตั้งค่าชั่วโมงทำงานในคอลเลกชันปฏิทินของ Aspose.Tasks -## การแนะนำ +ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธี **ตั้งค่าชั่วโมงทำงาน** และจัดการคอลเลกชันปฏิทินโดยใช้ Aspose.Tasks สำหรับ .NET ปฏิทินกำหนดวันทำงาน, วันหยุด, และข้อยกเว้น ดังนั้นการเชี่ยวชาญจึงทำให้คุณควบคุมกำหนดการของโครงการได้อย่างแม่นยำ เราจะยังแสดงวิธีนำเข้าปฏิทินจาก Microsoft Project, ลบปฏิทินจากโครงการ, และดึงปฏิทินตามชื่อ -ในบทช่วยสอนนี้ เราจะสำรวจวิธีจัดการคอลเลกชันปฏิทินใน Aspose.Tasks สำหรับ .NET ปฏิทินมีบทบาทสำคัญในการจัดการโครงการ การกำหนดวันทำงาน วันหยุด และข้อยกเว้น Aspose.Tasks มีฟังก์ชันการทำงานที่มีประสิทธิภาพในการจัดการปฏิทินภายในโปรเจ็กต์ของคุณ +## คำตอบอย่างรวดเร็ว +- **คลาสหลักสำหรับปฏิทินคืออะไร?** `Project.Calendars` collection. +- **ฉันจะตั้งค่าชั่วโมงทำงานอย่างไร?** สร้างหรือแก้ไขอ็อบเจ็กต์ `Calendar` และกำหนด `WorkingTime` ของมัน. +- **ฉันสามารถนำเข้าปฏิทินจาก Microsoft Project ได้หรือไม่?** ได้ – โหลดไฟล์ MPP และเข้าถึงปฏิทินของมัน. +- **จะลบปฏิทินจากโครงการอย่างไร?** ใช้ `Project.Calendars.Remove(calendar)`. +- **จะดึงปฏิทินตามชื่ออย่างไร?** เรียก `Project.Calendars.GetByName("YourCalendar")`. ## ข้อกำหนดเบื้องต้น -ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้: +ก่อนที่เราจะเริ่ม, โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้: -1. Visual Studio: ติดตั้ง Visual Studio หรือ IDE อื่น ๆ ที่เข้ากันได้สำหรับการพัฒนา .NET -2. Aspose.Tasks สำหรับ .NET: ดาวน์โหลดและติดตั้ง Aspose.Tasks สำหรับ .NET จาก[ที่นี่](https://releases.aspose.com/tasks/net/). -3. ความเข้าใจพื้นฐานของ C#: ความคุ้นเคยกับภาษาการเขียนโปรแกรม C# จะเป็นประโยชน์ +1. Visual Studio: ติดตั้ง Visual Studio หรือ IDE ที่เข้ากันได้อื่นสำหรับการพัฒนา .NET. +2. Aspose.Tasks for .NET: ดาวน์โหลดและติดตั้ง Aspose.Tasks for .NET จาก [here](https://releases.aspose.com/tasks/net/). +3. ความเข้าใจพื้นฐานของ C#: ความคุ้นเคยกับภาษาโปรแกรม C# จะเป็นประโยชน์. -## นำเข้าเนมสเปซ +## นำเข้า Namespaces -ขั้นแรก เรามานำเข้าเนมสเปซที่จำเป็นเพื่อทำงานกับ Aspose.Tasks: +ก่อนอื่น, เรามานำเข้า namespaces ที่จำเป็นสำหรับทำงานกับ Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,24 +47,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` ## การสร้างปฏิทินใหม่ -### ขั้นตอนที่ 1: เริ่มต้นใหม่`Project` object. +### ขั้นตอนที่ 1: เริ่มต้นอ็อบเจ็กต์ `Project` ใหม่. ```csharp var project = new Project(); ``` -### ขั้นตอนที่ 2: เพิ่มปฏิทินในคอลเลกชันปฏิทินของโครงการ +### ขั้นตอนที่ 2: เพิ่มปฏิทินลงในคอลเลกชันปฏิทินของโครงการ. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### ขั้นตอนที่ 3: วนซ้ำปฏิทินและแสดงชื่อ +### ขั้นตอนที่ 3: วนลูปผ่านปฏิทินและแสดงชื่อของพวกมัน. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +71,21 @@ foreach (var calendar in project.Calendars) } ``` +## วิธีตั้งค่าชั่วโมงทำงานสำหรับปฏิทิน? + +เพื่อ **ตั้งค่าชั่วโมงทำงาน**, คุณต้องแก้ไขคอลเลกชัน `WorkingTime` ของ `Calendar`. +เช่น คุณสามารถกำหนดวันทำงานมาตรฐาน 9 am‑5 pm หรือเพิ่มข้อยกเว้นแบบกำหนดเอง. +โค้ดสำหรับนี้เหมือนกับตัวอย่างที่แสดงต่อไปเมื่อเราสร้างปฏิทินมาตรฐาน. + ## การแทนที่ปฏิทินด้วยปฏิทินใหม่ -### ขั้นตอนที่ 1: โหลดโครงการที่มีอยู่ +### ขั้นตอนที่ 1: โหลดโครงการที่มีอยู่. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### ขั้นตอนที่ 2: ลบปฏิทินที่มีอยู่ (ถ้ามี) +### ขั้นตอนที่ 2: ลบปฏิทินที่มีอยู่ (หากมี). +นี่เป็นการสาธิตสถานการณ์ **remove calendar project**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,45 +94,46 @@ if (calendar != null) } ``` -### ขั้นตอนที่ 3: เพิ่มปฏิทินใหม่ +### ขั้นตอนที่ 3: เพิ่มปฏิทินใหม่. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## รับปฏิทินตามชื่อหรือ ID +## การดึงปฏิทินตามชื่อหรือ ID -### ขั้นตอนที่ 1: โหลดโครงการ +### ขั้นตอนที่ 1: โหลดโครงการ. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### ขั้นตอนที่ 2: ดึงข้อมูลปฏิทินตามชื่อหรือ UID +### ขั้นตอนที่ 2: ดึงปฏิทินตามชื่อหรือ UID. +นี่เป็นการแสดงการทำงานของ **get calendar by name**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); ``` -### ขั้นตอนที่ 3: แสดงรายละเอียดปฏิทิน +### ขั้นตอนที่ 3: แสดงรายละเอียดของปฏิทิน. ```csharp Console.WriteLine("Calendar Name: " + calendarByName.Name); Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## วนซ้ำปฏิทิน +## การวนลูปผ่านปฏิทิน -### ขั้นตอนที่ 1: โหลดโครงการ +### ขั้นตอนที่ 1: โหลดโครงการ. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### ขั้นตอนที่ 2: ดึงข้อมูลจำนวนปฏิทิน +### ขั้นตอนที่ 2: ดึงจำนวนของปฏิทิน. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### ขั้นตอนที่ 3: วนซ้ำคอลเลกชันปฏิทินและชื่อที่แสดง +### ขั้นตอนที่ 3: วนลูปผ่านคอลเลกชันปฏิทินและแสดงชื่อ. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,52 +142,73 @@ foreach (var calendar in calendars) } ``` -## การทำปฏิทินมาตรฐาน +## การสร้างปฏิทินมาตรฐาน -### ขั้นตอนที่ 1: เริ่มต้นโครงการใหม่ +### ขั้นตอนที่ 1: เริ่มต้นโครงการใหม่. ```csharp var project = new Project(); ``` -### ขั้นตอนที่ 2: กำหนดปฏิทินใหม่และทำให้เป็นมาตรฐาน +### ขั้นตอนที่ 2: กำหนดปฏิทินใหม่และทำให้เป็นมาตรฐาน. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); ``` -### ขั้นตอนที่ 3: บันทึกโครงการ +### ขั้นตอนที่ 3: บันทึกโครงการ. ```csharp project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## บทสรุป +## ปัญหาทั่วไปและวิธีแก้ -การจัดการคอลเลกชันปฏิทินใน Aspose.Tasks สำหรับ .NET ถือเป็นสิ่งสำคัญสำหรับการจัดการโครงการที่มีประสิทธิภาพ ด้วยฟังก์ชันการทำงานที่มีให้ คุณสามารถสร้าง แก้ไข และจัดการปฏิทินตามความต้องการของโครงการได้อย่างมีประสิทธิภาพ +- **ไม่พบปฏิทินเมื่อใช้ `GetByName`** – ตรวจสอบให้แน่ใจว่าชื่อที่ใช้ตรงกับตัวพิมพ์ที่ใช้เมื่อตอนเพิ่มปฏิทิน. +- **ชั่วโมงทำงานไม่ถูกนำไปใช้** – หลังจากตั้งค่า `WorkingTime` จำไว้ว่าให้บันทึกโครงการ; มิฉะนั้นการเปลี่ยนแปลงจะอยู่ในหน่วยความจำเท่านั้น. +- **การนำเข้าปฏิทินจากไฟล์ MPP ล้มเหลว** – ตรวจสอบว่าไฟล์ต้นทางเป็นไฟล์ Microsoft Project ที่ถูกต้องและคุณมีสิทธิ์อ่าน. ## คำถามที่พบบ่อย -### คำถามที่ 1: ฉันสามารถสร้างวันทำงานแบบกำหนดเองใน Aspose.Tasks ได้หรือไม่ +### Q1: ฉันสามารถสร้างวันทำงานแบบกำหนดเองใน Aspose.Tasks ได้หรือไม่? +A1: ได้, คุณสามารถสร้างวันทำงานแบบกำหนดเองโดยการเพิ่มข้อยกเว้นในปฏิทิน. -A1: ได้ คุณสามารถสร้างวันทำงานแบบกำหนดเองได้โดยการเพิ่มข้อยกเว้นลงในปฏิทิน +### Q2: สามารถนำเข้าปฏิทินจากไฟล์ Microsoft Project ได้หรือไม่? +A2: แน่นอน, Aspose.Tasks รองรับการนำเข้าปฏิทินจากไฟล์ Microsoft Project. -### คำถามที่ 2: เป็นไปได้ไหมที่จะนำเข้าปฏิทินจากไฟล์ Microsoft Project +### Q3: ฉันจะลบปฏิทินเฉพาะจากโครงการได้อย่างไร? +A3: คุณสามารถลบปฏิทินโดยดึงมันจากคอลเลกชันแล้วเรียกเมธอด `Remove`. -คำตอบ 2: แน่นอนว่า Aspose.Tasks รองรับการนำเข้าปฏิทินจากไฟล์ Microsoft Project +### Q4: Aspose.Tasks รองรับการส่งออกปฏิทินเป็นรูปแบบต่าง ๆ หรือไม่? +A4: ใช่, Aspose.Tasks อนุญาตให้ส่งออกปฏิทินเป็นรูปแบบต่าง ๆ เช่น XML, MPP, เป็นต้น. -### คำถามที่ 3: ฉันจะลบปฏิทินเฉพาะออกจากโครงการได้อย่างไร +### Q5: ฉันสามารถปรับแต่งชั่วโมงทำงานสำหรับวันเฉพาะในปฏิทินได้หรือไม่? +A5: แน่นอน, คุณสามารถกำหนดชั่วโมงทำงานสำหรับแต่ละวันโดยใช้ข้อยกเว้นในปฏิทิน. - A3: คุณสามารถเอาปฏิทินออกได้ โดยรับปฏิทินจากคอลเลกชันแล้วโทรไปที่`Remove` วิธี. +## คำถามที่พบบ่อย -### คำถามที่ 4: Aspose.Tasks รองรับการส่งออกปฏิทินเป็นรูปแบบต่างๆ หรือไม่ +**Q: วิธีที่ดีที่สุดในการตั้งค่าปฏิทินกะ 24 ชั่วโมงคืออะไร?** +A: สร้างปฏิทินใหม่, ลบรายการ `WorkingTime` ที่มีอยู่, และเพิ่มช่วง `WorkingTime` เดียวจาก 00:00 ถึง 24:00 สำหรับแต่ละวันทำงาน. -A4: ใช่ Aspose.Tasks อนุญาตให้ส่งออกปฏิทินเป็นรูปแบบต่างๆ เช่น XML, MPP เป็นต้น +**Q: ฉันสามารถคัดลอกปฏิทินจากโครงการหนึ่งไปยังอีกโครงการได้หรือไม่?** +A: ได้—ส่งออกปฏิทินเป็น XML ด้วย `project.Save` แล้วนำเข้ามาในโครงการอื่นด้วย `new Project(xmlPath)`. + +**Q: ฉันจะนำเข้าปฏิทินจาก Microsoft Project อย่างโปรแกรมได้อย่างไร?** +A: โหลดไฟล์ MPP ด้วย `new Project("source.mpp")`; ปฏิทินจะพร้อมใช้งานผ่าน `project.Calendars`. + +**Q: มีขีดจำกัดจำนวนปฏิทินในโครงการหรือไม่?** +A: โดยปฏิบัติไม่มี; คอลเลกชันสามารถเก็บปฏิทินได้ตามที่หน่วยความจำอนุญาต, แต่ควรจัดการรายการให้เหมาะสมเพื่อประสิทธิภาพ. + +**Q: การเปลี่ยนแปลงปฏิทินจะอัปเดตงานที่ใช้มันโดยอัตโนมัติหรือไม่?** +A: ใช่—งานที่เชื่อมโยงกับปฏิทินจะแสดงเวลาทำงานที่อัปเดตหลังจากคุณบันทึกโครงการ. + +--- -### คำถามที่ 5: ฉันสามารถปรับแต่งเวลาทำงานสำหรับวันที่ระบุในปฏิทินได้หรือไม่ +**อัปเดตล่าสุด:** 2026-04-13 +**ทดสอบด้วย:** Aspose.Tasks 24.11 for .NET +**ผู้เขียน:** Aspose -A5: แน่นอน คุณสามารถกำหนดเวลาทำงานสำหรับแต่ละวันได้โดยใช้ข้อยกเว้นในปฏิทิน {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/thai/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/thai/net/calendar-scheduling/calendar-exceptions/_index.md index 226a519ac..0b7e203a4 100644 --- a/tasks/thai/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/thai/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: การจัดการข้อยกเว้นปฏิทินใน Aspose.Tasks -linktitle: การจัดการข้อยกเว้นปฏิทินใน Aspose.Tasks +date: 2026-04-13 +description: เรียนรู้วิธีลบข้อยกเว้นของปฏิทินใน Aspose.Tasks สำหรับ .NET และตรวจสอบวันที่ของข้อยกเว้นขณะจัดการการกำหนดเวลาปฏิทิน + ASP.NET +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: ลบข้อยกเว้นปฏิทินด้วย Aspose.Tasks second_title: Aspose.Tasks .NET API -description: เรียนรู้วิธีจัดการข้อยกเว้นปฏิทินใน Aspose.Tasks สำหรับ .NET พร้อมบทช่วยสอนและตัวอย่างทีละขั้นตอน -weight: 12 +title: ลบข้อยกเว้นปฏิทินด้วย Aspose.Tasks url: /th/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# การจัดการข้อยกเว้นปฏิทินใน Aspose.Tasks +# ลบข้อยกเว้นปฏิทินด้วย Aspose.Tasks + +## บทนำ + +ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธี **ลบข้อยกเว้นปฏิทิน** และจัดการข้อยกเว้นปฏิทินอื่น ๆ ใน Aspose.Tasks ด้วยการใช้ .NET framework. ข้อยกเว้นปฏิทินช่วยให้คุณจำลองวันหยุด, การปิดชั่วคราว, หรือช่วงเวลาพิเศษใด ๆ ที่ตารางทำงานปกติเปลี่ยนแปลง การเข้าใจวิธีการเพิ่ม, ค้นหา, และลบข้อยกเว้นเหล่านี้เป็นสิ่งสำคัญสำหรับการกำหนดเวลาของโครงการอย่างแม่นยำ, โดยเฉพาะเมื่อทำงานกับสถานการณ์ **การกำหนดเวลาปฏิทิน ASP.NET**. + +## คำตอบอย่างรวดเร็ว +- **วิธีหลักในการลบข้อยกเว้นคืออะไร?** ใช้เมธอด `Delete()` ของอ็อบเจกต์ `CalendarException`. +- **คลาสใดที่ตรวจสอบวันที่กับข้อยกเว้น?** `CalendarException.CheckException()` — มีประโยชน์สำหรับ **ตรวจสอบวันที่ของข้อยกเว้น**. +- **ต้องการไลเซนส์เพื่อรันโค้ดหรือไม่?** ใช่, จำเป็นต้องมีไลเซนส์ Aspose.Tasks ที่ถูกต้องสำหรับการใช้งานในสภาพแวดล้อมการผลิต. +- **สามารถเพิ่มหลายข้อยกเว้นในปฏิทินเดียวได้หรือไม่?** ได้แน่นอน; คอลเลกชัน `Exceptions` รองรับหลายรายการ. +- **เวอร์ชัน .NET ที่รองรับ?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## ข้อยกเว้นปฏิทินคืออะไร? -## การแนะนำ +**ข้อยกเว้นปฏิทิน** แสดงถึงการเบี่ยงเบนจากปฏิทินทำงานปกติ — คิดว่าเป็นกฎที่บอกว่า “ในวันที่เหล่านี้ ชั่วโมงทำงานแตกต่างหรือไม่มีเลย”. ใน Aspose.Tasks, แต่ละข้อยกเว้นสามารถมีเวลาทำงานของตนเอง, รูปแบบการเกิดซ้ำ, และแฟล็กที่บ่งบอกว่าวันนั้นเป็นวันทำงานหรือไม่. -ในบทช่วยสอนนี้ เราจะสำรวจวิธีจัดการข้อยกเว้นปฏิทินใน Aspose.Tasks โดยใช้เฟรมเวิร์ก .NET ข้อยกเว้นของปฏิทินช่วยให้เราสามารถกำหนดวันที่หรือช่วงเวลาพิเศษในปฏิทินโครงการที่ตารางการทำงานปกติมีการเปลี่ยนแปลง เช่น วันหยุดหรือการปิดทำการชั่วคราว เราจะกล่าวถึงวิธีการต่างๆ ในการจัดการข้อยกเว้นของปฏิทินทีละขั้นตอน โดยใช้ Aspose.Tasks สำหรับ .NET +## ทำไมต้องจัดการข้อยกเว้นปฏิทินในการกำหนดเวลาปฏิทิน ASP.NET? + +- **ไทม์ไลน์ที่แม่นยำ:** โครงการจะเคารพวันหยุดและการปิดพิเศษโดยอัตโนมัติ, ป้องกันกำหนดเวลาที่ไม่เป็นจริง. +- **ความยืดหยุ่น:** คุณสามารถกำหนดรูปแบบรายวัน, รายสัปดาห์, รายเดือน, หรือรายปี, ตรงกับปฏิทินธุรกิจในโลกจริง. +- **การอัตโนมัติ:** การตรวจสอบวันที่ของข้อยกเว้นแบบโปรแกรมช่วยให้คุณสร้างตรรกะการกำหนดเวลาที่เปลี่ยนแปลงได้ในแอปพลิเคชัน ASP.NET. ## ข้อกำหนดเบื้องต้น -ก่อนที่เราจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้: -- ความรู้พื้นฐานเกี่ยวกับภาษาการเขียนโปรแกรม C# -- ติดตั้ง Visual Studio บนระบบของคุณแล้ว -- เพิ่มไลบรารี Aspose.Tasks สำหรับ .NET ในโครงการของคุณ +- ความรู้พื้นฐานของการเขียนโปรแกรม C#. +- Visual Studio (เวอร์ชันล่าสุดใดก็ได้). +- ไลบรารี Aspose.Tasks for .NET ที่เพิ่มเข้าไปในโปรเจคของคุณ (ผ่าน NuGet หรือการอ้างอิงแบบแมนนวล). -## นำเข้าเนมสเปซ +## นำเข้าชื่อเนมสเปซ -ขั้นแรก เรามานำเข้าเนมสเปซที่จำเป็นสำหรับโครงการของเรา: +ก่อนอื่น, นำเข้าชื่อเนมสเปซที่คุณต้องการใช้: ```csharp using Aspose.Tasks; using System; - - ``` -## ขั้นตอนที่ 1: การลบข้อยกเว้นปฏิทิน +## ขั้นตอนที่ 1: ลบข้อยกเว้นปฏิทิน -เมื่อต้องการลบข้อยกเว้นปฏิทิน ให้ทำตามขั้นตอนเหล่านี้: +การลบข้อยกเว้นที่ไม่ต้องการเป็นเรื่องง่าย. โค้ดต่อไปนี้จะโหลดโปรเจค, เลือกปฏิทินแรก, แสดงข้อมูลพื้นฐาน, ลบข้อยกเว้นแรก, และจากนั้นแสดงจำนวนที่อัปเดต. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // แสดงข้อมูลปฏิทิน + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // ลบข้อยกเว้นแรกออก + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` +> **เคล็ดลับ:** ตรวจสอบให้แน่ใจว่าดัชนีของข้อยกเว้นมีอยู่ก่อนเรียก `Delete()` เพื่อหลีกเลี่ยง `IndexOutOfRangeException`. + ## ขั้นตอนที่ 2: รับเวลาทำงานของข้อยกเว้นปฏิทิน -เมื่อต้องการดึงข้อมูลเวลาทำงานของข้อยกเว้นปฏิทิน ให้ทำตามขั้นตอนเหล่านี้: +หากคุณต้องการตรวจสอบชั่วโมงทำงานที่กำหนดไว้สำหรับข้อยกเว้น, ใช้ `GetWorkingTime()`. ตัวอย่างนี้ยังแสดงวิธี **ตรวจสอบวันที่ของข้อยกเว้น** ด้วย `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // แสดงปฏิทินและข้อมูลข้อยกเว้น + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // รับเวลาทำงานและแสดงรายละเอียด + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## ขั้นตอนที่ 3: การกำหนดข้อยกเว้นของปฏิทิน +## ขั้นตอนที่ 3: กำหนดข้อยกเว้นปฏิทิน -เมื่อต้องการเพิ่มหรือลบข้อยกเว้นปฏิทิน ให้ทำตามขั้นตอนเหล่านี้: +ด้านล่างเป็นขั้นตอนเต็มที่แสดงวิธี **เพิ่ม**, **ตรวจสอบ**, และ **ลบ** ข้อยกเว้นปฏิทิน. สังเกตการใช้ `CheckException` เพื่อ **ตรวจสอบวันที่ของข้อยกเว้น** สำหรับช่วงเวลาที่กำหนด. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // สร้างข้อยกเว้นปฏิทินใหม่ + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // กำหนดรายละเอียดข้อยกเว้น + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // ตรวจสอบว่าวันที่เป็นข้อยกเว้นหรือไม่ + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // เพิ่มข้อยกเว้นลงในปฏิทิน + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // ลบข้อยกเว้นหากมีอยู่ + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // เพิ่มข้อยกเว้นใหม่ + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // พิมพ์ข้อยกเว้น + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## บทสรุป +## ปัญหาและเคล็ดลับทั่วไป -ในบทความนี้ เราได้กล่าวถึงแง่มุมต่างๆ ของการจัดการข้อยกเว้นของปฏิทินใน Aspose.Tasks สำหรับ .NET ด้วยการทำตามขั้นตอนที่ให้ไว้ คุณสามารถจัดการข้อยกเว้นในกำหนดการโครงการของคุณได้อย่างมีประสิทธิภาพ รับรองว่าจะแสดงชั่วโมงทำงานและกิจกรรมพิเศษได้อย่างแม่นยำ +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|----------| +| **`IndexOutOfRangeException` เมื่อทำการลบ** | พยายามลบข้อยกเว้นที่ไม่มีอยู่. | ตรวจสอบว่า `calendar.Exceptions.Count` > ดัชนีก่อนเรียก `Delete()`. | +| **เวลาทำงานไม่ถูกต้อง** | ไม่ได้ตั้งค่า `DayWorking` หรือ `WorkingTimes` อย่างถูกต้อง. | ใช้ `exception.WorkingTimes.Add(new WorkingTime(...))` เพื่อกำหนดช่วงเวลาที่ชัดเจน. | +| **ข้อยกเว้นไม่ถูกตรวจจับ** | `CheckException` คืนค่า `false` เนื่องจากวันที่อยู่นอกช่วงที่กำหนด. | ตรวจสอบ `FromDate`/`ToDate` และ `Type` (Daily, Weekly, ฯลฯ) อีกครั้ง. | ## คำถามที่พบบ่อย -### คำถามที่ 1: ฉันสามารถเพิ่มข้อยกเว้นหลายรายการลงในปฏิทินเดียวได้หรือไม่ +**Q:** ฉันสามารถเพิ่มหลายข้อยกเว้นในปฏิทินเดียวได้หรือไม่? +**A:** ได้, คุณสามารถเพิ่มข้อยกเว้นได้ตามต้องการเพื่อแสดงวันหยุด, หน้าต่างการบำรุงรักษา, หรือกฎการกำหนดเวลาพิเศษใด ๆ -A1: ได้ คุณสามารถเพิ่มข้อยกเว้นได้หลายรายการในปฏิทินเพื่อรองรับวันหรือช่วงเวลาพิเศษต่างๆ +**Q:** ฉันจะ **ตรวจสอบวันที่ของข้อยกเว้น** สำหรับวันเฉพาะได้อย่างไร? +**A:** ใช้เมธอด `CheckException(DateTime date)` บนอินสแตนซ์ `CalendarException`. มันจะคืนค่า `true` หากวันที่ที่ระบุอยู่ในช่วงของข้อยกเว้น. -### คำถามที่ 2: ฉันจะตรวจสอบได้อย่างไรว่าวันที่ที่ระบุเป็นข้อยกเว้นหรือไม่ +**Q:** สามารถลบข้อยกเว้นที่มีอยู่จากปฏิทินได้หรือไม่? +**A:** แน่นอน. เข้าถึงคอลเลกชัน `Exceptions` แล้วเรียก `Remove()` หรือใช้ `Delete()` บนอ็อบเจกต์ `CalendarException` เฉพาะ. - A2: คุณสามารถใช้`CheckException()` วิธีการตรวจสอบว่าวันที่ใดตกอยู่ภายใต้ข้อยกเว้น +**Q:** ประเภทของข้อยกเว้นปฏิทินที่รองรับมีอะไรบ้าง? +**A:** Aspose.Tasks รองรับประเภทข้อยกเว้น Daily, Weekly, Monthly, และ Yearly, ทำให้คุณมีความยืดหยุ่นในการจำลองรูปแบบการเกิดซ้ำเกือบทั้งหมด. -### คำถามที่ 3: เป็นไปได้ไหมที่จะลบข้อยกเว้นที่มีอยู่ออกจากปฏิทิน +**Q:** ฉันสามารถปรับแต่งชั่วโมงทำงานสำหรับวันที่มีข้อยกเว้นเฉพาะได้หรือไม่? +**A:** ได้. หลังจากสร้างข้อยกเว้น, เติมคอลเลกชัน `WorkingTimes` ของมันด้วยอ็อบเจกต์ `WorkingTime` ที่กำหนดเวลาเริ่มและสิ้นสุดสำหรับวันนั้น. - A3: ได้ คุณสามารถลบข้อยกเว้นได้โดยเข้าไปที่`Exceptions` การรวบรวมปฏิทินและการใช้`Remove()` วิธี. +## สรุป -### คำถามที่ 4: รองรับข้อยกเว้นปฏิทินประเภทใดบ้าง +เราได้เดินผ่านวงจรชีวิตเต็มของการดำเนินการ **ลบข้อยกเว้นปฏิทิน** ตั้งแต่การตรวจสอบข้อยกเว้นที่มีอยู่จนถึงการเพิ่มใหม่และการตรวจสอบวันที่. การเชี่ยวชาญเทคนิคเหล่านี้ทำให้ตารางโครงการของคุณเคารพปฏิทินจริง, ทำให้การนำการกำหนดเวลาปฏิทิน ASP.NET ของคุณมีความทนทานและเชื่อถือได้. -A4: Aspose.Tasks รองรับข้อยกเว้นหลายประเภท รวมถึงข้อยกเว้นรายวัน รายสัปดาห์ รายเดือน และรายปี ซึ่งให้ความยืดหยุ่นในการกำหนดกฎข้อยกเว้น +--- -### คำถามที่ 5: ฉันสามารถปรับแต่งเวลาทำงานสำหรับวันยกเว้นที่เฉพาะเจาะจงได้หรือไม่ +**อัปเดตล่าสุด:** 2026-04-13 +**ทดสอบด้วย:** Aspose.Tasks for .NET (latest release) +**ผู้เขียน:** Aspose -A5: ได้ คุณสามารถกำหนดเวลาทำงานที่กำหนดเองสำหรับวันที่ยกเว้นแต่ละรายการได้โดยใช้วิธีการที่เหมาะสมที่ Aspose.Tasks มอบให้ {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/thai/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/thai/net/calendar-scheduling/child-tasks-collector/_index.md index ec6410bd3..7aa2d8bc1 100644 --- a/tasks/thai/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/thai/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,96 @@ --- -title: การรวบรวมงานลูกใน Aspose.Tasks -linktitle: การรวบรวมงานลูกใน Aspose.Tasks +date: 2026-04-13 +description: เรียนรู้วิธีสร้างตัวเก็บงานย่อยโดยใช้ Aspose.Tasks สำหรับ .NET ปรับปรุงการจัดการโครงการในแอปพลิเคชัน + .NET ของคุณ +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: สร้างตัวเก็บงานย่อยใน Aspose.Tasks second_title: Aspose.Tasks .NET API -description: เรียนรู้วิธีรวบรวมงานย่อยอย่างมีประสิทธิภาพโดยใช้ Aspose.Tasks สำหรับ .NET ปรับปรุงการจัดการโครงการในแอปพลิเคชัน .NET ของคุณ -weight: 15 +title: วิธีสร้างตัวเก็บงานย่อยใน Aspose.Tasks url: /th/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# การรวบรวมงานลูกใน Aspose.Tasks +# สร้างตัวเก็บงานย่อยใน Aspose.Tasks + +## บทนำ + +หากคุณต้องการ **create child tasks collector** สำหรับไฟล์ Microsoft Project, Aspose.Tasks for .NET ทำให้เป็นเรื่องง่าย ในบทแนะนำนี้เราจะอธิบายขั้นตอนที่จำเป็นเพื่อรวบรวมงานย่อยทั้งหมดภายใต้งานแม่ เพื่อให้คุณสามารถประมวลผล วิเคราะห์ หรือส่งออกได้อย่างมั่นใจ เมื่อจบคู่มือคุณจะมีโค้ดสั้นที่นำกลับมาใช้ใหม่ได้ซึ่งเข้ากับโซลูชันการจัดการโครงการที่ใช้ .NET อย่างเป็นธรรมชาติ + +## คำตอบด่วน +- **ChildTasksCollector ทำอะไร?** มันทำการสำรวจโครงสร้างงานและรวบรวมงานที่สืบทอดทั้งหมดไว้ในคอลเลกชันหนึ่ง +- **ไลบรารีใดให้คุณลักษณะนี้?** Aspose.Tasks for .NET. +- **ฉันต้องมีลิขสิทธิ์เพื่อรันตัวอย่างหรือไม่?** การทดลองใช้ฟรีทำงานสำหรับการประเมิน; จำเป็นต้องมีลิขสิทธิ์สำหรับการใช้งานจริง. +- **เวอร์ชัน .NET ใดที่รองรับ?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **การดำเนินการใช้เวลานานเท่าไหร่?** ประมาณ 5‑10 นาทีหลังจากติดตั้งไลบรารี + +## Child Tasks Collector คืออะไร? -## การแนะนำ +**child tasks collector** คืออ็อบเจ็กต์ยูทิลิตี้ที่เดินทางผ่านต้นไม้ของงานในไฟล์ Project เริ่มจากงานรากที่ระบุและรวบรวมงานย่อย (sub‑task) ทุกงานที่พบ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการทำการดำเนินการแบบกลุ่ม—เช่นอัปเดตฟิลด์ ส่งออกข้อมูล หรือสร้างรายงาน—โดยไม่ต้องวนซ้ำแต่ละระดับของโครงสร้างด้วยตนเอง -ในขอบเขตของการจัดการโครงการ Aspose.Tasks สำหรับ .NET มีความโดดเด่นในฐานะโซลูชันที่แข็งแกร่งสำหรับการจัดการงานและโครงการอย่างมีประสิทธิภาพ ไลบรารีอันทรงพลังนี้มอบเครื่องมือที่จำเป็นสำหรับนักพัฒนาในการจัดการงาน โปรเจ็กต์ และทุกสิ่งในระหว่างนั้นได้อย่างราบรื่น ในบทช่วยสอนนี้ เราจะเจาะลึกแง่มุมเฉพาะของ Aspose.Tasks: การรวบรวมงานย่อย +## ทำไมต้องสร้าง child tasks collector? + +- **ทำให้การทำซ้ำง่ายขึ้น:** ตัวเก็บจัดการการเดินทางแบบ depth‑first ภายใน ทำให้คุณไม่ต้องเขียนลูปแบบ recursive ของคุณเอง. +- **เพิ่มประสิทธิภาพการทำงาน:** ดึงงานสืบทอดทั้งหมดในคอลเลกชันเดียว ทำให้การแก้ไขหรือวิเคราะห์แบบกลุ่มเป็นเรื่องง่าย. +- **รักษาโค้ดให้สะอาด:** แยกตรรกะธุรกิจของคุณออกจากการนำทางระดับต่ำของโครงสร้างโครงการ. ## ข้อกำหนดเบื้องต้น -ก่อนที่เราจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นต่อไปนี้: +ก่อนเริ่ม, โปรดตรวจสอบว่าคุณมี: -1. ความเข้าใจพื้นฐานของ C#: ความคุ้นเคยกับภาษาการเขียนโปรแกรม C# เป็นสิ่งสำคัญ -2. การติดตั้ง Aspose.Tasks สำหรับ .NET: ดาวน์โหลดและติดตั้งไลบรารี Aspose.Tasks สำหรับ .NET จาก[ลิ้งค์ดาวน์โหลด](https://releases.aspose.com/tasks/net/). -3. สภาพแวดล้อมการพัฒนา: ตั้งค่าสภาพแวดล้อมการพัฒนา เช่น Visual Studio เพื่อเขียนและรันโค้ด C# -4. การเข้าถึงเอกสาร: เก็บ[Aspose.Tasks สำหรับเอกสาร .NET](https://reference.aspose.com/tasks/net/) มีประโยชน์สำหรับการอ้างอิง +1. **ความเข้าใจพื้นฐานของ C#** – คุณควรจะคุ้นเคยกับการเขียนและรันแอปพลิเคชันคอนโซลง่าย ๆ. +2. **ติดตั้ง Aspose.Tasks for .NET** – ดาวน์โหลดจาก [download link](https://releases.aspose.com/tasks/net/). +3. **สภาพแวดล้อมการพัฒนา** – Visual Studio, Rider หรือ IDE ใด ๆ ที่รองรับ C#. +4. **เข้าถึงเอกสารอย่างเป็นทางการ** – เก็บไว้ใกล้มือ [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) สำหรับอ้างอิง. -ตอนนี้เรามีข้อกำหนดเบื้องต้นครอบคลุมแล้ว เรามาเจาะลึกคำแนะนำทีละขั้นตอนในการรวบรวมงานรองโดยใช้ Aspose.Tasks สำหรับ .NET กันดีกว่า +เมื่อพื้นฐานพร้อมแล้ว, มาเริ่มดูโค้ดกัน -## นำเข้าเนมสเปซ +## นำเข้า Namespaces -ขั้นแรก นำเข้าเนมสเปซที่จำเป็นลงในโค้ด C# ของคุณเพื่อเข้าถึงฟังก์ชันการทำงานที่ Aspose.Tasks สำหรับ .NET มอบให้ +ขั้นแรก นำเนมสเปซที่จำเป็นเข้าสู่สโคปเพื่อให้คอมไพเลอร์รู้ว่าจะหาคลาสที่เราจะใช้ได้จากที่ไหน. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -ตอนนี้ เรามาแยกย่อยตัวอย่างที่ให้ไว้เป็นหลายขั้นตอนเพื่อทำความเข้าใจกระบวนการอย่างละเอียด +## คู่มือแบบขั้นตอนต่อขั้นตอน -## ขั้นตอนที่ 1: เริ่มต้นวัตถุโครงการ +### ขั้นตอนที่ 1: เริ่มต้นอ็อบเจ็กต์ Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - รหัสบรรทัดนี้เริ่มต้นใหม่`Project` object กำลังโหลดไฟล์โครงการชื่อ "ParentChildTasks.mpp" จากไดเร็กทอรีที่ระบุ +บรรทัดนี้โหลดไฟล์ Microsoft Project ที่มีอยู่ (`ParentChildTasks.mpp`) จากโฟลเดอร์ `DataDir` เข้าไปในอ็อบเจ็กต์ `Project` ทำให้เราสามารถเข้าถึงงานต่าง ๆ ของไฟล์ได้แบบโปรแกรม -## ขั้นตอนที่ 2: สร้างวัตถุ ChildTasksCollector +### ขั้นตอนที่ 2: สร้างอินสแตนซ์ ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - ที่นี่เราสร้างใหม่`ChildTasksCollector` object ซึ่งจะช่วยเรารวบรวมงานย่อยจากโปรเจ็กต์ +ที่นี่เราจะ **create child tasks collector** – อินสแตนซ์ของ `ChildTasksCollector` ที่จะเก็บงานย่อยทุกงานที่พบ -## ขั้นตอนที่ 3: ใช้ Collector กับ Root Task +### ขั้นตอนที่ 3: ใช้ Collector กับงานราก ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - เราใช้`ChildTasksCollector` ไปที่งานรูทของโปรเจ็กต์ โดยเริ่มต้นกระบวนการรวบรวมแบบเรียกซ้ำ +เราบอก Aspose.Tasks ให้เริ่มการเก็บข้อมูลที่งานรากของโปรเจกต์ เมธอด `Apply` จะเดินทางผ่านโครงสร้างแบบ recursive และเติม `collector.Tasks` ด้วยงานสืบทอดทั้งหมด -## ขั้นตอนที่ 4: ทำซ้ำผ่านงานที่รวบรวมไว้ +### ขั้นตอนที่ 4: วนลูปผ่านงานที่เก็บได้ ```csharp foreach (var task in collector.Tasks) @@ -75,36 +99,42 @@ foreach (var task in collector.Tasks) } ``` -สุดท้าย เราจะวนซ้ำงานที่รวบรวมไว้และพิมพ์ชื่อลงบนคอนโซล +สุดท้าย เราวนลูปผ่านงานที่รวบรวมได้และพิมพ์ชื่อของแต่ละงานไปยังคอนโซล ในสถานการณ์จริงคุณอาจแทนที่ `Console.WriteLine` ด้วยการประมวลผลแบบกำหนดเองที่ต้องการ (เช่น ส่งออกเป็น CSV, อัปเดตฟิลด์ ฯลฯ). -## บทสรุป +## ปัญหาทั่วไปและวิธีแก้ -ในบทช่วยสอนนี้ เราได้สำรวจวิธีรวบรวมงานย่อยโดยใช้ Aspose.Tasks สำหรับ .NET ด้วยการทำตามขั้นตอนที่อธิบายไว้ข้างต้น คุณสามารถจัดการและจัดการงานภายในโครงการของคุณได้อย่างมีประสิทธิภาพ เพิ่มประสิทธิภาพการทำงานและองค์กร +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|-----| +| **ไม่มีงานถูกส่งคืน** | Collector ถูกใช้กับงานที่ผิด (เช่น โหนดใบ). | ใช้ `TaskUtils.Apply` กับ `project.RootTask` หรือพาเรนท์ที่ต้องการเริ่มต้น. | +| **NullReferenceException** | `DataDir` หรือเส้นทางไฟล์ไม่ถูกต้อง. | ตรวจสอบว่า `DataDir` ชี้ไปยังโฟลเดอร์ที่มี `ParentChildTasks.mpp`. | +| **ไม่ได้ตั้งค่าไลเซนส์** | Aspose.Tasks แสดงคำเตือนเรื่องไลเซนส์ในโหมดทดลอง. | โหลดไลเซนส์ของคุณด้วย `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` ก่อนสร้างอ็อบเจ็กต์ `Project`. | ## คำถามที่พบบ่อย -### คำถามที่ 1: Aspose.Tasks สำหรับ .NET เข้ากันได้กับ .NET ทุกเวอร์ชันหรือไม่ - -ตอบ 1: ใช่ Aspose.Tasks สำหรับ .NET เข้ากันได้กับเวอร์ชันต่างๆ ของเฟรมเวิร์ก .NET จึงมั่นใจได้ถึงความเข้ากันได้ในวงกว้าง +**Q: Aspose.Tasks for .NET รองรับทุกเวอร์ชันของ .NET หรือไม่?** +A: ใช่, Aspose.Tasks for .NET ทำงานกับ .NET Framework 4.5+, .NET Core 3.1+, และ .NET 5/6+. -### คำถามที่ 2: ฉันสามารถใช้ Aspose.Tasks สำหรับ .NET เพื่อสร้างไฟล์โปรเจ็กต์ใหม่ได้หรือไม่ +**Q: ฉันสามารถใช้ Aspose.Tasks for .NET เพื่อสร้างไฟล์โปรเจกต์ใหม่ได้หรือไม่?** +A: แน่นอน! ไลบรารีนี้ให้คุณสร้าง อ่าน และจัดการไฟล์โปรเจกต์ได้แบบโปรแกรมเมติก -A2: แน่นอน! Aspose.Tasks สำหรับ .NET มีฟังก์ชันสำหรับสร้าง อ่าน และจัดการไฟล์โปรเจ็กต์ได้อย่างง่ายดาย +**Q: Aspose.Tasks for .NET รองรับหลายแพลตฟอร์มหรือไม่?** +A: แม้ว่าถูกออกแบบมาสำหรับ .NET, คุณสามารถรันบนแพลตฟอร์มใดก็ได้ที่รองรับ .NET runtime รวมถึง Windows, Linux, และ macOS. -### คำถามที่ 3: Aspose.Tasks สำหรับ .NET รองรับหลายแพลตฟอร์มหรือไม่ +**Q: มีการสนับสนุนทางเทคนิคสำหรับ Aspose.Tasks for .NET หรือไม่?** +A: มี, คุณสามารถขอความช่วยเหลือได้ผ่าน [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -A3: แม้ว่าจะได้รับการออกแบบมาสำหรับสภาพแวดล้อม .NET เป็นหลัก แต่ Aspose.Tasks สำหรับ .NET สามารถใช้ในแพลตฟอร์มต่างๆ ที่รองรับการพัฒนา .NET ได้ +**Q: ฉันสามารถทดลองใช้ Aspose.Tasks for .NET ก่อนซื้อได้หรือไม่?** +A: แน่นอน! มีการทดลองใช้ฟรีจาก [release page](https://releases.aspose.com/). -### คำถามที่ 4: มีการสนับสนุนทางเทคนิคสำหรับ Aspose.Tasks สำหรับ .NET หรือไม่ - -A4: ใช่ ผู้ใช้สามารถเข้าถึงการสนับสนุนด้านเทคนิคผ่านทาง[ฟอรั่ม Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### คำถามที่ 5: ฉันสามารถลองใช้ Aspose.Tasks สำหรับ .NET ก่อนซื้อได้หรือไม่ +**อัปเดตล่าสุด:** 2026-04-13 +**ทดสอบด้วย:** Aspose.Tasks 24.11 for .NET +**ผู้เขียน:** Aspose - A5: แน่นอน! คุณสามารถทดลองใช้ฟรีได้จาก[หน้าปล่อย](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/turkish/net/calendar-scheduling/calendar-collection/_index.md b/tasks/turkish/net/calendar-scheduling/calendar-collection/_index.md index e41cdf6ba..48dbbd8e8 100644 --- a/tasks/turkish/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/turkish/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Aspose.Tasks'ta Takvim Koleksiyonunu Yönetme -linktitle: Aspose.Tasks'ta Takvim Koleksiyonunu Yönetme -second_title: Aspose.Tasks .NET API'si -description: Aspose.Tasks for .NET'te takvim koleksiyonlarını verimli bir şekilde nasıl yöneteceğinizi öğrenin. Takvimleri kolaylıkla oluşturun, değiştirin ve yönetin. -weight: 11 +date: 2026-04-13 +description: Aspose.Tasks for .NET'te çalışma saatlerini nasıl ayarlayacağınızı ve + takvim koleksiyonlarını nasıl yöneteceğinizi öğrenin. Microsoft Project'ten takvimleri + içe aktarın, takvimi projeden kaldırın ve takvimi isme göre kolayca alın. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name +linktitle: Aspose.Tasks'te Takvim Koleksiyonunu Yönetme +second_title: Aspose.Tasks .NET API +title: Aspose.Tasks Takvim Koleksiyonunda Çalışma Saatlerini Ayarlama url: /tr/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks'ta Takvim Koleksiyonunu Yönetme +# Aspose.Tasks Takvim Koleksiyonunda Çalışma Saatlerini Ayarlama -## giriiş +Bu öğreticide, **çalışma saatlerini ayarlamayı** ve takvim koleksiyonlarını Aspose.Tasks for .NET ile yönetmeyi öğreneceksiniz. Takvimler çalışma günlerini, tatilleri ve istisnaları tanımlar; bu sayede proje takvimlerini hassas bir şekilde kontrol edebilirsiniz. Ayrıca takvimleri Microsoft Project'ten içe aktarma, bir takvimi projeden kaldırma ve takvimi adına göre alma konularını da göstereceğiz. -Bu eğitimde Aspose.Tasks for .NET'te takvim koleksiyonlarının nasıl yönetileceğini inceleyeceğiz. Takvimler proje yönetiminde iş günlerini, tatilleri ve istisnaları tanımlayarak çok önemli bir rol oynar. Aspose.Tasks, projelerinizdeki takvimleri yönetmek için güçlü işlevsellik sağlar. +## Hızlı Yanıtlar +- **Takvimler için birincil sınıf nedir?** `Project.Calendars` koleksiyonu. +- **Çalışma saatlerini nasıl ayarlarım?** Bir `Calendar` nesnesi oluşturup veya değiştirip `WorkingTime` özelliğini tanımlayın. +- **Microsoft Project'ten takvimleri içe aktarabilir miyim?** Evet – bir MPP dosyası yükleyin ve takvimlerine erişin. +- **Bir takvimi projeden nasıl kaldırırım?** `Project.Calendars.Remove(calendar)` kullanın. +- **Takvimi adına göre nasıl alırım?** `Project.Calendars.GetByName("YourCalendar")` çağırın. ## Önkoşullar Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun: -1. Visual Studio: Visual Studio'yu veya herhangi bir uyumlu .NET geliştirme için IDE'yi yükleyin. -2. Aspose.Tasks for .NET: Aspose.Tasks for .NET'i şu adresten indirip yükleyin:[Burada](https://releases.aspose.com/tasks/net/). -3. Temel C# anlayışı: C# programlama diline aşinalık faydalı olacaktır. +1. Visual Studio: .NET geliştirme için Visual Studio veya başka bir uyumlu IDE kurun. +2. Aspose.Tasks for .NET: Aspose.Tasks for .NET'i [buradan](https://releases.aspose.com/tasks/net/) indirin ve kurun. +3. C# temelleri: C# programlama dili hakkında temel bilgi faydalı olacaktır. ## Ad Alanlarını İçe Aktar -Öncelikle Aspose.Tasks ile çalışmak için gerekli ad alanlarını içe aktaralım: +Aspose.Tasks ile çalışmak için gerekli ad alanlarını içe aktaralım: ```csharp using Aspose.Tasks; @@ -35,24 +48,23 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## Yeni Takvim Oluşturma +## Yeni Bir Takvim Oluşturma -### 1. Adım: Yeni bir başlangıç yapın`Project` object. +### Adım 1: Yeni bir `Project` nesnesi başlatın. ```csharp var project = new Project(); ``` -### Adım 2: Projenin takvim koleksiyonuna takvimler ekleyin. +### Adım 2: Takvimleri projenin takvim koleksiyonuna ekleyin. ```csharp project.Calendars.Add("Calendar"); var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Adım 3: Takvimleri yineleyin ve adlarını görüntüleyin. +### Adım 3: Takvimler üzerinde döngü kurarak adlarını görüntüleyin. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Takvimi Yeni Takvimle Değiştirme +## Bir Takvim İçin Çalışma Saatleri Nasıl Ayarlanır? + +**Çalışma saatlerini ayarlamak** için bir `Calendar` nesnesinin `WorkingTime` koleksiyonunu değiştirirsiniz. +Örneğin, standart bir 9 – 17 çalışma gününü tanımlayabilir veya özel istisnalar ekleyebilirsiniz. +Bu kod, daha sonra standart bir takvim oluştururken gösterilen örneklerle aynıdır. + +## Bir Takvimi Yeni Bir Takvimle Değiştirme ### Adım 1: Mevcut bir projeyi yükleyin. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Adım 2: Mevcut takvimi (varsa) kaldırın. +### Adım 2: Mevcut takvimi (varsa) kaldırın. +Bu, **takvim kaldırma** senaryosunu gösterir. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -82,14 +101,15 @@ project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Takvimi Ada veya Kimliğe Göre Alma +## Takvimi Adına veya Kimliğine Göre Alma ### Adım 1: Projeyi yükleyin. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Adım 2: Takvimleri ada veya UID'ye göre alın. +### Adım 2: Takvimleri ad veya UID ile alın. +Bu, **adına göre takvim alma** işlemini gösterir. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +122,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Takvimler Üzerinde Yineleme +## Takvimler Üzerinde Döngü ### Adım 1: Projeyi yükleyin. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Adım 2: Takvimlerin sayısını alın. +### Adım 2: Takvim sayısını alın. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Adım 3: Takvim koleksiyonunu ve görünen adları yineleyin. +### Adım 3: Takvim koleksiyonu üzerinde döngü kurarak adları görüntüleyin. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,14 +143,14 @@ foreach (var calendar in calendars) } ``` -## Standart Takvim Yapmak +## Standart Bir Takvim Oluşturma ### Adım 1: Yeni bir proje başlatın. ```csharp var project = new Project(); ``` -### Adım 2: Yeni bir takvim tanımlayın ve onu standart hale getirin. +### Adım 2: Yeni bir takvim tanımlayın ve onu standart yapın. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); @@ -141,34 +161,60 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Çözüm +## Yaygın Sorunlar ve Çözümler -Aspose.Tasks for .NET'te takvim koleksiyonlarını yönetmek, etkili proje yönetimi için çok önemlidir. Sağlanan işlevlerle, proje gereksinimlerinize göre takvimleri verimli bir şekilde oluşturabilir, değiştirebilir ve yönetebilirsiniz. +- **`GetByName` kullanırken takvim bulunamıyor** – Takvim eklenirken kullanılan tam adı, büyük/küçük harf duyarlılığıyla aynı olduğundan emin olun. +- **Çalışma saatleri uygulanmıyor** – `WorkingTime` ayarlandıktan sonra projeyi kaydedin; aksi takdirde değişiklikler yalnızca bellekte kalır. +- **MPP dosyasından takvim içe aktarma başarısız** – Kaynak dosyanın geçerli bir Microsoft Project dosyası olduğundan ve okuma izinlerinizin bulunduğundan emin olun. ## SSS'ler -### S1: Aspose.Tasks'ta özel iş günleri oluşturabilir miyim? +### S1: Aspose.Tasks'te özel çalışma günleri oluşturabilir miyim? + +C1: Evet, takvimlere istisnalar ekleyerek özel çalışma günleri oluşturabilirsiniz. + +### S2: Microsoft Project dosyalarından takvimleri içe aktarabilir miyim? + +C2: Kesinlikle, Aspose.Tasks Microsoft Project dosyalarından takvim içe aktarmayı destekler. -C1: Evet, takvimlere istisnalar ekleyerek özel iş günleri oluşturabilirsiniz. +### S3: Bir projeden belirli bir takvimi nasıl kaldırırım? -### S2: Takvimleri Microsoft Project dosyalarından içe aktarmak mümkün mü? +C3: Takvimi koleksiyondan alıp `Remove` metodunu çağırarak kaldırabilirsiniz. -Cevap2: Kesinlikle Aspose.Tasks, Microsoft Project dosyalarından takvimlerin içe aktarılmasını destekler. +### S4: Aspose.Tasks takvimleri farklı formatlara dışa aktarmayı destekliyor mu? -### S3: Belirli bir takvimi bir projeden nasıl kaldırabilirim? +C4: Evet, Aspose.Tasks takvimleri XML, MPP gibi çeşitli formatlara dışa aktarabilir. - Cevap3: Bir takvimi koleksiyondan alıp ardından çağrı yaparak kaldırabilirsiniz.`Remove` yöntem. +### S5: Takvimde belirli günler için çalışma saatlerini özelleştirebilir miyim? -### S4: Aspose.Tasks takvimlerin farklı formatlara aktarılmasını destekliyor mu? +C5: Tabii ki, takvimdeki istisnalar aracılığıyla tek tek günler için çalışma saatleri tanımlayabilirsiniz. -Cevap4: Evet, Aspose.Tasks, takvimlerin XML, MPP vb. gibi çeşitli formatlara aktarılmasına olanak tanır. +## Sıkça Sorulan Sorular + +**S: 24 saatlik vardiya takvimini nasıl ayarlarım?** +C: Yeni bir takvim oluşturun, mevcut `WorkingTime` girişlerini temizleyin ve her hafta içi günü için 00:00‑24:00 aralığını tek bir `WorkingTime` olarak ekleyin. + +**S: Bir takvimi bir projeden diğerine kopyalayabilir miyim?** +C: Evet—takvimi `project.Save` ile XML olarak dışa aktarın ve ardından `new Project(xmlPath)` ile başka bir projeye içe aktarın. + +**S: Microsoft Project'ten takvimleri programlı olarak nasıl içe aktarırım?** +C: `new Project("source.mpp")` ile MPP dosyasını yükleyin; takvimler `project.Calendars` üzerinden erişilebilir. + +**S: Bir projedeki takvim sayısına bir limit var mı?** +C: Pratikte yok; koleksiyon belleğin izin verdiği kadar takvim tutabilir, ancak performans için listeyi yönetilebilir tutmanız önerilir. + +**S: Bir takvimdeki değişiklikler, onu kullanan görevleri otomatik olarak günceller mi?** +C: Evet—takvime bağlı görevler, projeyi kaydettikten sonra güncellenmiş çalışma zamanlarını yansıtır. + +--- -### S5: Bir takvimdeki belirli günler için çalışma saatlerini özelleştirebilir miyim? +**Son Güncelleme:** 2026-04-13 +**Test Edilen Sürüm:** Aspose.Tasks 24.11 for .NET +**Yazar:** Aspose -Cevap5: Elbette, takvimdeki istisnaları kullanarak bireysel günler için çalışma saatlerini tanımlayabilirsiniz. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/turkish/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/turkish/net/calendar-scheduling/calendar-exceptions/_index.md index 42570c8c8..450a44917 100644 --- a/tasks/turkish/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/turkish/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Aspose.Tasks'ta Takvim İstisnalarını Yönetme -linktitle: Aspose.Tasks'ta Takvim İstisnalarını Yönetme -second_title: Aspose.Tasks .NET API'si -description: Adım adım eğitimler ve örneklerle Aspose.Tasks for .NET'te takvim istisnalarını nasıl yöneteceğinizi öğrenin. -weight: 12 +date: 2026-04-13 +description: Aspose.Tasks for .NET'te takvim istisnasını nasıl sileceğinizi öğrenin + ve ASP.NET takvim planlamasını yönetirken istisna tarihini kontrol edin. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Aspose.Tasks ile Takvim İstisnasını Sil +second_title: Aspose.Tasks .NET API +title: Aspose.Tasks ile Takvim İstisnasını Sil url: /tr/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks'ta Takvim İstisnalarını Yönetme +# Aspose.Tasks ile Takvim İstisnasını Sil + +## Giriş + +Bu öğreticide, **takvim istisnasını silmeyi** ve Aspose.Tasks kullanarak .NET çerçevesiyle diğer takvim istisnalarını yönetmeyi öğreneceksiniz. Takvim istisnaları, tatilleri, geçici kapanışları veya normal çalışma programının değiştiği özel dönemleri modellemenizi sağlar. Bu istisnaları ekleme, sorgulama ve kaldırma konularını anlamak, özellikle **ASP.NET takvim planlaması** senaryolarıyla çalışırken doğru proje zamanlaması için çok önemlidir. + +## Hızlı Yanıtlar +- **Bir istisna kaldırmak için birincil yöntem nedir?** `CalendarException` nesnesindeki `Delete()` metodunu kullanın. +- **Hangi sınıf bir tarihi istisna ile kontrol eder?** `CalendarException.CheckException()` — **istisna tarihini kontrol** etmek için faydalıdır. +- **Kodu çalıştırmak için lisansa ihtiyacım var mı?** Evet, üretim kullanımı için geçerli bir Aspose.Tasks lisansı gereklidir. +- **Tek bir takvime birden fazla istisna ekleyebilir miyim?** Kesinlikle; `Exceptions` koleksiyonu birçok girişi destekler. +- **Desteklenen .NET sürümleri?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Takvim İstisnası Nedir? -## giriiş +Bir **takvim istisnası**, normal çalışma takviminden sapmayı temsil eder—bu, “bu tarihlerde çalışma saatleri farklıdır ya da hiç çalışılmaz” diyen bir kural gibi düşünülebilir. Aspose.Tasks içinde, her istisna kendi çalışma saatlerine, yineleme desenine ve günün çalışılıp çalışılmadığını gösteren işaretçilere sahip olabilir. -Bu eğitimde, .NET çerçevesini kullanarak Aspose.Tasks'ta takvim istisnalarının nasıl yönetileceğini inceleyeceğiz. Takvim istisnaları, bir proje takviminde tatiller veya geçici kapanışlar gibi normal çalışma programının değiştirildiği özel tarihler veya dönemler tanımlamamıza olanak tanır. Aspose.Tasks for .NET'i kullanarak takvim istisnalarını adım adım ele almak için çeşitli yöntemleri ele alacağız. +## ASP.NET Takvim Planlamasında Takvim İstisnalarını Yönetmenin Nedenleri? -## Önkoşullar +- **Doğru zaman çizelgeleri:** Projeler tatilleri ve özel kapanışları otomatik olarak dikkate alır, gerçekçi olmayan son tarihleri önler. +- **Esneklik:** Günlük, haftalık, aylık veya yıllık desenler tanımlayarak gerçek dünya iş takvimleriyle eşleşebilirsiniz. +- **Otomasyon:** Bir istisna tarihini programlı olarak kontrol etmek, ASP.NET uygulamalarında dinamik planlama mantığı oluşturmanızı sağlar. -Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun: -- Temel C# programlama dili bilgisi. -- Sisteminizde Visual Studio yüklü. -- Aspose.Tasks for .NET kütüphanesi projenize eklendi. +## Ön Koşullar + +- C# programlaması hakkında temel bilgi. +- Visual Studio (herhangi bir yeni sürüm). +- Projenize eklenmiş Aspose.Tasks for .NET kütüphanesi (NuGet aracılığıyla veya manuel referansla). ## Ad Alanlarını İçe Aktar -Öncelikle projemiz için gerekli namespace’leri import edelim: +İlk olarak, ihtiyacınız olan ad alanlarını içe aktarın: ```csharp using Aspose.Tasks; using System; - - ``` -## 1. Adım: Takvim İstisnasını Silme +## Adım 1: Takvim İstisnasını Sil -Bir takvim istisnasını silmek için şu adımları izleyin: +İstenmeyen bir istisnayı kaldırmak basittir. Aşağıdaki kod bir projeyi yükler, ilk takvimi seçer, temel bilgileri gösterir, ilk istisnayı siler ve ardından güncellenmiş sayıyı gösterir. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Takvim bilgilerini görüntüle + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // İlk istisnayı kaldır + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## 2. Adım: Bir Takvim İstisnasının Çalışma Süresini Alma +> **Pro ipucu:** `Delete()` metodunu çağırmadan önce istisna indeksinin mevcut olduğunu her zaman doğrulayın, aksi takdirde `IndexOutOfRangeException` alırsınız. -Bir takvim istisnasının çalışma süresini almak için şu adımları izleyin: +## Adım 2: Bir Takvim İstisnasının Çalışma Süresini Al + +Bir istisna için tanımlanan çalışma saatlerini incelemeniz gerekiyorsa, `GetWorkingTime()` metodunu kullanın. Bu örnek ayrıca `CheckException` ile **istisna tarihini kontrol** etmenin nasıl yapılacağını gösterir. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Takvim ve istisna bilgilerini görüntüle + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Çalışma süresini alın ve ayrıntıları görüntüleyin + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## 3. Adım: Takvim İstisnalarını Tanımlama +## Adım 3: Takvim İstisnalarını Tanımla -Takvim istisnalarını eklemek veya kaldırmak için şu adımları izleyin: +Aşağıda, takvim istisnalarını **ekleme**, **kontrol** etme ve **kaldırma** işlemlerini gösteren eksiksiz bir adım‑adım rehber bulunmaktadır. Belirli bir an için **istisna tarihini kontrol** etmek amacıyla `CheckException` kullanımına dikkat edin. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Yeni bir takvim istisnası oluştur + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // İstisna ayrıntılarını ayarlayın + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Tarihin istisna olup olmadığını kontrol edin + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // İstisnayı takvime ekleyin + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Varsa bir istisnayı kaldırın + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Yeni bir istisna ekle + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // İstisnaları yazdır + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Çözüm +## Yaygın Sorunlar ve İpuçları -Bu makalede Aspose.Tasks for .NET'te takvim istisnalarının ele alınmasının çeşitli yönlerini ele aldık. Verilen adımları takip ederek proje programlarınızdaki istisnaları etkili bir şekilde yönetebilir, çalışma saatlerinin ve özel etkinliklerin doğru şekilde gösterilmesini sağlayabilirsiniz. +| Sorun | Sebep | Çözüm | +|-------|--------|----------| +| **Silinirken `IndexOutOfRangeException`** | Var olmayan bir istisnayı silmeye çalışmak. | `Delete()` çağırmadan önce `calendar.Exceptions.Count` > indeks olduğundan emin olun. | +| **Yanlış çalışma saatleri** | `DayWorking` veya `WorkingTimes` doğru ayarlanmamış. | Açık dönemler tanımlamak için `exception.WorkingTimes.Add(new WorkingTime(...))` kullanın. | +| **İstisna tanınmıyor** | `CheckException` metodunun tarih tanımlı aralığın dışında olduğu için `false` döndürmesi. | `FromDate`/`ToDate` ve `Type` (Daily, Weekly, vb.) değerlerini tekrar kontrol edin. | -## SSS'ler +## Sık Sorulan Sorular -### S1: Tek bir takvime birden fazla istisna ekleyebilir miyim? +**S: Tek bir takvime birden fazla istisna ekleyebilir miyim?** +C: Evet, tatilleri, bakım pencerelerini veya herhangi bir özel planlama kuralını temsil etmek için ihtiyacınız kadar istisna ekleyebilirsiniz. -C1: Evet, çeşitli özel tarih veya dönemlere uyum sağlamak için bir takvime birden fazla istisna ekleyebilirsiniz. +**S: Belirli bir gün için **istisna tarihini kontrol** nasıl yaparım?** +C: `CalendarException` örneği üzerinde `CheckException(DateTime date)` metodunu kullanın. Sağlanan tarih istisna aralığı içinde ise `true` döner. -### S2: Belirli bir tarihin istisna olup olmadığını nasıl kontrol edebilirim? +**S: Takvimden mevcut bir istisnayı kaldırmak mümkün mü?** +C: Kesinlikle. `Exceptions` koleksiyonuna erişin ve `Remove()` metodunu çağırın veya belirli `CalendarException` nesnesinde `Delete()` metodunu kullanın. - A2: kullanabilirsiniz`CheckException()` Belirli bir tarihin istisna kapsamına girip girmediğini doğrulamaya yönelik yöntem. +**S: Hangi takvim istisna türleri destekleniyor?** +C: Aspose.Tasks, Daily, Weekly, Monthly ve Yearly istisna türlerini destekler; bu da neredeyse her yineleme desenini modellemenize esneklik sağlar. -### S3: Mevcut bir istisnayı takvimden kaldırmak mümkün müdür? +**S: Belirli istisna tarihleri için çalışma saatlerini özelleştirebilir miyim?** +C: Evet. Bir istisna oluşturduktan sonra, o günün başlangıç ve bitiş zamanlarını tanımlayan `WorkingTime` nesneleriyle `WorkingTimes` koleksiyonunu doldurun. - C3: Evet, şuraya erişerek istisnaları kaldırabilirsiniz:`Exceptions` takvimin toplanması ve kullanılması`Remove()` yöntem. +## Sonuç -### S4: Ne tür takvim istisnaları destekleniyor? +**Takvim istisnasını sil** işlemlerinin tam yaşam döngüsünü, mevcut istisnaları incelemekten yeni eklemeye ve tarihleri kontrol etmeye kadar adım adım gösterdik. Bu tekniklere hâkim olmak, proje zamanlamalarınızın gerçek dünya takvimlerine saygı göstermesini sağlar ve ASP.NET takvim planlaması uygulamalarınızı sağlam ve güvenilir kılar. -Cevap4: Aspose.Tasks, günlük, haftalık, aylık ve yıllık istisnalar dahil olmak üzere çeşitli istisna türlerini destekleyerek istisna kurallarının tanımlanmasında esneklik sağlar. +--- -### S5: Belirli istisna tarihleri için çalışma saatlerini özelleştirebilir miyim? +**Son Güncelleme:** 2026-04-13 +**Test Edilen:** Aspose.Tasks for .NET (en son sürüm) +**Yazar:** Aspose -C5: Evet, Aspose.Tasks tarafından sağlanan uygun yöntemleri kullanarak ayrı ayrı istisna tarihleri için özel çalışma süreleri tanımlayabilirsiniz. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/turkish/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/turkish/net/calendar-scheduling/child-tasks-collector/_index.md index 46ce358e9..47efc237d 100644 --- a/tasks/turkish/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/turkish/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Aspose.Tasks'ta Alt Görevleri Toplama -linktitle: Aspose.Tasks'ta Alt Görevleri Toplama -second_title: Aspose.Tasks .NET API'si -description: Aspose.Tasks for .NET'i kullanarak alt görevleri verimli bir şekilde nasıl toplayacağınızı öğrenin. .NET uygulamalarınızda proje yönetimini iyileştirin. -weight: 15 +date: 2026-04-13 +description: Aspose.Tasks for .NET kullanarak alt görev toplama aracını nasıl oluşturacağınızı + öğrenin. .NET uygulamalarınızda proje yönetimini geliştirin. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Aspose.Tasks'te Alt Görev Toplayıcı Oluştur +second_title: Aspose.Tasks .NET API +title: Aspose.Tasks'te Alt Görev Toplayıcı Nasıl Oluşturulur url: /tr/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Aspose.Tasks'ta Alt Görevleri Toplama +# Aspose.Tasks'te Çocuk Görev Toplayıcı Oluşturma -## giriiş +## Giriş -Proje yönetimi alanında Aspose.Tasks for .NET, görevlerin ve projelerin verimli bir şekilde yönetilmesi için güçlü bir çözüm olarak öne çıkıyor. Bu güçlü kitaplık, geliştiricilere görevleri, projeleri ve aradaki her şeyi sorunsuz bir şekilde yönetmek için ihtiyaç duydukları araçları sağlar. Bu derste Aspose.Tasks'ın belirli bir yönünü ele alacağız: alt görevlerin toplanması. +Microsoft Project dosyası için **create child tasks collector** oluşturmanız gerekiyorsa, Aspose.Tasks for .NET bunu basit hale getirir. Bu öğreticide, bir üst görevin altındaki tüm çocuk görevleri toplamak için gereken adımları adım adım göstereceğiz, böylece onları güvenle işleyebilir, analiz edebilir veya dışa aktarabilirsiniz. Kılavuzun sonunda, herhangi bir .NET‑tabanlı proje yönetimi çözümüne doğal olarak uyan yeniden kullanılabilir bir kod parçacığına sahip olacaksınız. -## Önkoşullar +## Hızlı Yanıtlar +- **ChildTasksCollector ne yapar?** Bir görev hiyerarşisini dolaşır ve tüm alt görevleri bir koleksiyonda toplar. +- **Bu özelliği hangi kütüphane sağlar?** Aspose.Tasks for .NET. +- **Örneği çalıştırmak için lisansa ihtiyacım var mı?** Değerlendirme için ücretsiz deneme çalışır; üretim için lisans gereklidir. +- **Hangi .NET sürümleri desteklenir?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Uygulama ne kadar sürer?** Kütüphane yüklendikten sonra yaklaşık 5‑10 dakika. + +## Child Tasks Collector Nedir? + +Bir **child tasks collector**, bir Project dosyasının görev ağacında, belirtilen kök görevden başlayarak yürüyen ve karşılaştığı her çocuk (alt‑görev) öğesini toplayan bir yardımcı nesnedir. Bu, alanları güncelleme, veri dışa aktarma veya rapor oluşturma gibi toplu işlemler uygulamak istediğinizde, hiyerarşinin her seviyesini manuel olarak yinelemeden özellikle faydalıdır. + +## Neden bir child tasks collector oluşturmalısınız? -Başlamadan önce aşağıdaki önkoşulların mevcut olduğundan emin olun: +- **Recursion'ı basitleştirin:** Toplayıcı, derinlik‑ilk dolaşımı dahili olarak yönetir, böylece kendi yinelemeli döngülerinizi yazmaktan kaçınırsınız. +- **Verimliliği artırın:** Tüm alt görevleri tek bir koleksiyonda alın, toplu düzenlemeleri veya analizleri zahmetsiz hale getirir. +- **Temiz kodu koruyun:** İş mantığınızı proje yapısının düşük seviyeli gezinmesinden ayırır. -1. Temel C# Anlayışı: C# programlama diline aşinalık esastır. -2. Aspose.Tasks for .NET Kurulumu: Aspose.Tasks for .NET kütüphanesini aşağıdaki adresten indirip yükleyin:[İndirme: {link](https://releases.aspose.com/tasks/net/). -3. Geliştirme Ortamı: C# kodunu yazmak ve yürütmek için Visual Studio gibi bir geliştirme ortamı kurun. -4. Dokümantasyona Erişim:[Aspose.Tasks for .NET belgeleri](https://reference.aspose.com/tasks/net/) referans için kullanışlı. +## Önkoşullar + +1. **Basic Understanding of C#** – basit konsol uygulamaları yazıp çalıştırmada rahat olmalısınız. +2. **Aspose.Tasks for .NET installed** – bunu [download link](https://releases.aspose.com/tasks/net/) adresinden indirin. +3. **A development environment** – Visual Studio, Rider veya C# destekleyen herhangi bir IDE. +4. **Access to the official docs** – referans için [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) yanınızda bulundurun. -Artık önkoşulları ele aldığımıza göre, Aspose.Tasks for .NET kullanarak alt görevleri toplamaya yönelik adım adım kılavuza geçelim. +Artık temel hazır, kodlara dalalım. -## Ad Alanlarını İçe Aktar +## Ad Alanlarını İçe Aktarın -Aspose.Tasks for .NET tarafından sağlanan işlevselliğe erişmek için öncelikle gerekli ad alanlarını C# kodunuza aktarın. +İlk olarak, derleyicinin kullanacağımız sınıfların nerede olduğunu bilmesi için gerekli ad alanlarını kapsam içine getirin. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Şimdi süreci iyice anlamak için verilen örneği birden fazla adıma ayıralım. +## Adım Adım Kılavuz -## Adım 1: Proje Nesnesini Başlatın +### Adım 1: Project Nesnesini Başlatma ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Bu kod satırı yeni bir`Project` belirtilen dizinden "ParentChildTasks.mpp" adlı bir proje dosyası yükleniyor. +Bu satır, `DataDir` klasöründeki mevcut bir Microsoft Project dosyasını (`ParentChildTasks.mpp`) bir `Project` nesnesine yükler ve bize görevlerine programatik erişim sağlar. -## Adım 2: ChildTasksCollector Nesnesi Oluşturun +### Adım 2: ChildTasksCollector Örneğini Oluşturma ```csharp var collector = new ChildTasksCollector(); ``` - Burada yeni bir tane oluşturuyoruz`ChildTasksCollector` projeden alt görevleri toplamamıza yardımcı olacak nesne. +Burada **create child tasks collector** – keşfettiği her çocuk görevi depolayacak bir `ChildTasksCollector` örneği oluşturuyoruz. -## Adım 3: Toplayıcıyı Kök Göreve Uygulayın +### Adım 3: Toplayıcıyı Kök Göreve Uygulama ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - biz uyguluyoruz`ChildTasksCollector` Toplama sürecini yinelemeli olarak başlatarak projenin temel görevine. +Aspose.Tasks'e koleksiyonu projenin kök görevinde başlatmasını söylüyoruz. `Apply` yöntemi hiyerarşiyi yinelemeli olarak dolaşır ve `collector.Tasks` öğesini tüm alt görevlerle doldurur. -## Adım 4: Toplanan Görevleri Yineleyin +### Adım 4: Toplanan Görevler Üzerinde Döngü ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -Son olarak, toplanan görevleri yineliyoruz ve adlarını konsola yazdırıyoruz. +Son olarak, toplanan görevler üzerinde döngü yapar ve her bir görevin adını konsola yazdırırız. Gerçek bir senaryoda `Console.WriteLine` ifadesini ihtiyacınız olan herhangi bir özel işlemle (ör. CSV'ye dışa aktarma, alanları güncelleme vb.) değiştirebilirsiniz. -## Çözüm +## Yaygın Sorunlar ve Çözümler -Bu eğitimde Aspose.Tasks for .NET kullanarak alt görevlerin nasıl toplanacağını araştırdık. Yukarıda özetlenen adımları izleyerek projelerinizdeki görevleri verimli bir şekilde yönetebilir ve yönetebilir, üretkenliği ve organizasyonu artırabilirsiniz. +| Sorun | Sebep | Çözüm | +|-------|--------|-----| +| **Görevler döndürülmüyor** | Toplayıcı yanlış göreve (ör. bir yaprak düğüm) uygulandı. | `TaskUtils.Apply` metodunu `project.RootTask`'a veya başlamak istediğiniz belirli üst göreve uygulayın. | +| **NullReferenceException** | `DataDir` veya dosya yolu yanlış. | `DataDir`'in `ParentChildTasks.mpp` dosyasını içeren klasöre işaret ettiğini doğrulayın. | +| **Lisans ayarlanmamış** | Aspose.Tasks deneme modunda lisans uyarısı verir. | `Project` nesnesini oluşturmadan önce `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` kodu ile lisansınızı yükleyin. | -## SSS'ler +## Sıkça Sorulan Sorular -### S1: Aspose.Tasks for .NET, .NET'in tüm sürümleriyle uyumlu mudur? +**Q: Aspose.Tasks for .NET tüm .NET sürümleriyle uyumlu mu?** +**A:** Evet, Aspose.Tasks for .NET .NET Framework 4.5+, .NET Core 3.1+ ve .NET 5/6+ ile çalışır. -C1: Evet, Aspose.Tasks for .NET, .NET çerçevesinin çeşitli sürümleriyle uyumludur ve geniş uyumluluk sağlar. +**Q: Aspose.Tasks for .NET'i yeni proje dosyaları oluşturmak için kullanabilir miyim?** +**A:** Kesinlikle! Kütüphane, proje dosyalarını programmatically oluşturmanıza, okumanıza ve manipüle etmenize olanak tanır. -### S2: Aspose.Tasks for .NET'i yeni proje dosyaları oluşturmak için kullanabilir miyim? +**Q: Aspose.Tasks for .NET birden fazla platformu destekliyor mu?** +**A:** .NET için tasarlanmış olsa da, .NET çalışma zamanını destekleyen herhangi bir platformda çalıştırabilirsiniz; Windows, Linux ve macOS dahil. -A2: Kesinlikle! Aspose.Tasks for .NET, proje dosyalarını zahmetsizce oluşturma, okuma ve yönetme işlevselliği sağlar. +**Q: Aspose.Tasks for .NET için teknik destek mevcut mu?** +**A:** Evet, [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15) üzerinden yardım alabilirsiniz. -### S3: Aspose.Tasks for .NET birden fazla platformu destekliyor mu? +**Q: Aspose.Tasks for .NET'i satın almadan önce deneyebilir miyim?** +**A:** Elbette! Ücretsiz deneme, [release page](https://releases.aspose.com/) adresinden temin edilebilir. -Cevap3: Aspose.Tasks for .NET öncelikli olarak .NET ortamları için tasarlanmış olsa da, .NET geliştirmeyi destekleyen çeşitli platformlarda kullanılabilir. - -### S4: Aspose.Tasks for .NET için teknik destek mevcut mu? - -C4: Evet, kullanıcılar teknik desteğe şu adresten erişebilir:[Aspose.Tasks forumu](https://forum.aspose.com/c/tasks/15). +--- -### S5: Satın almadan önce Aspose.Tasks for .NET'i deneyebilir miyim? +**Son Güncelleme:** 2026-04-13 +**Test Edildiği Versiyon:** Aspose.Tasks 24.11 for .NET +**Yazar:** Aspose - A5: Kesinlikle! Ücretsiz denemeden yararlanabilirsiniz[yayın sayfası](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/vietnamese/net/calendar-scheduling/calendar-collection/_index.md b/tasks/vietnamese/net/calendar-scheduling/calendar-collection/_index.md index 115083c69..92a14ede5 100644 --- a/tasks/vietnamese/net/calendar-scheduling/calendar-collection/_index.md +++ b/tasks/vietnamese/net/calendar-scheduling/calendar-collection/_index.md @@ -1,33 +1,46 @@ --- -title: Quản lý bộ sưu tập lịch trong Aspose.Tasks +date: 2026-04-13 +description: Tìm hiểu cách thiết lập giờ làm việc và quản lý bộ sưu tập lịch trong + Aspose.Tasks cho .NET. Nhập lịch từ Microsoft Project, xóa lịch dự án và lấy lịch + theo tên một cách dễ dàng. +keywords: +- set working hours +- import calendars microsoft project +- remove calendar project +- get calendar by name linktitle: Quản lý bộ sưu tập lịch trong Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Tìm hiểu cách quản lý bộ sưu tập lịch trong Aspose.Tasks cho .NET một cách hiệu quả. Tạo, sửa đổi và thao tác lịch một cách dễ dàng. -weight: 11 +title: Thiết lập giờ làm việc trong bộ sưu tập Lịch Aspose.Tasks url: /vi/net/calendar-scheduling/calendar-collection/ +weight: 11 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Quản lý bộ sưu tập lịch trong Aspose.Tasks +# Đặt giờ làm việc trong Bộ sưu tập Lịch Aspose.Tasks -## Giới thiệu +Trong hướng dẫn này, bạn sẽ học cách **đặt giờ làm việc** và quản lý bộ sưu tập lịch bằng Aspose.Tasks cho .NET. Lịch xác định các ngày làm việc, ngày nghỉ và các ngoại lệ, vì vậy việc nắm vững chúng cho phép bạn kiểm soát lịch trình dự án một cách chính xác. Chúng tôi cũng sẽ chỉ cho bạn cách nhập lịch từ Microsoft Project, xóa một lịch khỏi dự án và lấy một lịch theo tên. -Trong hướng dẫn này, chúng ta sẽ khám phá cách quản lý bộ sưu tập lịch trong Aspose.Tasks cho .NET. Lịch đóng một vai trò quan trọng trong quản lý dự án, xác định ngày làm việc, ngày lễ và các trường hợp ngoại lệ. Aspose.Tasks cung cấp chức năng mạnh mẽ để thao tác lịch trong dự án của bạn. +## Câu trả lời nhanh +- **Lớp chính cho lịch là gì?** `Project.Calendars` collection. +- **Làm thế nào để đặt giờ làm việc?** Tạo hoặc sửa đổi một đối tượng `Calendar` và định nghĩa `WorkingTime` của nó. +- **Tôi có thể nhập lịch từ Microsoft Project không?** Có – tải tệp MPP và truy cập các lịch của nó. +- **Cách xóa một lịch khỏi dự án?** Sử dụng `Project.Calendars.Remove(calendar)`. +- **Cách lấy một lịch theo tên?** Gọi `Project.Calendars.GetByName("YourCalendar")`. -## Điều kiện tiên quyết +## Yêu cầu trước -Trước khi chúng tôi bắt đầu, hãy đảm bảo bạn có những điều sau: +Trước khi bắt đầu, hãy đảm bảo bạn có những thứ sau: -1. Visual Studio: Cài đặt Visual Studio hoặc bất kỳ IDE tương thích nào khác để phát triển .NET. -2. Aspose.Tasks for .NET: Tải xuống và cài đặt Aspose.Tasks cho .NET từ[đây](https://releases.aspose.com/tasks/net/). -3. Hiểu biết cơ bản về C#: Làm quen với ngôn ngữ lập trình C# sẽ có lợi. +1. Visual Studio: Cài đặt Visual Studio hoặc bất kỳ IDE tương thích nào khác cho phát triển .NET. +2. Aspose.Tasks for .NET: Tải xuống và cài đặt Aspose.Tasks for .NET từ [here](https://releases.aspose.com/tasks/net/). +3. Kiến thức cơ bản về C#: Hiểu biết về ngôn ngữ lập trình C# sẽ rất hữu ích. ## Nhập không gian tên -Trước tiên, hãy nhập các không gian tên cần thiết để làm việc với Aspose.Tasks: +Đầu tiên, hãy nhập các không gian tên cần thiết để làm việc với Aspose.Tasks: ```csharp using Aspose.Tasks; @@ -35,12 +48,11 @@ using System; using System.Collections.Generic; using Aspose.Tasks.Saving; - ``` -## Tạo lịch mới +## Tạo một Lịch mới -### Bước 1: Khởi tạo một cái mới`Project` object. +### Bước 1: Khởi tạo một đối tượng `Project` mới. ```csharp var project = new Project(); ``` @@ -52,7 +64,7 @@ var newCalendar = project.Calendars.Add("Parent"); project.Calendars.Add("Child", newCalendar); ``` -### Bước 3: Lặp lại các lịch và hiển thị tên của chúng. +### Bước 3: Duyệt qua các lịch và hiển thị tên của chúng. ```csharp foreach (var calendar in project.Calendars) { @@ -60,14 +72,21 @@ foreach (var calendar in project.Calendars) } ``` -## Thay thế Lịch bằng Lịch Mới +## Cách đặt giờ làm việc cho một lịch? + +Để **đặt giờ làm việc**, bạn sửa đổi bộ sưu tập `WorkingTime` của một `Calendar`. +Ví dụ, bạn có thể định nghĩa một ngày làm việc tiêu chuẩn từ 9 am‑5 pm hoặc thêm các ngoại lệ tùy chỉnh. +Mã cho việc này giống hệt các ví dụ được trình bày sau khi chúng ta tạo một lịch chuẩn. + +## Thay thế một lịch bằng lịch mới ### Bước 1: Tải một dự án hiện có. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Bước 2: Xóa lịch hiện có (nếu có). +### Bước 2: Xóa lịch hiện có (nếu tồn tại). +Điều này minh họa kịch bản **xóa lịch dự án**. ```csharp var calendar = project.Calendars.GetByName("TestCalendar"); if (calendar != null) @@ -76,20 +95,21 @@ if (calendar != null) } ``` -### Bước 3: Thêm lịch mới. +### Bước 3: Thêm một lịch mới. ```csharp project.Calendars.Add("New Calendar"); project.Save(OutDir + "ReplaceCalendarWithNewCalendar_out.mpp", SaveFileFormat.Mpp); ``` -## Lấy lịch theo tên hoặc ID +## Lấy lịch theo Tên hoặc ID ### Bước 1: Tải dự án. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Bước 2: Truy xuất lịch theo tên hoặc UID. +### Bước 2: Lấy lịch theo tên hoặc UID. +Điều này minh họa thao tác **lấy lịch theo tên**. ```csharp var calendarByName = project.Calendars.GetByName("TestCalendar"); var calendarByUid = project.Calendars.GetByUid(4); @@ -102,19 +122,19 @@ Console.WriteLine("Calendar Name: " + calendarByUid.Name); Console.WriteLine("Are calendars equals: " + calendarByName.Equals(calendarByUid)); ``` -## Lặp lại lịch +## Duyệt qua các Lịch ### Bước 1: Tải dự án. ```csharp var project = new Project(DataDir + "Project5.mpp"); ``` -### Bước 2: Truy xuất số lượng lịch. +### Bước 2: Lấy số lượng lịch. ```csharp Console.WriteLine("Number of calendars in the project: " + project.Calendars.Count); ``` -### Bước 3: Lặp lại bộ sưu tập lịch và tên hiển thị. +### Bước 3: Duyệt qua bộ sưu tập lịch và hiển thị tên. ```csharp List calendars = project.Calendars.ToList(); foreach (var calendar in calendars) @@ -123,14 +143,14 @@ foreach (var calendar in calendars) } ``` -## Làm lịch chuẩn +## Tạo một Lịch chuẩn ### Bước 1: Khởi tạo một dự án mới. ```csharp var project = new Project(); ``` -### Bước 2: Xác định lịch mới và làm cho nó trở thành tiêu chuẩn. +### Bước 2: Định nghĩa một lịch mới và đặt nó làm chuẩn. ```csharp var calendar = project.Calendars.Add("New Standard Calendar"); Calendar.MakeStandardCalendar(calendar); @@ -141,34 +161,55 @@ Calendar.MakeStandardCalendar(calendar); project.Save(OutDir + "MakeAStandardCalendar_out.xml", SaveFileFormat.Xml); ``` -## Phần kết luận +## Các vấn đề thường gặp và giải pháp -Quản lý bộ sưu tập lịch trong Aspose.Tasks cho .NET là điều cần thiết để quản lý dự án hiệu quả. Với các chức năng được cung cấp, bạn có thể tạo, sửa đổi và thao tác lịch một cách hiệu quả theo yêu cầu dự án của mình. +- **Không tìm thấy lịch khi sử dụng `GetByName`** – Đảm bảo tên chính xác khớp với cách viết chữ hoa/chữ thường khi lịch được thêm. +- **Giờ làm việc không được áp dụng** – Sau khi thiết lập `WorkingTime`, nhớ lưu dự án; nếu không các thay đổi chỉ tồn tại trong bộ nhớ. +- **Nhập lịch từ tệp MPP thất bại** – Kiểm tra tệp nguồn có phải là tệp Microsoft Project hợp lệ và bạn có quyền đọc. ## Câu hỏi thường gặp ### Câu hỏi 1: Tôi có thể tạo ngày làm việc tùy chỉnh trong Aspose.Tasks không? - -Trả lời 1: Có, bạn có thể tạo ngày làm việc tùy chỉnh bằng cách thêm ngoại lệ vào lịch. +A1: Có, bạn có thể tạo ngày làm việc tùy chỉnh bằng cách thêm các ngoại lệ vào lịch. ### Câu hỏi 2: Có thể nhập lịch từ tệp Microsoft Project không? +A2: Chắc chắn, Aspose.Tasks hỗ trợ nhập lịch từ các tệp Microsoft Project. -A2: Hoàn toàn có thể, Aspose.Tasks hỗ trợ nhập lịch từ các tệp Microsoft Project. +### Câu hỏi 3: Làm thế nào để xóa một lịch cụ thể khỏi dự án? +A3: Bạn có thể xóa một lịch bằng cách lấy nó từ bộ sưu tập và sau đó gọi phương thức `Remove`. -### Câu hỏi 3: Làm cách nào để xóa lịch cụ thể khỏi dự án? +### Câu hỏi 4: Aspose.Tasks có hỗ trợ xuất lịch sang các định dạng khác không? +A4: Có, Aspose.Tasks cho phép xuất lịch sang nhiều định dạng như XML, MPP, v.v. - A3: Bạn có thể xóa lịch bằng cách lấy nó từ bộ sưu tập rồi gọi`Remove` phương pháp. +### Câu hỏi 5: Tôi có thể tùy chỉnh giờ làm việc cho các ngày cụ thể trong một lịch không? +A5: Chắc chắn, bạn có thể định nghĩa giờ làm việc cho từng ngày riêng lẻ bằng cách sử dụng các ngoại lệ trong lịch. -### Câu hỏi 4: Aspose.Tasks có hỗ trợ xuất lịch sang các định dạng khác nhau không? +## Các câu hỏi thường gặp -Câu trả lời 4: Có, Aspose.Tasks cho phép xuất lịch sang nhiều định dạng khác nhau như XML, MPP, v.v. +**Q: Cách tốt nhất để thiết lập lịch ca 24‑giờ là gì?** +A: Tạo một lịch mới, xóa các mục `WorkingTime` hiện có, và thêm một phạm vi `WorkingTime` duy nhất từ 00:00 đến 24:00 cho mỗi ngày trong tuần. + +**Q: Tôi có thể sao chép một lịch từ dự án này sang dự án khác không?** +A: Có—xuất lịch ra XML bằng `project.Save` và sau đó nhập nó vào dự án khác bằng `new Project(xmlPath)`. + +**Q: Làm thế nào để lập trình nhập lịch từ Microsoft Project?** +A: Tải tệp MPP bằng `new Project("source.mpp")`; các lịch sẽ có sẵn qua `project.Calendars`. + +**Q: Có giới hạn số lượng lịch trong một dự án không?** +A: Thực tế không; bộ sưu tập có thể chứa bao nhiêu lịch tùy thuộc vào bộ nhớ, nhưng nên giữ danh sách hợp lý để hiệu suất tốt. + +**Q: Các thay đổi đối với lịch có tự động cập nhật các nhiệm vụ sử dụng nó không?** +A: Có—các nhiệm vụ liên kết với lịch sẽ phản ánh thời gian làm việc đã cập nhật sau khi bạn lưu dự án. + +--- -### Câu hỏi 5: Tôi có thể tùy chỉnh giờ làm việc cho những ngày cụ thể trong lịch không? +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks 24.11 for .NET +**Author:** Aspose -Câu trả lời 5: Chắc chắn, bạn có thể xác định giờ làm việc cho từng ngày bằng cách sử dụng các ngoại lệ trong lịch. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/vietnamese/net/calendar-scheduling/calendar-exceptions/_index.md b/tasks/vietnamese/net/calendar-scheduling/calendar-exceptions/_index.md index 01ecc6029..eb38878cb 100644 --- a/tasks/vietnamese/net/calendar-scheduling/calendar-exceptions/_index.md +++ b/tasks/vietnamese/net/calendar-scheduling/calendar-exceptions/_index.md @@ -1,43 +1,63 @@ --- -title: Xử lý ngoại lệ lịch trong Aspose.Tasks -linktitle: Xử lý ngoại lệ lịch trong Aspose.Tasks +date: 2026-04-13 +description: Tìm hiểu cách xóa ngoại lệ lịch trong Aspose.Tasks cho .NET và kiểm tra + ngày ngoại lệ khi quản lý lịch trình ASP.NET. +keywords: +- delete calendar exception +- asp.net calendar scheduling +- check exception date +linktitle: Xóa ngoại lệ lịch bằng Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Tìm hiểu cách quản lý các ngoại lệ lịch trong Aspose.Tasks dành cho .NET với các ví dụ và hướng dẫn từng bước. -weight: 12 +title: Xóa ngoại lệ lịch với Aspose.Tasks url: /vi/net/calendar-scheduling/calendar-exceptions/ +weight: 12 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Xử lý ngoại lệ lịch trong Aspose.Tasks +# Xóa Ngoại Lệ Lịch với Aspose.Tasks ## Giới thiệu -Trong hướng dẫn này, chúng ta sẽ khám phá cách quản lý các ngoại lệ lịch trong Aspose.Tasks bằng .NET framework. Các trường hợp ngoại lệ về lịch cho phép chúng tôi xác định các ngày hoặc giai đoạn đặc biệt trong lịch dự án khi lịch làm việc thông thường bị thay đổi, chẳng hạn như ngày lễ hoặc thời gian đóng cửa tạm thời. Chúng tôi sẽ đề cập đến các phương pháp khác nhau để xử lý các ngoại lệ của lịch theo từng bước bằng cách sử dụng Aspose.Tasks cho .NET. +Trong hướng dẫn này, bạn sẽ học cách **xóa ngoại lệ lịch** và quản lý các ngoại lệ lịch khác trong Aspose.Tasks bằng .NET framework. Các ngoại lệ lịch cho phép bạn mô hình hoá ngày lễ, đóng cửa tạm thời, hoặc bất kỳ khoảng thời gian đặc biệt nào mà lịch làm việc bình thường thay đổi. Hiểu cách thêm, truy vấn và loại bỏ các ngoại lệ này là cần thiết để lập kế hoạch dự án chính xác, đặc biệt khi làm việc với các kịch bản **lập lịch lịch ASP.NET**. + +## Câu trả lời nhanh +- **Phương pháp chính để loại bỏ một ngoại lệ là gì?** Sử dụng phương thức `Delete()` trên đối tượng `CalendarException`. +- **Lớp nào kiểm tra ngày so với một ngoại lệ?** `CalendarException.CheckException()`—hữu ích để **kiểm tra ngày ngoại lệ**. +- **Tôi có cần giấy phép để chạy mã không?** Có, cần một giấy phép Aspose.Tasks hợp lệ cho môi trường sản xuất. +- **Tôi có thể thêm nhiều ngoại lệ vào một lịch không?** Chắc chắn; bộ sưu tập `Exceptions` hỗ trợ nhiều mục. +- **Phiên bản .NET được hỗ trợ?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7. + +## Ngoại lệ lịch là gì? + +Một **ngoại lệ lịch** đại diện cho sự lệch khỏi lịch làm việc thông thường—nghĩ như một quy tắc nói “vào những ngày này, giờ làm việc khác nhau hoặc không có giờ làm việc”. Trong Aspose.Tasks, mỗi ngoại lệ có thể có thời gian làm việc riêng, mẫu lặp lại và các cờ chỉ ra ngày có làm việc hay không. + +## Tại sao quản lý ngoại lệ lịch trong Lập lịch ASP.NET? -## Điều kiện tiên quyết +- **Dòng thời gian chính xác:** Dự án tự động tôn trọng ngày lễ và các thời gian đóng cửa đặc biệt, ngăn ngừa thời hạn không thực tế. +- **Linh hoạt:** Bạn có thể định nghĩa mẫu hàng ngày, hàng tuần, hàng tháng hoặc hàng năm, phù hợp với lịch doanh nghiệp thực tế. +- **Tự động hóa:** Kiểm tra ngày ngoại lệ bằng chương trình cho phép bạn xây dựng logic lập lịch động trong các ứng dụng ASP.NET. -Trước khi chúng tôi bắt đầu, hãy đảm bảo bạn có các điều kiện tiên quyết sau: -- Kiến thức cơ bản về ngôn ngữ lập trình C#. -- Visual Studio được cài đặt trên hệ thống của bạn. -- Thư viện Aspose.Tasks cho .NET đã được thêm vào dự án của bạn. +## Yêu cầu trước + +- Kiến thức cơ bản về lập trình C#. +- Visual Studio (bất kỳ phiên bản mới nào). +- Thư viện Aspose.Tasks for .NET đã được thêm vào dự án (qua NuGet hoặc tham chiếu thủ công). ## Nhập không gian tên -Đầu tiên, hãy nhập các không gian tên cần thiết cho dự án của chúng ta: +Đầu tiên, nhập các không gian tên bạn sẽ cần: ```csharp using Aspose.Tasks; using System; - - ``` ## Bước 1: Xóa ngoại lệ lịch -Để xóa ngoại lệ lịch, hãy làm theo các bước sau: +Việc loại bỏ một ngoại lệ không mong muốn rất đơn giản. Đoạn mã dưới đây tải một dự án, chọn lịch đầu tiên, hiển thị thông tin cơ bản, xóa ngoại lệ đầu tiên, và sau đó hiển thị số lượng đã cập nhật. ```csharp public void CalendarExceptionDelete() @@ -45,20 +65,22 @@ public void CalendarExceptionDelete() var project = new Project(DataDir + "CalendarExceptions.mpp"); var calendar = project.Calendars.ToList()[0]; - // Hiển thị thông tin lịch + // Display calendar information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); - // Xóa ngoại lệ đầu tiên + // Remove the first exception calendar.Exceptions[0].Delete(); Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count); } ``` -## Bước 2: Lấy thời gian làm việc của ngoại lệ lịch +> **Mẹo chuyên nghiệp:** Luôn kiểm tra chỉ mục ngoại lệ tồn tại trước khi gọi `Delete()` để tránh `IndexOutOfRangeException`. -Để truy xuất thời gian làm việc của ngoại lệ lịch, hãy làm theo các bước sau: +## Bước 2: Lấy thời gian làm việc của một ngoại lệ lịch + +Nếu bạn cần kiểm tra giờ làm việc được định nghĩa cho một ngoại lệ, hãy sử dụng `GetWorkingTime()`. Ví dụ này cũng minh họa cách **kiểm tra ngày ngoại lệ** bằng `CheckException`. ```csharp [Test] @@ -68,12 +90,12 @@ public void CalendarExceptionGetWorkingTime() var calendar = project.Calendars.ToList()[0]; var exception = calendar.Exceptions[0]; - // Hiển thị thông tin lịch và ngoại lệ + // Display calendar and exception information Console.WriteLine("Calendar Name: " + calendar.Name); Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count); Console.WriteLine("Calendar Exception Name: " + exception.Name); - // Nhận thời gian làm việc và hiển thị chi tiết + // Get working time and display details var workingTime = exception.GetWorkingTime(); Console.WriteLine("Exception Working Time: " + workingTime); @@ -85,9 +107,9 @@ public void CalendarExceptionGetWorkingTime() } ``` -## Bước 3: Xác định ngoại lệ lịch +## Bước 3: Định nghĩa ngoại lệ lịch -Để thêm hoặc xóa ngoại lệ lịch, hãy làm theo các bước sau: +Dưới đây là một quy trình đầy đủ cho thấy cách **thêm**, **kiểm tra**, và **xóa** các ngoại lệ lịch. Lưu ý việc sử dụng `CheckException` để **kiểm tra ngày ngoại lệ** cho một thời điểm cụ thể. ```csharp [Test] @@ -96,10 +118,10 @@ public void DefineCalendarExceptions() var project = new Project(DataDir + "project_test.mpp"); var calendar = project.Calendars.Add("Calendar1"); - // Tạo một ngoại lệ lịch mới + // Create a new calendar exception var exception = new CalendarException(); exception.Name = "New Calendar Exception"; - // Đặt chi tiết ngoại lệ + // Set exception details exception.EnteredByOccurrences = false; exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0); exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0); @@ -107,13 +129,13 @@ public void DefineCalendarExceptions() exception.Month = Month.December; exception.DayWorking = false; - // Kiểm tra xem một ngày có phải là ngoại lệ không + // Check if a date is an exception (check exception date) Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0))); - // Thêm ngoại lệ vào lịch + // Add the exception to the calendar calendar.Exceptions.Add(exception); - // Xóa ngoại lệ nếu tồn tại + // Remove an exception if exists var cal = project.Calendars.ToList()[0]; if (cal.Exceptions.Count > 1) { @@ -121,13 +143,13 @@ public void DefineCalendarExceptions() cal.Exceptions.Remove(excToRemove); } - // Thêm một ngoại lệ mới + // Add a new exception var exception2 = new CalendarException(); exception2.FromDate = new System.DateTime(2009, 1, 1); exception2.ToDate = new System.DateTime(2009, 1, 3); cal.Exceptions.Add(exception2); - // In ngoại lệ + // Print exceptions foreach (var exc in cal.Exceptions) { Console.WriteLine("Name: " + exc.Name); @@ -137,34 +159,44 @@ public void DefineCalendarExceptions() } ``` -## Phần kết luận +## Vấn đề thường gặp & Mẹo -Trong bài viết này, chúng tôi đã đề cập đến nhiều khía cạnh khác nhau của việc xử lý ngoại lệ lịch trong Aspose.Tasks dành cho .NET. Bằng cách làm theo các bước được cung cấp, bạn có thể quản lý hiệu quả các trường hợp ngoại lệ trong lịch trình dự án của mình, đảm bảo trình bày chính xác về giờ làm việc và các sự kiện đặc biệt. +| Vấn đề | Lý do | Giải pháp | +|-------|--------|----------| +| **`IndexOutOfRangeException` khi xóa** | Cố gắng xóa một ngoại lệ không tồn tại. | Kiểm tra `calendar.Exceptions.Count` > chỉ mục trước khi gọi `Delete()`. | +| **Thời gian làm việc không đúng** | Không thiết lập `DayWorking` hoặc `WorkingTimes` đúng cách. | Sử dụng `exception.WorkingTimes.Add(new WorkingTime(...))` để định nghĩa các khoảng thời gian cụ thể. | +| **Ngoại lệ không được nhận diện** | `CheckException` trả về `false` vì ngày nằm ngoài phạm vi đã định. | Kiểm tra lại `FromDate`/`ToDate` và `Type` (Daily, Weekly, v.v.). | ## Câu hỏi thường gặp -### Câu hỏi 1: Tôi có thể thêm nhiều ngoại lệ vào một lịch không? +**H: Tôi có thể thêm nhiều ngoại lệ vào một lịch duy nhất không?** +Đ: Có, bạn có thể thêm bao nhiêu ngoại lệ tùy ý để đại diện cho ngày lễ, **cửa sổ bảo trì**, hoặc bất kỳ quy tắc lập lịch đặc biệt nào. -Câu trả lời 1: Có, bạn có thể thêm nhiều ngoại lệ vào lịch để phù hợp với nhiều ngày hoặc khoảng thời gian đặc biệt khác nhau. +**H: Làm cách nào để **kiểm tra ngày ngoại lệ** cho một ngày cụ thể?** +Đ: Sử dụng phương thức `CheckException(DateTime date)` trên một thể hiện `CalendarException`. Nó trả về `true` nếu ngày được cung cấp nằm trong phạm vi ngoại lệ. -### Câu hỏi 2: Làm cách nào để kiểm tra xem một ngày cụ thể có phải là ngoại lệ không? +**H: Có thể loại bỏ một ngoại lệ hiện có khỏi lịch không?** +Đ: Chắc chắn. Truy cập bộ sưu tập `Exceptions` và gọi `Remove()` hoặc gọi `Delete()` trên đối tượng `CalendarException` cụ thể. - A2: Bạn có thể sử dụng`CheckException()` phương pháp để xác minh xem một ngày cụ thể có thuộc trường hợp ngoại lệ hay không. +**H: Những loại ngoại lệ lịch nào được hỗ trợ?** +Đ: Aspose.Tasks hỗ trợ các loại ngoại lệ Daily, Weekly, Monthly và Yearly, cung cấp sự linh hoạt để mô hình hoá hầu hết các mẫu lặp lại. -### Câu hỏi 3: Có thể xóa ngoại lệ hiện có khỏi lịch không? +**H: Tôi có thể tùy chỉnh giờ làm việc cho các ngày ngoại lệ cụ thể không?** +Đ: Có. Sau khi tạo một ngoại lệ, hãy điền bộ sưu tập `WorkingTimes` của nó bằng các đối tượng `WorkingTime` xác định thời gian bắt đầu và kết thúc cho ngày đó. - Câu trả lời 3: Có, bạn có thể loại bỏ các ngoại lệ bằng cách truy cập vào`Exceptions` bộ sưu tập lịch và sử dụng`Remove()` phương pháp. +## Kết luận -### Câu hỏi 4: Những loại ngoại lệ lịch nào được hỗ trợ? +Chúng ta đã đi qua toàn bộ vòng đời của các thao tác **xóa ngoại lệ lịch**, từ việc kiểm tra các ngoại lệ hiện có đến việc thêm mới và kiểm tra ngày. Nắm vững các kỹ thuật này giúp lịch trình dự án của bạn tôn trọng lịch thực tế, làm cho các triển khai lập lịch ASP.NET của bạn trở nên vững chắc và đáng tin cậy. -Câu trả lời 4: Aspose.Tasks hỗ trợ nhiều loại ngoại lệ khác nhau, bao gồm ngoại lệ hàng ngày, hàng tuần, hàng tháng và hàng năm, mang lại sự linh hoạt trong việc xác định các quy tắc ngoại lệ. +--- -### Câu hỏi 5: Tôi có thể tùy chỉnh giờ làm việc cho những ngày ngoại lệ cụ thể không? +**Cập nhật lần cuối:** 2026-04-13 +**Kiểm tra với:** Aspose.Tasks for .NET (phiên bản mới nhất) +**Tác giả:** Aspose -Câu trả lời 5: Có, bạn có thể xác định thời gian làm việc tùy chỉnh cho từng ngày ngoại lệ riêng lẻ bằng các phương pháp thích hợp do Aspose.Tasks cung cấp. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/tasks/vietnamese/net/calendar-scheduling/child-tasks-collector/_index.md b/tasks/vietnamese/net/calendar-scheduling/child-tasks-collector/_index.md index e79e844d5..425065726 100644 --- a/tasks/vietnamese/net/calendar-scheduling/child-tasks-collector/_index.md +++ b/tasks/vietnamese/net/calendar-scheduling/child-tasks-collector/_index.md @@ -1,72 +1,94 @@ --- -title: Thu thập các nhiệm vụ con trong Aspose.Tasks -linktitle: Thu thập các nhiệm vụ con trong Aspose.Tasks +date: 2026-04-13 +description: Tìm hiểu cách tạo bộ thu thập các tác vụ con bằng Aspose.Tasks cho .NET. + Cải thiện quản lý dự án trong các ứng dụng .NET của bạn. +keywords: +- create child tasks collector +- Aspose.Tasks child tasks +- .NET project management +- collect child tasks +- Aspose.Tasks API +linktitle: Tạo Bộ Thu Thập Nhiệm Vụ Con trong Aspose.Tasks second_title: Aspose.Tasks .NET API -description: Tìm hiểu cách thu thập các tác vụ con một cách hiệu quả bằng cách sử dụng Aspose.Tasks cho .NET. Cải thiện quản lý dự án trong các ứng dụng .NET của bạn. -weight: 15 +title: Cách tạo bộ thu thập các tác vụ con trong Aspose.Tasks url: /vi/net/calendar-scheduling/child-tasks-collector/ +weight: 15 --- {{< blocks/products/pf/main-wrap-class >}} {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Thu thập các nhiệm vụ con trong Aspose.Tasks +# Tạo Bộ Thu Thập Nhiệm Vụ Con trong Aspose.Tasks ## Giới thiệu -Trong lĩnh vực quản lý dự án, Aspose.Tasks for .NET nổi bật như một giải pháp mạnh mẽ để xử lý các nhiệm vụ và dự án một cách hiệu quả. Thư viện mạnh mẽ này cung cấp cho các nhà phát triển những công cụ họ cần để quản lý nhiệm vụ, dự án và mọi thứ liên quan một cách liền mạch. Trong hướng dẫn này, chúng ta sẽ đi sâu vào một khía cạnh cụ thể của Aspose.Tasks: thu thập các nhiệm vụ con. +Nếu bạn cần **create child tasks collector** cho một tệp Microsoft Project, Aspose.Tasks cho .NET giúp thực hiện một cách đơn giản. Trong hướng dẫn này, chúng tôi sẽ đi qua các bước chính xác để thu thập mọi nhiệm vụ con dưới một nhiệm vụ cha, để bạn có thể xử lý, phân tích hoặc xuất chúng một cách tự tin. Khi kết thúc hướng dẫn, bạn sẽ có một đoạn mã có thể tái sử dụng, phù hợp tự nhiên với bất kỳ giải pháp quản lý dự án nào dựa trên .NET. + +## Câu trả lời nhanh +- **ChildTasksCollector làm gì?** Nó duyệt qua một cây nhiệm vụ và thu thập tất cả các nhiệm vụ con vào một bộ sưu tập. +- **Thư viện nào cung cấp tính năng này?** Aspose.Tasks cho .NET. +- **Tôi có cần giấy phép để chạy mẫu không?** Bản dùng thử miễn phí đủ cho việc đánh giá; giấy phép cần thiết cho môi trường sản xuất. +- **Các phiên bản .NET nào được hỗ trợ?** .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. +- **Thời gian thực hiện khoảng bao lâu?** Khoảng 5‑10 phút sau khi đã cài đặt thư viện. + +## Bộ Thu Thập Nhiệm Vụ Con là gì? + +Một **child tasks collector** là một đối tượng tiện ích đi qua cây nhiệm vụ của tệp Project, bắt đầu từ một nhiệm vụ gốc được chỉ định, và tổng hợp mọi nhiệm vụ con (sub‑task) mà nó gặp. Điều này đặc biệt hữu ích khi bạn muốn thực hiện các thao tác hàng loạt—như cập nhật trường, xuất dữ liệu, hoặc tạo báo cáo—mà không cần lặp lại thủ công qua từng cấp độ của cây. -## Điều kiện tiên quyết +## Tại sao nên tạo bộ thu thập nhiệm vụ con? -Trước khi chúng ta bắt đầu, hãy đảm bảo rằng bạn có sẵn các điều kiện tiên quyết sau: +- **Đơn giản hoá đệ quy:** Bộ thu thập xử lý việc duyệt sâu‑đầu tiên nội bộ, vì vậy bạn không cần viết vòng lặp đệ quy của riêng mình. +- **Tăng năng suất:** Lấy tất cả các nhiệm vụ con trong một bộ sưu tập duy nhất, làm cho việc chỉnh sửa hoặc phân tích hàng loạt trở nên đơn giản. +- **Duy trì mã sạch:** Giữ logic nghiệp vụ của bạn tách biệt khỏi việc điều hướng mức thấp của cấu trúc dự án. -1. Hiểu biết cơ bản về C#: Làm quen với ngôn ngữ lập trình C# là điều cần thiết. -2. Cài đặt Aspose.Tasks cho .NET: Tải xuống và cài đặt thư viện Aspose.Tasks cho .NET từ[Liên kết tải xuống](https://releases.aspose.com/tasks/net/). -3. Môi trường phát triển: Thiết lập môi trường phát triển, chẳng hạn như Visual Studio, để viết và thực thi mã C#. -4. Truy cập vào tài liệu: Giữ[Aspose.Tasks cho tài liệu .NET](https://reference.aspose.com/tasks/net/) tiện để tham khảo. +## Yêu cầu trước -Bây giờ chúng ta đã có các điều kiện tiên quyết, hãy đi sâu vào hướng dẫn từng bước để thu thập các tác vụ con bằng cách sử dụng Aspose.Tasks cho .NET. +1. **Kiến thức cơ bản về C#** – bạn nên thoải mái viết và chạy các ứng dụng console đơn giản. +2. **Aspose.Tasks cho .NET đã được cài đặt** – tải xuống từ [download link](https://releases.aspose.com/tasks/net/). +3. **Môi trường phát triển** – Visual Studio, Rider, hoặc bất kỳ IDE nào hỗ trợ C#. +4. **Truy cập tài liệu chính thức** – giữ [Aspose.Tasks for .NET documentation](https://reference.aspose.com/tasks/net/) gần tay để tham khảo. + +Bây giờ nền tảng đã sẵn sàng, chúng ta hãy đi sâu vào mã. ## Nhập không gian tên -Trước tiên, hãy nhập các vùng tên cần thiết vào mã C# của bạn để truy cập chức năng do Aspose.Tasks cung cấp cho .NET. +Đầu tiên, đưa các không gian tên cần thiết vào phạm vi để trình biên dịch biết nơi tìm các lớp chúng ta sẽ sử dụng. ```csharp using Aspose.Tasks; using System; using Aspose.Tasks.Util; - ``` -Bây giờ, hãy chia nhỏ ví dụ được cung cấp thành nhiều bước để hiểu rõ quy trình. +## Hướng dẫn từng bước -## Bước 1: Khởi tạo đối tượng dự án +### Bước 1: Khởi tạo Đối tượng Project ```csharp var project = new Project(DataDir + "ParentChildTasks.mpp"); ``` - Dòng mã này khởi tạo một`Project` đối tượng, tải tệp dự án có tên "ParentChildTasks.mpp" từ thư mục đã chỉ định. +Dòng này tải một tệp Microsoft Project hiện có (`ParentChildTasks.mpp`) từ thư mục `DataDir` vào một đối tượng `Project`, cho phép chúng ta truy cập chương trình vào các nhiệm vụ của nó. -## Bước 2: Tạo đối tượng ChildTasksCollector +### Bước 2: Tạo Instance của ChildTasksCollector ```csharp var collector = new ChildTasksCollector(); ``` - Ở đây chúng ta tạo một cái mới`ChildTasksCollector` đối tượng, điều này sẽ giúp chúng tôi thu thập các nhiệm vụ con từ dự án. +Ở đây chúng tôi **create child tasks collector** – một instance của `ChildTasksCollector` sẽ lưu trữ mọi nhiệm vụ con mà nó phát hiện. -## Bước 3: Áp dụng Collector cho tác vụ gốc +### Bước 3: Áp dụng Collector vào Nhiệm vụ Gốc ```csharp TaskUtils.Apply(project.RootTask, collector, 0); ``` - Chúng tôi áp dụng`ChildTasksCollector` vào nhiệm vụ gốc của dự án, bắt đầu quá trình thu thập theo cách đệ quy. +Chúng tôi yêu cầu Aspose.Tasks bắt đầu thu thập tại nhiệm vụ gốc của dự án. Phương thức `Apply` duyệt qua cây một cách đệ quy, điền `collector.Tasks` với tất cả các nhiệm vụ con. -## Bước 4: Lặp lại các nhiệm vụ đã thu thập +### Bước 4: Duyệt qua các Nhiệm vụ Đã Thu thập ```csharp foreach (var task in collector.Tasks) @@ -75,36 +97,42 @@ foreach (var task in collector.Tasks) } ``` -Cuối cùng, chúng tôi lặp lại các tác vụ đã thu thập và in tên của chúng ra bảng điều khiển. +Cuối cùng, chúng ta lặp qua các nhiệm vụ đã thu thập và in tên của mỗi nhiệm vụ ra console. Trong thực tế, bạn có thể thay thế `Console.WriteLine` bằng bất kỳ xử lý tùy chỉnh nào bạn cần (ví dụ: xuất ra CSV, cập nhật trường, v.v.). -## Phần kết luận +## Các vấn đề thường gặp và giải pháp -Trong hướng dẫn này, chúng ta đã khám phá cách thu thập các tác vụ con bằng Aspose.Tasks cho .NET. Bằng cách làm theo các bước được nêu ở trên, bạn có thể quản lý và xử lý các tác vụ trong dự án của mình một cách hiệu quả, nâng cao năng suất và tổ chức. +| Vấn đề | Nguyên nhân | Giải pháp | +|-------|------------|----------| +| **Không có nhiệm vụ nào được trả về** | Collector đã được áp dụng vào nhiệm vụ sai (ví dụ: một nút lá). | Áp dụng `TaskUtils.Apply` vào `project.RootTask` hoặc vào parent cụ thể mà bạn muốn bắt đầu. | +| **NullReferenceException** | `DataDir` hoặc đường dẫn tệp không đúng. | Kiểm tra rằng `DataDir` trỏ tới thư mục chứa `ParentChildTasks.mpp`. | +| **License không được thiết lập** | Aspose.Tasks đưa ra cảnh báo giấy phép trong chế độ dùng thử. | Tải giấy phép của bạn bằng `License license = new License(); license.SetLicense("Aspose.Tasks.lic");` trước khi tạo đối tượng `Project`. | ## Câu hỏi thường gặp -### Câu hỏi 1: Aspose.Tasks dành cho .NET có tương thích với tất cả các phiên bản .NET không? - -Câu trả lời 1: Có, Aspose.Tasks for .NET tương thích với nhiều phiên bản khác nhau của .NET framework, đảm bảo khả năng tương thích rộng rãi. +**Q: Aspose.Tasks cho .NET có tương thích với mọi phiên bản .NET không?** +A: Có, Aspose.Tasks cho .NET hoạt động với .NET Framework 4.5+, .NET Core 3.1+, và .NET 5/6+. -### Câu hỏi 2: Tôi có thể sử dụng Aspose.Tasks cho .NET để tạo tệp dự án mới không? +**Q: Tôi có thể sử dụng Aspose.Tasks cho .NET để tạo tệp dự án mới không?** +A: Chắc chắn! Thư viện cho phép bạn tạo, đọc và thao tác các tệp dự án bằng mã. -A2: Chắc chắn rồi! Aspose.Tasks for .NET cung cấp chức năng tạo, đọc và thao tác các tệp dự án một cách dễ dàng. +**Q: Aspose.Tasks cho .NET có hỗ trợ đa nền tảng không?** +A: Mặc dù được thiết kế cho .NET, bạn có thể chạy nó trên bất kỳ nền tảng nào hỗ trợ runtime .NET, bao gồm Windows, Linux và macOS. -### Câu hỏi 3: Aspose.Tasks cho .NET có hỗ trợ nhiều nền tảng không? +**Q: Có hỗ trợ kỹ thuật cho Aspose.Tasks cho .NET không?** +A: Có, bạn có thể nhận trợ giúp qua [Aspose.Tasks forum](https://forum.aspose.com/c/tasks/15). -Câu trả lời 3: Mặc dù được thiết kế chủ yếu cho môi trường .NET, Aspose.Tasks cho .NET có thể được sử dụng trong nhiều nền tảng khác nhau hỗ trợ phát triển .NET. +**Q: Tôi có thể dùng thử Aspose.Tasks cho .NET trước khi mua không?** +A: Chắc chắn! Bạn có thể dùng bản dùng thử miễn phí từ [release page](https://releases.aspose.com/). -### Câu hỏi 4: Aspose.Tasks dành cho .NET có hỗ trợ kỹ thuật không? - -Đ4: Có, người dùng có thể truy cập hỗ trợ kỹ thuật thông qua[Diễn đàn Aspose.Tasks](https://forum.aspose.com/c/tasks/15). +--- -### Câu hỏi 5: Tôi có thể dùng thử Aspose.Tasks cho .NET trước khi mua không? +**Last Updated:** 2026-04-13 +**Tested With:** Aspose.Tasks 24.11 for .NET +**Author:** Aspose - A5: Chắc chắn rồi! Bạn có thể tận dụng bản dùng thử miễn phí từ[trang phát hành](https://releases.aspose.com/). {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file