Используйте метод TimeScaleData объекта Resource для возврата объекта TimeScaleValues , который можно использовать для определения объема работы, уже назначенного этому ресурсу на данный период времени (например,продолжительность задания).Например:
Dim tsvs As TimeScaleValues
Set tsvs = R.TimeScaleData(T.Start, T.Finish, pjResourceTimescaledWork, pjTimescaleYears)
If tsvs(1).Value = 0 Then
T.ResourceNames = R.Name
' exit loop now that room is assigned
End If
Обратите внимание, что здесь используется единица измерения pjTimescaleYears
, поэтому вся работа для ресурса в течение периода выполнения задачи сводится к одному значению (если задача не охватывает более одного года.).Если бы вы использовали значение по умолчанию pjTimescaleDays
, а задание занимало более одного дня, tsvs
содержало бы более одного элемента, который нужно было бы проверить.