Чтение и запись информации Rate Scale
Эффективное управление назначениями ресурсов в планировании проектов требует не только отслеживания затрат и объёма работы, но и корректировки Rate Scale настройки. Rate Scale определяет, как затраты ресурсов применяются во времени (за час, за день, за неделю и т.д.). С помощью Aspose.Tasks for .NET вы можете программно читать и изменять эту информацию, обеспечивая гибкую автоматизацию проектов и интеграцию с финансовыми системами.
Чтение и запись информации RateScale для назначения ресурса
Aspose.Tasks for .NET предоставляет
ResourceAssignment
class, который включает RateScale
property. Это свойство контролирует, как рассчитываются и распределяются ставки по назначениям в пределах временной шкалы проекта.
В следующем примере показано, как прочитать и обновить RateScale свойство назначения ресурса. Пример загружает существующий файл проекта, обращается к назначению, изменяет его свойство RateScale и сохраняет обновлённый проект.
1Project project = new Project("New Project.mpp");
2
3Task task = project.RootTask.Children.Add("t1");
4
5Resource materialResource = project.Resources.Add("materialResource");
6materialResource.Set(Rsc.Type, ResourceType.Material);
7
8Resource nonMaterialResource = project.Resources.Add("nonMaterialResource");
9nonMaterialResource.Set(Rsc.Type, ResourceType.Work);
10
11ResourceAssignment materialResourceAssignment = project.ResourceAssignments.Add(task, materialResource);
12materialResourceAssignment.Set(Asn.RateScale, RateScaleType.Week);
13
14ResourceAssignment nonMaterialResourceAssignment = project.ResourceAssignments.Add(task, nonMaterialResource);
15nonMaterialResourceAssignment.Set(Asn.RateScale, RateScaleType.Week);
16
17project.Save("output.mpp", SaveFileFormat.MPP);
18
19project = new Project("output.mpp");
20
21ResourceAssignment materialResourceAssignment2 = project.ResourceAssignments.GetByUid(1);
22Console.WriteLine(materialResourceAssignment2.Get(Asn.RateScale));
23
24// only material resource assignments can have non-zero rate scale value.
25ResourceAssignment nonMaterialResourceAssignment2 = project.ResourceAssignments.GetByUid(2);
В этом примере код сначала получает текущее RateScale
значение, затем обновляет его на новую шкалу (например, с почасовой на посуточную). Это особенно полезно при адаптации данных проекта к различным стандартам отчётности или соглашениям об оплате ресурсов.
Часто задаваемые вопросы
Вопрос: Для чего используется свойство RateScale?
- Свойство
RateScale
определяет, как стоимость назначения ресурса распределяется во времени (например, почасово, посуточно, еженедельно).
Вопрос: Нужно ли устанавливать Microsoft Project, чтобы читать или обновлять RateScale?
- Нет. Aspose.Tasks for .NET работает независимо от Microsoft Project и предоставляет прямой программный доступ к данным проекта.
Вопрос: Могу ли я изменить значение RateScale и сохранить его обратно в файл MPP?
- Да. После изменения
RateScale
вы можете сохранить проект в форматах, таких как MPP, XML или MPX.
Вопрос: Влияет ли обновление RateScale на стоимость назначений?
- Да. Изменение RateScale может повлиять на то, как рассчитываются и отображаются затраты, поскольку это изменяет единицу времени, используемую для выставления счетов за ресурсы.
Заключение
В этой статье мы рассмотрели, как читать и обновлять RateScale свойство назначения ресурса с помощью Aspose.Tasks for .NET. Программно изменяя значения RateScale, разработчики могут обеспечить согласованность финансовой отчётности, адаптировать назначения под различные методы выставления счетов и плавно интегрировать данные проекта в собственные решения.