Microsoft Project menawarkan tiga mode perhitungan: otomatis, manual, dan tidak ada. Setiap mode menawarkan tingkat kontrol yang berbeda terhadap cara proyek diperbarui dan dihitung ulang. Pada artikel ini, kita akan mempelajari cara mengimplementasikan mode perhitungan Proyek MS secara terprogram dengan Python. Baik Anda bermigrasi dari penjadwalan manual ke penjadwalan otomatis atau Anda memerlukan fleksibilitas dalam mengelola tenggat waktu proyek, artikel ini akan memberi Anda informasi dan sumber daya yang diperlukan untuk transisi tersebut. Mari kita mulai!
Artikel ini mencakup topik-topik berikut:
- API Python untuk Menghitung Proyek Secara Terprogram
- Perhitungan Proyek Manual
- Perhitungan Proyek Otomatis
- Tidak Ada Mode Perhitungan Proyek
API Python untuk Menghitung Proyek Secara Terprogram
Kami akan menggunakan Aspose.Tasks for Python API untuk mengimplementasikan proyek MS mode perhitungan. Ini menyediakan mode perhitungan berikut untuk menghitung nilai properti dependen:
- Tidak Ada – Mode ini hanya menetapkan properti yang diperlukan dan tidak menghitung ulang tanggal dan biaya proyek.
- Manual – Mode ini hanya menetapkan properti objek yang bergantung tanpa perhitungan ulang tanggal dan biaya proyek.
- Otomatis – Mode ini menghitung ulang tanggal proyek dan properti biaya secara otomatis.
Silakan unduh paketnya atau instal API dari PyPI menggunakan perintah pip berikut di konsol:
pip install aspose-tasks
Hitung Proyek MS Secara Manual dengan Python
Kita dapat mengatur mode perhitungan ke manual dan memverifikasinya dengan mengikuti langkah-langkah di bawah ini:
- Buat sebuah instance dari kelas Project.
- Atur mode perhitungan ke MANUAL.
- Tentukan tanggal mulai proyek.
- Tambahkan tugas baru, misalnya Tugas 1, dan Tugas 2.
- Baca properti tugas.
- Setelah itu, inisialisasi objek kelas TaskLinks dan tautkan tugas.
- Terakhir, verifikasi tanggal mulai dan berakhirnya Tugas 2.
Contoh kode berikut menunjukkan cara menghitung proyek secara manual dengan Python.
# Contoh kode ini menunjukkan cara menghitung proyek MS menggunakan mode perhitungan manual dengan Python.
import aspose.tasks as tasks
from datetime import datetime, timedelta
# Buat sebuah instance dari Proyek
project = tasks.Project()
# Atur mode penghitungan ke Manual
project.calculation_mode = tasks.CalculationMode.MANUAL
# Tetapkan tanggal mulai proyek
project.start_date = datetime(2015, 4, 15)
# Tambahkan tugas baru
task1 = project.root_task.children.add("Task 1")
task2 = project.root_task.children.add("Task 2")
# Properti yang diperlukan diatur dalam mode manual
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")
# Hubungkan dua tugas bersama-sama, tanggalnya tidak boleh dihitung ulang dalam mode manual
link = project.task_links.add(task1, task2, tasks.TaskLinkType.FINISH_TO_START)
# Tidak ada perubahan pada tanggal Tugas 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
Perhitungan Proyek Otomatis dengan Python
Demikian pula, kita dapat menghitung proyek MS menggunakan mode perhitungan otomatis dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur mode penghitungan ke otomatis pada langkah 2.
Contoh kode berikut menunjukkan cara menghitung proyek MS menggunakan mode perhitungan otomatis dengan Python.
# Contoh kode ini menunjukkan cara menghitung proyek MS menggunakan mode perhitungan otomatis dengan Python.
import aspose.tasks as tasks
from datetime import datetime, timedelta
# Buat sebuah instance dari Proyek
project = tasks.Project()
# Atur mode penghitungan ke Otomatis
project.calculation_mode = tasks.CalculationMode.AUTOMATIC
# Tetapkan tanggal mulai proyek
project.start_date = datetime(2015, 4, 15)
# Tambahkan tugas baru
task1 = project.root_task.children.add("Task 1")
task2 = project.root_task.children.add("Task 2")
# Tautkan tugas
link = project.task_links.add(task1, task2, tasks.TaskLinkType.FINISH_TO_START)
# Verifikasi tanggal penghitungan ulang
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
Tidak Ada Mode Perhitungan Proyek dengan Python
Kita dapat mengatur mode perhitungan ke NONE dan memverifikasinya dengan mengikuti langkah-langkah di bawah ini:
- Buat sebuah instance dari kelas Project.
- Atur mode perhitungan ke Tidak Ada.
- Tentukan tanggal mulai proyek.
- Tambahkan tugas baru, misalnya Tugas 1.
- Baca properti tugas.
- Setelah itu, tetapkan durasi tugas dalam hari.
- Terakhir, verifikasi tanggal mulai dan berakhirnya Tugas.
Contoh kode berikut menunjukkan cara menyetel mode perhitungan proyek MS ke none menggunakan Python.
# Contoh kode ini menunjukkan cara mengatur mode perhitungan proyek MS sebagai NONE dengan Python.
import aspose.tasks as tasks
from datetime import datetime, timedelta
# Buat sebuah instance dari Proyek
project = tasks.Project()
# Atur mode penghitungan ke Tidak Ada
project.calculation_mode = tasks.CalculationMode.NONE
# Tambahkan tugas baru
task = project.root_task.children.add("Task")
# Perhatikan bahwa genap id tidak dihitung
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")
# Tetapkan properti durasi
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
Dapatkan Lisensi Gratis
Anda bisa mendapatkan lisensi sementara gratis untuk mencoba perpustakaan tanpa batasan evaluasi.
Hitung Proyek dengan Python – Sumber Belajar
Selain menerapkan mode perhitungan dan menghitung ulang jadwal dan durasi proyek MS, Anda dapat menjelajahi berbagai fitur perpustakaan lainnya menggunakan sumber daya di bawah ini:
Kesimpulan
Pada artikel ini, kita telah mempelajari cara mengatur mode perhitungan proyek secara terprogram dengan Python. Kita juga telah melihat bagaimana nilai properti dependen dihitung dalam setiap mode perhitungan. Dengan memanfaatkan Aspose.Tasks for Python melalui .NET, Anda dapat dengan mudah menyematkan fungsi tersebut ke dalam aplikasi Python Anda. Jika ada ambiguitas, jangan ragu untuk menghubungi kami forum dukungan gratis.