پیاده سازی حالت های محاسبه پروژه MS در پایتون

Microsoft Project سه حالت محاسبه را ارائه می دهد: خودکار، دستی و هیچ. هر حالت سطح متفاوتی از کنترل را بر نحوه به روز رسانی و محاسبه مجدد پروژه ارائه می دهد. در این مقاله، نحوه پیاده‌سازی حالت‌های محاسبه پروژه MS را به صورت برنامه‌نویسی در پایتون یاد خواهیم گرفت. چه در حال مهاجرت از زمان‌بندی دستی به زمان‌بندی خودکار باشید یا به انعطاف‌پذیری در مدیریت مهلت‌های پروژه خود نیاز داشته باشید، این مقاله اطلاعات و منابع مورد نیاز برای چنین انتقالی را در اختیار شما قرار می‌دهد. بیا شروع کنیم!

این مقاله موضوعات زیر را پوشش می دهد:

  1. API Python برای محاسبه پروژه به صورت برنامه‌نویسی
  2. محاسبه پروژه دستی
  3. محاسبه پروژه خودکار
  4. حالت محاسبه پروژه وجود ندارد

Python API برای محاسبه برنامه‌نویسی پروژه

ما از Aspose.Tasks برای Python API برای اجرای پروژه MS حالت‌های محاسبه استفاده خواهیم کرد. این حالت های محاسبه زیر را برای محاسبه مقادیر ویژگی های وابسته ارائه می دهد:

  • هیچ - این حالت فقط ویژگی های ضروری را تنظیم می کند و تاریخ ها و هزینه های پروژه را دوباره محاسبه نمی کند.
  • دستی - این حالت فقط ویژگی های شی وابسته را بدون محاسبه مجدد تاریخ ها و هزینه های پروژه تنظیم می کند.
  • خودکار - این حالت به طور خودکار تاریخ های پروژه و ویژگی های هزینه را دوباره محاسبه می کند.

لطفاً پکیج را دانلود کنید یا API را از PyPI با استفاده از دستور pip زیر در کنسول نصب کنید:

pip install aspose-tasks

پروژه MS را به صورت دستی در پایتون محاسبه کنید

می‌توانیم حالت محاسبه را به صورت دستی تنظیم کنیم و با انجام مراحل زیر آن را تأیید کنیم:

  1. یک نمونه از کلاس Project ایجاد کنید.
  2. حالت محاسبه را روی MANUAL قرار دهید.
  3. تاریخ شروع پروژه را مشخص کنید.
  4. وظایف جدید را اضافه کنید، به عنوان مثال، وظیفه 1، و وظیفه 2.
  5. ویژگی های وظیفه را بخوانید.
  6. پس از آن، یک شی از کلاس TaskLinks را مقداردهی اولیه کنید و وظایف را پیوند دهید.
  7. در نهایت تاریخ شروع و پایان Task 2 را بررسی کنید.

نمونه کد زیر نحوه محاسبه دستی پروژه در پایتون را نشان می دهد.

# این مثال کد نحوه محاسبه پروژه MS را با استفاده از حالت محاسبه دستی در پایتون نشان می دهد.
import aspose.tasks as tasks
from datetime import datetime, timedelta

# یک نمونه از پروژه ایجاد کنید
project = tasks.Project()

# حالت محاسبه را روی Manual قرار دهید
project.calculation_mode = tasks.CalculationMode.MANUAL

# تعیین تاریخ شروع پروژه
project.start_date = datetime(2015, 4, 15)

# کارهای جدید اضافه کنید
task1 = project.root_task.children.add("Task 1")
task2 = project.root_task.children.add("Task 2")

# ویژگی های لازم در حالت دستی تنظیم می شوند
print("Task1.Id Equals 1 : ", task1.id == 1)
print("Task1 OutlineLevel Equals 1 : ", task1.outline_level == 1)
print("Task1 Start Equals 15/04/2015 08:00 AM : ", task1.start) == datetime(2015, 4, 15, 8, 0, 0)
print("Task1 Finish Equals 15/04/2015 05:00 PM : ", task1.finish) == datetime(2015, 4, 15, 17, 0, 0)
print("Task1 Duration Equals 1 day : ", str(task1.duration) == "1 day")
print("Task2 Start Equals 15/04/2015 08:00 AM : ", task2.start == datetime(2015, 4, 15, 8, 0, 0))
print("Task2 Finish Equals 15/04/2015 05:00 PM : ", task2.finish == datetime(2015, 4, 15, 17, 0, 0))
print("Task2 Duration Equals 1 day : ", str(task2.duration) == "1 day")

# دو کار را به یکدیگر پیوند دهید، تاریخ آنها نباید در حالت دستی دوباره محاسبه شود
link = project.task_links.add(task1, task2, tasks.TaskLinkType.FINISH_TO_START)

# بدون تغییر در تاریخ های Task 2
print("Task1 Start Equals Task2 Start : ", task1.start == task2.start)
print("Task1 Finish Equals Task2 Finish : ", task1.finish == task2.finish)
Task1.Id Equals 1 :  True
Task1 OutlineLevel Equals 1 :  True
Task1 Start Equals 15/04/2015 08:00 AM :  2015-04-15 08:00:00
Task1 Finish Equals 15/04/2015 05:00 PM :  2015-04-15 17:00:00
Task1 Duration Equals 1 day :  True
Task2 Start Equals 15/04/2015 08:00 AM :  True
Task2 Finish Equals 15/04/2015 05:00 PM :  True
Task2 Duration Equals 1 day :  True
Task1 Start Equals Task2 Start :  True
Task1 Finish Equals Task2 Finish :  True

محاسبه خودکار پروژه در پایتون

به همین ترتیب، می‌توانیم پروژه MS را با استفاده از حالت محاسبه خودکار با انجام مراحلی که قبلا ذکر شد محاسبه کنیم. با این حال، فقط باید حالت محاسبه را در مرحله 2 به صورت خودکار تنظیم کنیم.

نمونه کد زیر نحوه محاسبه پروژه MS را با استفاده از حالت محاسبه خودکار در پایتون نشان می دهد.

# این مثال کد نحوه محاسبه پروژه MS را با استفاده از حالت محاسبه خودکار در پایتون نشان می دهد.
import aspose.tasks as tasks
from datetime import datetime, timedelta

# یک نمونه از پروژه ایجاد کنید
project = tasks.Project()

# حالت محاسبه را روی Automatic قرار دهید
project.calculation_mode = tasks.CalculationMode.AUTOMATIC

# تعیین تاریخ شروع پروژه
project.start_date = datetime(2015, 4, 15)

# کارهای جدید اضافه کنید
task1 = project.root_task.children.add("Task 1")
task2 = project.root_task.children.add("Task 2")

# وظایف را پیوند دهید
link = project.task_links.add(task1, task2, tasks.TaskLinkType.FINISH_TO_START)

# تاریخ های محاسبه شده مجدد را بررسی کنید
print("Task1 Start + 1 Equals Task2 Start : ", (task1.start + timedelta(days=1)) == task2.start)
print("Task1 Finish + 1 Equals Task2 Finish : ", (task1.finish + timedelta(days=1)) == task2.finish)
print("RootTask Finish Equals Task2 Finish : ", task2.finish == project.root_task.finish)
print("Project Finish Date Equals Task2 Finish : ", task2.finish == project.finish_date)
Task1 Start + 1 Equals Task2 Start :  True
Task1 Finish + 1 Equals Task2 Finish :  True
RootTask Finish Equals Task2 Finish :  True
Project Finish Date Equals Task2 Finish :  False

بدون حالت محاسبه پروژه در پایتون

می‌توانیم حالت محاسبه را روی NONE تنظیم کنیم و با دنبال کردن مراحل زیر آن را تأیید کنیم:

  1. یک نمونه از کلاس Project ایجاد کنید.
  2. حالت محاسبه را روی None قرار دهید.
  3. تاریخ شروع پروژه را مشخص کنید.
  4. یک کار جدید اضافه کنید، به عنوان مثال، وظیفه 1.
  5. ویژگی های وظیفه را بخوانید.
  6. پس از آن، مدت زمان کار را بر حسب روز تنظیم کنید.
  7. در نهایت تاریخ شروع و پایان Task را بررسی کنید.

نمونه کد زیر نحوه تنظیم حالت محاسبه پروژه MS را بر روی none با استفاده از پایتون نشان می دهد.

# این مثال کد نحوه تنظیم حالت محاسبه پروژه MS را به عنوان NONE در پایتون نشان می دهد.
import aspose.tasks as tasks
from datetime import datetime, timedelta

# یک نمونه از پروژه ایجاد کنید
project = tasks.Project()

# حالت محاسبه را روی None قرار دهید
project.calculation_mode = tasks.CalculationMode.NONE

# یک کار جدید اضافه کنید
task = project.root_task.children.add("Task")

# توجه داشته باشید که حتی شناسه ها محاسبه نشده است
print("Task.Id Equals 0 : ", task.id == 0)
print("Task.OutlineLevel Equals 0 : ", task.outline_level == 0)
print("Task Start Equals DateTime.MinValue : ", task.start == datetime.min)
print("Task Finish Equals DateTime.MinValue : ", task.finish == datetime.min)
print("Task Duration Equals 0 mins : ", str(task.duration) == "0 mins")

# ویژگی مدت زمان را تنظیم کنید
task.duration = project.get_duration(2.0, tasks.TimeUnitType.DAY)
print("Task Duration Equals 2 days : ", str(task.duration) == "2 days")
print("Task Start Equals DateTime.MinValue  : ", task.start == datetime.min)
print("Task Finish Equals DateTime.MinValue  : ", task.finish == datetime.min)
Task.Id Equals 0 :  True
Task.OutlineLevel Equals 0 :  False
Task Start Equals DateTime.MinValue :  True
Task Finish Equals DateTime.MinValue :  True
Task Duration Equals 0 mins :  True
Task Duration Equals 2 days :  True
Task Start Equals DateTime.MinValue  :  True
Task Finish Equals DateTime.MinValue  :  True

مجوز رایگان دریافت کنید

می‌توانید [یک مجوز موقت رایگان] دریافت کنید9 تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

محاسبه پروژه در پایتون – منابع یادگیری

علاوه بر پیاده‌سازی حالت‌های محاسبه و محاسبه مجدد زمان‌بندی و مدت پروژه MS، می‌توانید ویژگی‌های مختلف دیگر کتابخانه را با استفاده از منابع زیر کشف کنید:

نتیجه

در این مقاله یاد گرفتیم که چگونه حالت های محاسبه پروژه را به صورت برنامه نویسی در پایتون تنظیم کنیم. ما همچنین دیدیم که چگونه مقادیر ویژگی های وابسته در هر حالت محاسبه محاسبه می شود. با استفاده از Aspose.Tasks برای پایتون از طریق دات نت، می توانید به راحتی چنین عملکردی را در برنامه های پایتون خود قرار دهید. در صورت وجود هرگونه ابهام، لطفاً با ما تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید