Сведения о базе данных Microsoft Office Project 2003

Сведения о базе данных Microsoft Office Project 2003
Общие сведения
  Новые возможности базы данных Project 2003

Общие сведения о Project базе данных
  Поддерживаемые базы данных
  Загрузка старых версий Project в базу данных
  Обновление старой версии базы данных Project

Разрешения на доступ и настройка базы данных
  Необходимые разрешения
  Настройка базы данных
  Настройка производительности
  Обеспечение целостности данных

Хранение информации в Project базе данных
  Календарные данные
  Повременные данные
  Заметки
  Значения настраиваемых полей
  Прерванные задачи
  Связи задач
  Предварительные оценки длительности
  Базовые планы

Работа с проектами в Project базе данных
  Создание Project структуры базы данных
  Требования к DSN-именам и ограничения
  Параллельное использование и блокировка проектов
  Добавление данных XML к существующим проектам

Добавление и изменение строк в базе данных
  Установка флагов, разрешающих обновление содержимого проекта в базе данных
  Добавление времени к датам
  Значения длительности, трудозатрат, ставок и затрат
  Использование таблиц преобразования текста для извлечения строковых значений

Создание Project данных для календарного плана
  Создание нового некорпоративного проекта
  Создание вставленного проекта
  Создание нового некорпоративного ресурса
  Создание нового некорпоративного календаря
  Задание рабочего времени и исключений для календаря
  Задание показателей доступности ресурсов
  Задание ставок ресурсов
  Создание новой задачи
  Создание повторяющейся задачи
  Создание зависимостей задач
  Создание нового назначения
  Создание и изменение заказа на фактические трудозатраты для назначения
  Создание прерываний в запланированной работе
  Создание и изменение заказа на оставшиеся трудозатраты для назначения
  Управление повременными данными
  Создание и изменение профилей процента выполнения задачи
  Удаление профиля

Настройка Project данных
  Задание настраиваемых текстовых полей
  Задание настраиваемых числовых полей (полей затрат)
  Задание настраиваемых полей дат (дат начала и окончания)
  Задание настраиваемых полей длительности
  Атрибуты поля
  Задание настраиваемых кодов СДР
  Задание настраиваемых кодов структуры
  Задание псевдонимов для настраиваемых полей
  Задание формул для настраиваемых полей
  Чтение и составление заметок в формате RTF

Управление другими данными в базе данных
  Задание адреса электронной почты
  Получение ссылок на проекты и задачи, для которых установлены межпроектные связи
  Получение имен файлов клиентов пула ресурсов
  Построение структуры, включающей суммарные задачи и подзадачи
  Изменение трудозатрат для назначения суммарной задачи
  Получение сведений о состоянии сообщений рабочей группы
  Задание гиперссылок

Порядок обработки базы данных, соглашения и сокращенные обозначения
  Порядок обработки данных, изменяемых внешним приложением
  Стандартный порядок обработки
  Соглашения об именах таблиц
  Соглашения об именах столбцов
  Сокращенные обозначения в именах столбцов

Таблицы базы данных
  Информационные столбцы
  Имена столбцов, выделенные полужирным шрифтом
  Типы данных столбцов
  MSP_ASSIGNMENT_BASELINES
  MSP_ASSIGNMENTS
  MSP_ASSN_ENTERPRISE
  MSP_ATTRIBUTE_STRINGS
  MSP_AVAILABILITY
  MSP_CALENDAR_DATA
  MSP_CALENDARS
  MSP_CODE_FIELDS
  MSP_CONVERSIONS
  MSP_DATE_FIELDS
  MSP_DURATION_FIELDS
  MSP_FIELD_ATTRIBUTES
  MSP_FLAG_FIELDS
  MSP_LINKS
  MSP_MV_FIELDS
  MSP_NUMBER_FIELDS
  MSP_OUTLINE_CODES
  MSP_PROJ_SECURITY
  MSP_PROJECTS
  MSP_RESGLOBAL_SECURITY
  MSP_RES_GLOBAL_BINARY
  MSP_RES_SECURITY
  MSP_RESOURCE_BASELINES
  MSP_RESOURCE_RATES
  MSP_RESOURCES
  MSP_STRING_TYPES
  MSP_TASK_BASELINES
  MSP_TASKS
  MSP_TEXT_FIELDS
  MSP_TIMEPHASED_DATA

Общие сведения

В этом документе содержатся сведения о том,как создавать и обновлять относящиеся к проекту данные непосредственно в базе данных Microsoft Office Project 2003, поддерживая при этом согласованность и целостность данных.

Примечание.  Сведения в этом документе не всегда применяются (и могут быть другими) к данным корпоративного проекта, сохраненного в базе данных Microsoft Office Project Server 2003. Рекомендуется, чтобы взаимодействие с данными корпоративного проекта в базе данных Project Server осуществлялось только с помощью Project Data Service (PDS), Microsoft Office Project Professional   2003 или Microsoft Office Project Web Access 2003.

Такой метод создания и сопровождения данных проекта — непосредственно в базе данных — имеет следующие преимущества.

Документ разбит на главы, в которых рассматриваются следующие темы.

Примечание.  Таблицы базы данных, описанные в этом документе, создаются с помощью сценария PROJTBLS.sql. Его можно найти на компакт-диске Project Server 2003 в папке \SUPPORT\DATABASE.

В начало

Новые возможности базы данных Project 2003

База данных Project дополненной 1 новой таблицей, ) включает следующие усовершенствованные возможности:

В базу данных Project добавлены следующие таблицы:

В начало

Общие сведения о Project базе данных

В следующих разделах подробно описывается, какие базы данных поддерживает база данных Project и как выполняется загрузка старых проектов в текущую версию Project и их обновление.

Поддерживаемые базы данных

Только Project Professional 2003 может подключаться к базе данных Project Server; и Project Professional 2003, и Project Standard 2003 поддерживают следующие базы данных через интерфейс ODBC (Open Database Connectivity):

Project может также автоматически установить подключение ODBC, выполняя операцию записи или чтения баз данных Microsoft Access 2000, 2002 или 2003, если в диалоговых окнах Открытие документа и Сохранение документа непосредственно указан тип файла базы данных Project Database (.mpd) или Microsoft Access Database (.mdb).

Примечание.  Сохранение и загрузка данных не поддерживается для таблиц, которые связаны с Microsoft Access таким образом, что данные находятся в другом приложении или системе управления базами данных, а Microsoft Access просто обеспечивает подключение. Для доступа к таким данным необходимо явным образом импортировать их в Microsoft Access или подключиться к источнику данных напрямую.

В начало

Загрузка старых версий Project в базу данных

В Microsoft Project 2003 можно открыть проект, который ранее был сохранен в базе данных с помощью Microsoft Project 98, Microsoft Project 2000 или Microsoft Project 2002. Однако если после этого снова сохранить такой проект в базе данных, он будет сохранен в структуре базы данных Microsoft Project 2003. Только для Microsoft Project 98 при полном изменении формата базы данных получатся две копии проекта, для разных форматов базы данных; исходные данные проекта не подвергнутся изменениям..

В начало

Обновление старой версии базы данных Project

Используя надстройку COM «Database Upgrade Utility», можно обновить некоторые или все проекты в базе данных Microsoft Access или SQL Server от структуры базы данных Microsoft Project 98, Microsoft Project 2000 и Microsoft Project 2002 до структуры базы данных Microsoft Project 2003. Чтобы загрузить утилиту обновления баз данных, щелкните правой кнопкой панель инструментов и выберите команду Database Upgrade Utility. Утилита обновления баз данных не требуется для обновления Microsoft Project 2000 и Microsoft Project 2002.

В начало

Разрешения на доступ и настройка базы данных

Необходимые разрешения

Когда Project Standard или Project Professional (в автономном режиме) подключаются в базе данных ODBC, они выполняют в базе данных несколько типов операций, для каждого из которых требуется наличие соответствующих разрешений на доступ к объектам:

В одной базе данных могут сосуществовать несколько проектов различных организаций, оставаясь при этом изолированными друг от друга. Такая возможность называется изоляцией проектов. Чтобы изолировать проекты, необходимо для каждого владельца проекта создать отдельную структуру табли. Каждый пользователь базы данных сможет увидеть лишь один набор таблиц проекта, поскольку Microsoft Project использует первый же набор таблиц, найденный в базе данных. Это необходимо учитывать при организации системы безопасности.

Примечания

В начало

Настройка базы данных

Существуют два способа настройки базы данных на использование с Project:

Файлы журналов транзакций рекомендуется по возможности размещать отдельно от данных, на другом диске; перед запуском сценариев на сервере SQL Server необходимо выполнить одно из следующих действий:

Примечание.  Инструкции SQL Server, предназначенные для заполнения таблиц MSP_STRING_TYPES и MSP_CONVERSIONS, содержат английские значения строк преобразования. Для использования в других языковых версиях эти файлы нужно будет изменить.

Если данные проекта будут изменяться прямо в базе данных Project, можно воспользоваться четырьмя хранимыми процедурами, которые выполняют архивацию данных, относящихся к задачам, ресурсам, назначениям и связям. Дополнительные сведения см. ниже в разделе Обеспечение целостности данных.

В начало

Настройка производительности

К базам данных SQL Server применимы тандартные процедуры настройки производительности базы данных Project.

В начало

Обеспечение целостности данных

Поскольку Project выполняет операции записи и чтения в определенной структуре базы данных, некоторые изменения базы данных могут привести к повреждению проекта в базе данных, в результате чего Microsoft Project не сможет открыть или сохранить проект или какую-либо его часть. Причиной повреждения проекта, хранящегося в базе данных, могут, в частности, стать следующие действия:

Project проверяет некоторые данные при считывании проекта из базы данных, а также из любого иного внешнего формата. Ниже перечислены ситуации, в которых Project может вывести на экран предупреждение, установить более подходящее значение данных или вообще отказаться от чтения данных:

Примечание.  В случае, если измененные данные содержат ошибки, которые Project не в силах устранить, восстанавливаются первоначальные данные.

Чтобы избежать появления несогласованности в базе данных Project из-за ошибок, которые могут возникать при изменении данных, относящихся к задачам, ресурсам, назначениям и связям (зависимостям задач), необходимо архивировать первоначальные данные в столбцах EXT_EDIT_REF_DATA таблиц MSP_TASKS, MSP_RESOURCES, MSP_ASSIGNMENTS и MSP_LINKS. С помощью этих данных Project определяет, какие именно столбцы подверглись изменению в базе данных. Если изменения не приводят к появлению вышеуказанных ошибочных состояний, они сохраняются в базе данных.

При добавлении новых строк необходимо в столбце EXT_EDIT_REF_DATA установить значение 1. При изменении существующих строк в столбец EXT_EDIT_REF_DATA каждой таблицы необходимо записать значение 1 и вместе с ним — содержимое полей, перечисленных в приведенной ниже таблице. Все значения должны быть записаны в указанном ниже порядке через запятую; если какое-либо значение оказывается пустым, между ограничивающими его запятыми ничего вводить не нужно.

Поля задачи Поля ресурса Поля назначения Поля связи
Фактические трудозатраты Начисление Единицы назначения Тип связи
Трудозатраты Доступно с Начало Запаздывание связи
Оставшиеся трудозатраты Доступно по Окончание
Длительность Задержка назначения
Фактическая длительность Задержка выравнивания
Оставшаяся длительность Фактическое начало
Начало Фактическое окончание
Окончание Фактические трудозатраты
Тип ограничения Оставшиеся трудозатраты
Дата ограничения Обычные трудозатраты
Фактическое начало Трудозатраты
Фактическое окончание Фактические сверхурочные трудозатраты
Остановка Оставшиеся сверхурочные трудозатраты
Возобновление Сверхурочные трудозатраты
Процент завершения
Затраты
Фиксированные затраты
Фактические затраты
Задержка выравнивания
% завершения по трудозатратам
Начисление фиксированных затрат для задачи

Чтобы облегчить архивацию данных для задач, ресурсов, назначений и связей перед обновлением, Project предлагает хранимые процедуры (запросы на изменение проектов в базах данных Microsoft Access), автоматизирующие эти операции. Project генерирует хранимые процедуры в SQL Server при создании таблиц базы данных. Для выполнения хранимых процедур пользователи, не являющиеся владельцами, должны обладать разрешениями EXECUTE. Если таблицы создаются вручную, для создания хранимых процедур необходимо выполнить соответствующие сценарии, входящие в комплект Microsoft Project.

Установка триггеров для таблиц базы данных Project может привести к повреждению данных или возвращению непредсказуемых результатов. Важно помнить следующее:

При использовании запятых в качестве разделителей для данных, сохраненных в базе данных Project, эти запятые будут сохраняться в поле EXT_EDIT_REF_DATA, когда хранимые процедуры будут применяться для обновления этих данных. Это может повлиять на целостность данных Project. Чтобы устранить эту проблему, для данных, имеющих запятые, используйте кавычки . Ниже представлен пример сценария, показывающий вариант изменения существующих хранимых процедур для ресурсов, назначений и задач таким образом, чтобы преобразование данных с десятичными точками в данные с запятыми обрабатывалось корректно при сохранении данных в поле EXT_EDIT_REF_DATA базы данных Project.

Для назначений:

Update    MSP_ASSIGNMENTS
Set       EXT_EDIT_REF_DATA = '1,' &
          ASSN_UNITS &  ',' &
          ASSN_START_DATE & ',' &
          ASSN_FINISH_DATE & ',' &
          ASSN_DELAY & ',' &
          ASSN_LEVELING_DELAY & ',' &
          ASSN_ACT_START & ',' &
          ASSN_ACT_FINISH & ',' &
          ASSN_ACT_WORK & ',' &
          ASSN_REM_WORK & ',' &
          ASSN_REG_WORK & ',' &
          ASSN_WORK & ',' &
          ASSN_ACT_OVT_WORK & ',' &
          ASSN_REM_OVT_WORK & ',' &
          ASSN_OVT_WORK
Where     PROJ_ID=[PROJ ID] 
And       ASSN_UID=[ASSN UID];

Для ресурсов:

Update    MSP_RESOURCES
Set       EXT_EDIT_REF_DATA = '1,' &
          RES_ACCRUE_AT &  ',' &
          RES_AVAIL_FROM & ',' &
          RES_AVAIL_TO
Where     PROJ_ID=[PROJ ID] 
And       RES_UID=[RES UID];

Для задач:

Update    MSP_TASKS
Set       EXT_EDIT_REF_DATA = '1,' &
          TASK_ACT_WORK & ',' &
          TASK_WORK &  ',' &
          TASK_REM_WORK & ',' &
          TASK_DUR & ',' &
          TASK_ACT_DUR & ',' &
          TASK_REM_DUR & ',' &
          TASK_START_DATE & ',' &
          TASK_FINISH_DATE & ',' &
          TASK_CONSTRAINT_TYPE & ',' &
          TASK_CONSTRAINT_DATE & ',' &
          TASK_ACT_START & ',' &
          TASK_ACT_FINISH & ',' &
          TASK_STOP_DATE & ',' &
          TASK_RESUME_DATE & ',' &
          TASK_PCT_COMP & ',' &
          TASK_COST & ',' &
          TASK_FIXED_COST & ',' &
          TASK_ACT_COST & ',' &
          TASK_LEVELING_DELAY & ',' &
          TASK_PCT_WORK_COMP & ',' &
          TASK_FIXED_COST_ACCRUAL
Where     PROJ_ID=[PROJ ID] 
And       TASK_UID=[TASK UID];

В начало

Хранение информации в Project базе данных

В этом разделе описываются общие правила хранения данных различных типов в базе данных.

Календарные данные

Project сохраняет содержимое календаря в двух таблицах:

В начало

Повременные данные

Хранение повременных данных оптимизировано таким образом, что одна строка может содержать значения для семи периодов времени (как правило, дней), благодаря чему сокращается число строк, которые необходимо создать. В каждой строке содержатся даты начала и окончания и единицы измерения шкалы времени для значений данных. Значениями являются показатели времени, затрат и процента завершения для каждого периода в пределах заданной единицы измерения шкалы времени. Например, если тип записи — затраты и единицы измерения — недели, то каждое значение данных будет содержать единицу р/н (рублей в неделю).

Чтобы сохранить повременные данные в таблице MSP_TIMEPHASED_DATA в формате, пригодном для чтения, выполните следующие действия.

1   Выберите в меню Сервис команду Параметры.
2   Перейдите на вкладку Сохранение.
3   Установите флажок Развертывать повременные данные в базе данных, который соответствует столбцу PROJ_OPT_EXPAND_TIMEPHASED в таблице MSP_PROJECTS.
В начало

Заметки

В Project упрощено хранение заметок. Теперь эти заметки сохраняются в столбцах RTF в таблицах MSP_ASSIGNMENTS, MSP_RESOURCES, MSP_TASKS.

В начало

Значения настраиваемых полей

Значения настраиваемых полей хранятся в следующих таблицах:

Каждая строка в этих таблицах отсылает к конкретной задаче, ресурсу или назначению, а также к определенному настраиваемому полю (например, TEXT1 в таблице MSP_TEXT_FIELDS), и содержит значение этого поля для данной задачи, ресурса или назначения.

Определения масок настраиваемых кодов СДР хранятся в таблицах MSP_ATTRIBUTE_STRINGS и MSP_FIELD_ATTRIBUTES. Код структурной декомпозиции работ (СДР) для конкретной задачи находится в таблице MSP_TASKS.

Настраиваемые коды структуры хранятся в таблицах MSP_OUTLINE_CODES и MSP_CODE_FIELDS. Подобно таблицам настраиваемых полей дат, длительности, флагов, числовых и текстовых данных, таблица MSP_CODE_FIELDS указывает на конкретную задачу, ресурс или назначение. Код структуры каждой указанной задачи, ресурса или назначения образуется из содержимого строк таблицы MSP_OUTLINE_CODES. Определения кодов структуры хранятся в таблицах MSP_ATTRIBUTE_STRINGS и MSP_FIELD_ATTRIBUTES.

Многозначные настраиваемые коды хранятся в таблице MSP_MV_FIELDS.

В начало

Прерванные задачи

Значения нерабочего времени для прерванных задач хранятся в таблице MSP_TIMEPHASED_DATA как строки с нулевым числом рабочих часов.

В начало

Связи задач

Связи, или зависимости задач хранятся в таблице MSP_LINKS. Каждая строка определяет соответствие между задачей-предшественником и задачей-последователем. В каждой строке определяется только одно подобное соответствие. Если у задачи несколько связей, для каждой из них потребуется отдельная строка.

В начало

Предварительные оценки длительности

Предварительная оценка длительности — это просто значение длительности задачи, отформатированное для отображения в качестве оценки. Значение длительности отображается как оценка, если флаг оценки установлен равным 1. Чтобы отобразить настраиваемые значения полей как предварительные оценки, установите в столбце DUR_FMT соответствующее значение (см. ниже раздел Использование таблиц преобразования текста для извлечения строковых значений).

В начало

Базовые планы

Содержимое базовых планов хранится в трех таблицах: MSP_ASSIGNMENT_BASELINES, MSP_RESOURCE_BASELINES и MSP_TASK_BASELINES.

В начало

Работа с проектами в Project базе данных

При работе с базой данных Project строго запрещается выполнять следующие действия:

Некоторые таблицы Microsoft Project содержат записи с большими отрицательными значениями в соответствующих столбцах уникальных идентификаторов (UID). Такие записи обычно находятся вверху таблиц MSP_ASSIGNMENTS, MSP_CALENDARS, MSP_PROJECTS, MSP_RESOURCES и MSP_TASKS; в них хранятся значения -65536, -65535, -65534 and -65533. Эти записи используются для внутренних нужд Microsoft Project; их нельзя изменять и удалять.

Создавая собственные таблицы (см. следующий раздел Создание структуры базы данных Microsoft Project), никогда не следует определять их столбцы как обязательные или как NOT NULL.

Примечание.  В следующих разделах приводятся примеры программного кода с использованием значений, которые могут отличаться от значений в базе данных. Обязательно сверьте все значения в примерах с фактическими значениями, содержащимися в базе данных.

В начало

Создание структуры базы данных Microsoft Project

Если необходимо создать базу данных Microsoft Project «с нуля», проще всего сделать это, сохранив пустой проект в Microsoft Project. Когда база данных будет создана, этот проект можно удалить из базы данных средствами Microsoft Project (см. далее разделУдаление проекта из базы данных).

Если использовать Microsoft Project в этих целях нежелательно, необходимо создать пустую базу данных с помощью драйвера ODBC и затем создать все соответствующие таблицы. Создание всех таблиц вручную — нелегкая задача, поскольку при этом надо будет использовать данный документ для справки, чтобы удостовериться в правильности имен всех таблиц и столбцов и типов данных столбцов.

О создании и настройке базы данных вручную для использования в Microsoft Project см. ниже в разделе Настройка базы данных.

В начало

Требования к DSN-именам и ограничения

Информация о подключении базе данных Project Server автоматически передается сервером Project Server в Project Professional в процессе проверки подлинности пользователя. Чтобы подключить Project Professional к Project Server DSN.

Если нескольким пользователям Project Standard (и пользователям Project Professional в автономном режиме) требуется обращаться к проектам в одной базе данных через ODBC, каждый пользователь, вносящий изменения в данные, не должен использовать одно и тот же DSN-имя для подключения к базе данных. Project сохраняет комбинированное DSN-имя и название проекта (и строку подключения) в качестве идентификаторов проекта, используя следующий формат: <DSN>\ProjectName. Однако, подключенные вместе проекты при использовании межпроектных связей должны будут использовать одинаковое DSN-имя.

Ограничения на DSN-имена при использовании Project Standard и Project Professional в автономном режиме:

В начало

Параллельное использование и блокировка проектов

Если пользователь с помощью Microsoft Project открыл в базе данных проект с помощью Project Standard который, кроме него, никем не используется, он получит к нему доступ в полном объеме, для чтения и записи. Пока пользователь не закончит сеанс доступа к проекту, любой другой пользователь сможет открыть этот проект в Microsoft Project только в режиме чтения.

Разрешения на чтение и запись и некоторые другие свойства, связанные с управлением параллельным доступом, отмечаются в пяти столбцах таблицы MSP_PROJECTS базы данных. Содержимое этих столбцов имеет силу только в том случае, если пользователи читают или обновляют базу данных с помощью Microsoft Project. Если база данных читается или обновляется пользователем непосредственно, с помощью программы запроса к базе данных или иного средства, Microsoft Project не устанавливает какие бы то ни было виды блокировки. Поэтому для согласования доступа к данным любые программы или средства, используемые для чтения или обновления содержимого проекта в базе данных, должны следовать тем же соглашениям, что и Microsoft Project. Использование столбцов параллельного доступа описывается ниже.

Если проект открыт с помощью Project с правами на чтение и запись, Project хранит значение 1 в столбцах PROJ_READ_WRITE и PROJ_READ_ONLY. После завершения сеанса и закрытия базы данных значения столбцов PROJ_LOCKED и PROJ_READ_COUNT сбрасываются до 1. Пока в этих полях содержится значение 1, никто не сможет открыть проект с помощью Microsoft Project, даже только для чтения.

Microsoft Project хранит в столбце PROJ_MACHINE_ID имя компьютера, на котором в данный момент открыт проект для чтения и записи. Пока значение PROJ_READ_WRITE остается равным 1, разрешая обновление проекта в базе данных, рекомендуется хранить в столбце PROJ_MACHINE_ID имя текущего компьютера, чтобы другой пользователь, который попытается открыть проект через Microsoft Project, получил соответствующее сообщение о том, что проект в настоящее время открыт для чтения и записи на таком-то компьютере. В противном случае Microsoft Project не сможет идентифицировать пользователя, открывшего проект для чтения и записи. Когда настанет время разрешить доступ к проекту для чтения и записи другим пользователям, нужно будет восстановить в поле PROJ_MACHINE_ID значение NULL, сбрасывая флаги параллельного доступа до 0.

Прежде чем вносить обновления в базу данных непосредственным образом, следует сначала проверить, все ли эти флаги установлены равными 0, а затем на время установить их равными 1, чтобы другие пользователи не могли открыть проект с помощью Project.

Чтобы блокировать проект на период обновления, скопируйте, измените и выполните следующую инструкцию обновления SQL:

Update    MSP_PROJECTS
Set       PROJ_READ_ONLY = '1',
          PROJ_READ_WRITE = '1',
          PROJ_READ_COUNT = '1',
          PROJ_LOCKED = '1',
          PROJ_MACHINE_ID = 'your computer or application name'
Where     PROJ_ID = 1

Чтобы снять блокировку с проекта по окончании обновления, скопируйте, измените и выполните следующую инструкцию обновления SQL:

Update    MSP_PROJECTS
Set       PROJ_READ_ONLY = '0',
          PROJ_READ_WRITE = '0',
          PROJ_READ_COUNT = '0',
          PROJ_LOCKED = '0',
          PROJ_MACHINE_ID = null
Where     PROJ_ID = 1

Примечание.  Если пользователь обладает разрешением на чтение и запись проекта в базе данных с помощью Microsoft Project, а какой-либо другой пользователь изменит данные этого проекта путем прямого доступа в базу данных, это изменение не будет отражено в Microsoft Project для первого пользователя. Кроме того, если первый пользователь сохранит данные проекта в базе данных, эти данные запишутся поверх изменений, непосредственно внесенных вторым пользователем.

В начало

Добавление и изменение строк в базе данных

Установка флагов, разрешающих обновление содержимого проекта в базе данных

Всякий раз, когда данные проекта изменяются в базе данных без помощи Microsoft Project, столбец PROJ_EXT_EDITED таблицы MSP_PROJECTS должен содержать 1.

При изменении существующих строк в таблицах MSP_TASKS, MSP_RESOURCES, MSP_ASSIGNMENTS и MSP_LINKS столбец EXT_EDIT_REF_DATA должен содержать значение 1 и вслед за ним через запятую значения столбцов, перечисленных в нижеприведенных таблицах. При создании новых строк столбец EXT_EDIT_REF_DATA должен содержать 1.

Примечание.  Для обновления данного столбца нужными значениями рекомендуется использовать хранимые процедуры, входящие в комплект Microsoft Project. Дополнительные сведения см. в разделе Обеспечение целостности данных.

MSP_TASKS MSP_RESOURCES MSP_ASSIGNMENTS MSP_LINKS
TASK_ACT_WORK RES_ACCRUE_AT ASSN_UNITS LINK_TYPE
TASK_WORK RES_AVAIL_FROM * ASSN_START_DATE LINK_LAG
TASK_REM_WORK RES_AVAIL_TO * ASSN_FINISH_DATE
TASK_DUR ASSN_DELAY
TASK_ACT_DUR ASSN_LEVELING_DELAY
TASK_REM_DUR ASSN_ACT_START
TASK_START_DATE ASSN_ACT_FINISH
TASK_FINISH_DATE ASSN_ACT_WORK
TASK_CONSTRAINT_TYPE ASSN_REM_WORK
TASK_CONSTRAINT_DATE ASSN_REG_WORK
TASK_ACT_START ASSN_WORK
TASK_ACT_FINISH ASSN_ACT_OVT_WORK
TASK_STOP_DATE ASSN_REM_OVT_WORK
TASK_RESUME_DATE ASSN_OVT_WORK
TASK_PCT_COMP
TASK_COST
TASK_FIXED_COST
TASK_ACT_COST
TASK_LEVELING_DELAY
TASK_PCT_WORK_COMP
TASK_FIXED_COST_ACCRUAL

Примечание.  Когда столбцы RES_AVAIL_FROM и RES_AVAIL_TO архивируются, их не следует обновлять. Значения этих полей для конкретного ресурса выводятся из значений самой ранней даты AVAIL_FROM и самой поздней даты AVAIL_TO для этого ресурса в таблице MSP_AVAILABILITY. Изменение доступности ресурса следует отмечать в таблице MSP_AVAILABILITY.

При обновлении настраиваемых полей должны быть установлены следующие флаги таблицы MSP_PROJECTS.

Флаг в таблице MSP_PROJECTS Таблица, указываемая флагом
PROJ_EXT_EDITED_DATE MSP_DATE_FIELDS
PROJ_EXT_EDITED_DUR MSP_DURATION_FIELDS
PROJ_EXT_EDITED_FLAG MSP_FLAG_FIELDS
PROJ_EXT_EDITED_NUM MSP_NUMBER_FIELDS
PROJ_EXT_EDITED_CODE MSP_CODE_FIELDS
PROJ_EXT_EDITED_TEXT MSP_TEXT_FIELDS

При обновлении таблиц MSP_FIELD_ATTRIBUTES и MSP_ATTRIBUTE_STRINGS столбец ATTRIB_EXT_EDITED в таблице MSP_FIELD_ATTRIBUTES должен содержать значение 1 в каждой новой или измененной строке. При обновлении таблицы MSP_TIMEPHASED_DATA значение столбца TD_EXT_EDITED должно быть установлено равным 1.

В начало

Добавление времени к датам

Когда в базу данных непосредственно вводится значение даты, вместе с ним всегда следует указывать время. В столбцах базы данных, содержащих значения типа даты-времени, при отсутствии явно заданного времени используется время по умолчанию, что может привести к непредсказуемым результатам. Обычно по умолчанию в базе данных принимается время 00:00, которое в большинстве календарей является нерабочим. Когда Project встретит значение 00:00, оно будет округлено до следующего ближайшего значения рабочего времени (в случае времени начала) или до последнего предыдущего значения рабочего времени (в случае времени окончания.

Поэтому, если задавать даты без времени, может возникнуть следующая ситуация. Предположим, что в базе данных создается на первый взгляд пятидневная задача, датой начала которой указан понедельник, а датой окончания — пятница. Временем начала в понедельник в базе данных фактически будет 00:00, поэтому Microsoft Project будет трактовать его как 9:00 (как время начала в календаре по умолчанию); здесь проблем нет. Однако временем окончания по умолчанию будет считаться 00:00 в пятницу, что будет заменено на четверг 18:00 (время окончания в календаре по умолчанию). Таким образом пятидневная задача в интерпретации Microsoft Project превращается в четырехдневную. Если явно указывать время в каждом столбце даты-времени, этих недоразумений всегда можно будет избежать.

В начало

Значения длительности, трудозатрат, ставок и затрат

Microsoft Project сохраняет все поля длительности, трудозатрат, ставок и затрат в двух отдельных столбцах базы данных. Первым столбцом является значение длительности, величина трудозатрат или норма оплаты, а вторым полем — соответствующий столбец формата, FMT (например, TASK_DUR_FMT). Если изменить содержимое столбца FMT в базе данных, это не повлияет на значение соответствующего столбца длительности, трудозатрат, ставок или затрат, которое Microsoft Project сохраняет как абсолютное значение. Столбец FMT просто показывает, какую единицу измерения Microsoft Project будет использовать для отображения этого значения. .

Формат значения длительности для конкретной задачи можно определить, выполнив следующий запрос (с подстановкой фактических значений TASK_UID и PROJ_ID):

Select    TASK_UID, CONV_STRING, TASK_NAME 
From      MSP_TASKS t, MSP_CONVERSIONS c, MSP_STRING_TYPES s
Where     t.TASK_DUR_FMT = c.CONV_VALUE and
          c.STRING_TYPE_ID = s.STRING_TYPE_ID and
          s.STRING_TYPE = 'Display Units' and
          t.TASK_UID = 4 and
          t.PROJ_ID = 1

Поскольку значения длительности, трудозатрат, ставок и затрат можно отображать в разных единицах измерения, Project сохраняет каждое из этих значений в оговоренном стандартном виде:

Примечание.  Все форматы допускают использование единиц повременных данных, за исключением года (г). Год можно указывать только для норм затрат.

В начало

Использование таблиц преобразования текста для извлечения строковых значений

Чтобы проект, содержащийся в базе данных, можно было читать в различных языковых версиях Microsoft Project, содержимое некоторых столбцов преобразуется в числовые константы. Microsoft Project записывает в базу данных две таблицы, содержащие сведения о преобразовании этих столбцов: MSP_STRING_TYPES показывает соответствие между номером категории поля и именем поля, а MSP_CONVERSIONS c— соответствие между числовыми константами и возможными текстовыми представлениями каждого поля. В числовые константы преобразуются следующие категории полей:

Категория Поля данной категории Таблица
Рабочий день День недели MSP_CALENDARS
Календарный план от ScheduleFromProjectFinish MSP_PROJECTS
ScheduleFromProjectStart MSP_PROJECTS
Начисления AccrueAt MSP_PROJECTS
FixedCostAccrual MSP_TASKS
DefaultFixedCostAccrual MSP_LINKS
Тип связи LinkType MSP_PROJECTS
Отображаемые единицы LinkLagDisplayUnits MSP_LINKS
DelayDisplayUnits MSP_ASSIGNMENTS
DurationDisplayUnits MSP_TASKS
BaselineDurationDisplayUnits MSP_TASKS
DelayDisplayUnits MSP_TASKS
DurationDisplayUnits MSP_DURATION_FIELDS
Единицы норм затрат StandardRateDisplayUnits MSP_RESOURCES
OvertimeRateDisplayUnits MSP_RESOURCES
StandardRateDisplayUnits MSP_RESOURCE_RATES
OvertimeRateDisplayUnits MSP_RESOURCE_RATES
Тип профиля загрузки WorkContour MSP_ASSIGNMENTS
Тип ограничения ConstraintType MSP_TASKS
Тип задачи Тип MSP_TASKS
DefaultTaskType MSP_PROJECTS
Рабочий календарь Рабочие MSP_CALENDAR_DATA
Тип категории CategoryType MSP_DATE_FIELDS
CategoryType MSP_DURATION_FIELDS
CategoryType MSP_NUMBER_FIELDS
CategoryType MSP_TEXT_FIELDS
Идентификатор поля FieldID MSP_DATE_FIELDS
FieldID MSP_DURATION_FIELDS
FieldID MSP_NUMBER_FIELDS
FieldID MSP_TEXT_FIELDS
FieldID MSP_FIELD_ATTRIBUTES
FieldID MSP_FIELD_CODES
Сообщения рабочей группы Рабочая группа MSP_RESOURCES
Положение символа валюты CurrencyPosition MSP_PROJECTS
Атрибуты поля OutlineCodeName MSP_OUTLINE_CODES
WBSMask MSP_FIELD_ATTRIBUTES
Повременной тип профиля загрузки RemainingWork MSP_ASSIGNMENTS
ActualWork MSP_ASSIGNMENTS
ActualOvertimeWork MSP_ASSIGNMENTS
BaselineWork MSP_ASSIGNMENTS
BaselineCost MSP_ASSIGNMENTS
ActualCost MSP_ASSIGNMENTS
BaselineWork MSP_RESOURCES
BaselineCost MSP_RESOURCES
BaselineWork MSP_TASKS
BaselineCost MSP_TASKS
PercentComplete MSP_TASKS
Splits MSP_TIMEPHASED_DATA

В одной базе данных можно сохранять проекты из различных языковых версий Project. Когда в базе данных впервые сохраняется проект на каком-либо новом языке, Project добавляет в таблицы MSP_STRING_TYPES и MSP_CONVERSIONS соответствующие значения на этом языке.

Примечание.  При сохранении проекта в базе данных кодовые страницы компьютера Project и сервера базы данных должны быть одинаковыми.

Если в базе данных выборочно сохраняются различные фрагменты данных проекта, Project создаст в таблицах MSP_STRING_TYPES и MSP_CONVERSIONS символьные строки преобразования, если они еще не существуют.

Во всех языковых версиях Microsoft Project использует имена таблиц базы данных и их столбцов на английском языке. Изменение имени какой-либо таблицы может вызвать повреждение базы данных, Project не сможет прочитать содержимое этой таблицы и, возможно, всего проекта.

В начало

Создание данных для календарного плана проекта

Примечание.  Сведения данного раздела не всегда применимы (и могут отличаться) к данным корпоративного проекта, сохраненным в базе данных Project Server. Рекомендуется, чтобы данные корпоративного проекта в базе данных Project Server взаимодействовали только с помощью PDS, Project Professional или Project Web Access.

Создание нового некорпоративного проекта

Чтобы создать в базе данных новый проект, необходимо добавить новую строку в таблицу MSP_PROJECTS и создать суммарную задачу проекта в таблице MSP_TASKS. См. далее разделы Создание новой задачи, Создание нового ресурса и Создание нового назначения. Затем в проект добавляются соответствующие задачи, ресурсы и назначения, для чего следует создать строки задач, ресурсов и назначений, как описано ниже. Необходимо ввести значения по крайней мере для столбцов, указанных ниже.

Таблица Поле Заметки
MSP_PROJECTS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
PROJ_NAME Название проекта, отображаемое в строке заголовка окна проекта.
PROJ_INFO_START_DATE Дата и время запланированного начала проекта.
PROJ_EXT_EDITED Должно содержать значение 1, указывающее, что это новый проект.
MSP_TASKS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TASK_UID Уникальный идентификатор задачи.
TASK_ID Указатель позиции задачи в списке задач.

Примечания

В начало

Создание вставленного проекта

Процесс создания вставленного проекта в базе данных состоит из создания новой задачи и определения значения настраиваемого текстового поля. Необходимо добавить в таблицы MSP_TASKS и MSP_TEXT_FIELDS новые записи, включив в них значения по крайней мере для указанных ниже полей, а также установить в таблице MSP_PROJECTS флаги изменения данных внешними приложениями.

Таблица Поле Заметки
MSP_TASKS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TASK_UID Уникальный идентификатор задачи.
TASK_ID Указатель позиции задачи в списке задач.
EXT_EDIT_REF_DATA Должно содержать значение 1, указывающее, что это новая задача.
MSP_TEXT_FIELDS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TEXT_CATEGORY Задайте значение 0, чтобы указать категорию «Задача».
TEXT_REF_UID Указатель на действительный идентификатор в таблице MSP_TASKS.
TEXT_FIELD_ID Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS.
TEXT_VALUE Название проекта, который должен быть вставлен. Например:
<c:\test.mdb>\my project
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
PROJ_EXT_EDITED_TEXT Должно содержать 1, чтобы Project мог выполнить обработку.

Примечание.  При удалении вставленного проекта из базы данных все относящиеся к нему строки вышеперечисленных таблиц также должны быть удалены; если в базе данных останутся отдельные данные о проекте, это может привести к непредсказуемым результатам при открытии базы данных в Microsoft Project.

Например, предположим, что в базе данных хранятся два проекта, и необходимо один из них добавить в другой проект. Пусть эти проекты находятся в MPD-файле, для доступа к которому используется DSN-имя «Projects», а сами проекты носят названия Главный проект и Подпроект. Сначала нужно создать в проекте Главный проект задачу, которая будет содержать вставленный проект. Эта запись в таблице MSP_TASKS будет выглядеть примерно так:

Поле Значение
PROJ_ID 1
TASK_UID 5
TASK_ID 5
TASK_NAME Мой подпроект
EXT_EDIT_REF_DATA 1

Использованные здесь идентификаторы TASK_ID и TASK_UID выбраны только для примера и не несут смысловой нагрузки. Важно запомнить, что они должны оставаться уникальными среди всех идентификаторов в текущем проекте. Добавив эту задачу, необходимо затем задать имя добавленного файла проекта. Например, в таблицу MSP_TEXT_FIELDS может быть вставлена следующая строка:

Поле Значение
PROJ_ID 1
TEXT_CATEGORY 0
TEXT_REF_UID 5
TEXT_FIELD_ID 188743706
TEXT_VALUE 4800

Значение поля PROJ_ID должно указывать на действительный идентификатор в таблице MSP_PROJECTS. В данном случае поле TEXT_CATEGORY содержит 0, поскольку текстовое поле устанавливается для задачи. Значение TEXT_REF_UID берется непосредственно из столбца TASK_UID таблицы MSP_TASKS. Значение TEXT_FIELD_ID взято из столбца CONV_VALUE таблицы MSP_CONVERSIONS, из записи, в которой строка CONV_STRING содержит «Задача Файл подпроекта». В поле TEXT_VALUE вводится фактическое название проекта.

Чтобы эта строка могла быть прочитана средствами Project, необходимо установить флаг PROJ_EXT_EDITED_TEXT в таблице MSP_PROJECTS равным 1.

В начало

Создание нового некорпоративного ресурса

Чтобы создать новый ресурс в базе данных, необходимо добавить новую строку в таблицу MSP_RESOURCES и ввести значения по крайней мере для следующих столбцов:

Таблица Поле Заметки
MSP_RESOURCES PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
RES_UID Уникальный идентификатор ресурса.
RES_ID Указатель позиции ресурса в списке ресурсов.
RES_NAME Название ресурса.
RES_TYPE Тип ресурса: трудовой (0) или материальный (1).
EXT_EDIT_REF_DATA Должно содержать 1, чтобы Project мог выполнить обработку.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Для добавления нового трудового ресурса можно использовать (после необходимых изменений) следующую инструкцию вставки SQL.

Insert into MSP_RESOURCES (
              PROJ_ID,
              RES_UID,

              RES_ID,
              RES_NAME,
              RES_TYPE,
              EXT_EDIT_REF_DATA )
          values (
              3,
              4,
              4,
              'John Smith',
              0,
              '1' )
В начало

Создание нового некорпоративного календаря

Календарь можно создать для проекта или для некорпоративного ресурса. При необходимости базовые календари можно применять к задачам. Базовый календарь проекта просто определяет рабочие часы для других базовых календарей и календарей ресурсов. Данные календаря хранятся в таблице MSP_CALENDARS. Сведения о календарном рабочем времени и исключениях из календаря хранятся в таблице MSP_CALENDAR_DATA. (Дополнительные сведения см. в разделе Задание рабочего времени и исключений для календаря.) Для создания нового календаря необходимо создать строку, заполненную значениями по крайней мере в следующих столбцах:

Таблица Поле Заметки
MSP_CALENDAR_DATA PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
CAL_ UID Указатель на действительный идентификатор в таблице MSP_CALENDARS.
CAL_BASE_UID Указатель на родительский базовый календарь для данного календаря.
CAL_IS_BASE_CAL Указывает, является ли данный календарь базовым; в случае базового календаря в поле содержится -1.
CAL_NAME Название календаря.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы создать новый базовый календарь, скопируйте, измените и выполните следующую инструкцию вставки SQL.

Insert into MSP_CALENDARS (
              PROJ_ID,

              CAL_UID,
              CAL_BASE_UID,
              CAL_IS_BASE_CAL,
              CAL_NAME )
          values (
              3,
              4,
              -1,
              1,
              'new base calendar' )

Чтобы создать новый календарь ресурса, скопируйте, измените и выполните следующую инструкцию вставки SQL.

Insert into MSP_CALENDARS (
              PROJ_ID,
              CAL_UID,
              CAL_BASE_UID,
              RES_UID,
              CAL_IS_BASE_CAL )
          values (
              3,
              5,
              2,
              4,
              0 )

Примечания

В начало

Задание рабочего времени и исключений для календаря

Стандартное рабочее время и стандартные исключения из календаря хранятся в таблице MSP_CALENDAR_DATA. Для каждого рабочего и нерабочего дня в таблицу следует добавить отдельную строку. Кроме того, отдельная строка должна быть вставлена для каждого периода исключения. Чтобы задать рабочее время для календаря, необходимо вставить строку, заполненную значениями по крайней мере в следующих столбцах.

Примечание.  Нельзя задать рабочее время и исключения для корпоративных ресурсов с помощью данного примера.

Таблица Поле Заметки
MSP_CALENDAR_DATA PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
CD_UID Уникальный идентификатор данных о рабочем и нерабочем времени и исключениях из календаря.
CAL_ UID Указатель на действительный идентификатор в таблице MSP_CALENDARS.
CD_DAY_OR_EXCEPTION Указывает, определяется ли в календаре рабочий день (значения 1-7 задают соответственно дни с воскресенья по субботу) или исключение (0).
CD_WORKING Указывает, являются ли выбранные дни рабочими (1) или нерабочими (0).
CD_FROM_TIME1 День и время начала рабочего дня.
CD_TO_TIME1 День и время окончания рабочего дня.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Примечание.  Если данный календарь определяет исключение (согласно значению поля CD_DAY_OR_EXCEPTION), то вместо CD_FROM_TIME и CD_TO_TIME используются поля CD_FROM_DATE и CD_TO_DATE.

Чтобы задать рабочие дни и дни исключений для календаря, скопируйте, измените и выполните следующую инструкцию вставки для каждого рабочего дня.

Insert into MSP_CALENDAR_DATA (
              PROJ_ID,
              CD_UID,
              CAL_UID,
              CD_DAY_OR_EXCEPTION,
              CD_WORKING,
              CD_FROM_TIME1,
              CD_TO_TIME1,
              CD_FROM_TIME2,
              CD_TO_TIME2 )
          values (
              3,
              1,
              3,
              2, -- Monday
              1, -- Working
              '7/15/2003 8:00:00 AM',
              '7/15/2003 12:00:00 PM',
              '7/15/2003 1:00:00 PM',
              '7/15/2003 5:00:00 PM' )

Примечание.  Если значение CD_WORKING установлено равным 0, в полях CD_FROM_TIMEn и CD_TO_TIMEn не следует ничего задавать.

В начало

Задание показателей доступности ресурсов

Чтобы определить доступность ресурса, необходимо добавить в таблицу MSP_AVAILABILITY строку для каждого периода доступности и ввести значения в следующие столбцы.

Примечание.  Нельзя задать доступность корпоративных ресурсов с помощью данного примера.

Таблица Поле Заметки
MSP_AVAILABILITY PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
AVAIL_UID Уникальный идентификатор доступности ресурса.
RES_UID Указатель на действительный идентификатор в таблице MSP_RESOURCES.
AVAIL_FROM Дата, начиная с которой ресурс становится доступным для данного периода; компонент времени в значении даты игнорируется.
AVAIL_TO Дата, после которой ресурс перестает быть доступным для данного периода.
AVAIL_UNITS Десятичное число, выражающее, сколько процентов составляет период фактической доступности ресурса для работы от всего определяемого периода.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы задать для ресурса период доступности с 15 ноября 2003 года до 20 ноября 2003 года при занятости 50%, скопируйте, измените и выполните следующую инструкцию вставки:

Insert into MSP_AVAILABILITY (
              PROJ_ID,
              AVAIL_UID,
              RES_UID,
              AVAIL_FROM,
              AVAIL_TO,
              AVAIL_UNITS )
          values (
              3,
              1,
              5,
              '7/15/2003',
              '7/21/2003',
              0.5 )
В начало

Задание ставок ресурсов

Чтобы задать одну ставку для ресурса, необходимо добавить строку в таблицу MSP_RESOURCE_RATES и ввести значения по крайней мере в следующих столбцах:

Примечание.  Нельзя задать корпоративные ресурсы организации с помощью данного примера.

Таблица Поле Заметки
MSP_RESOURCE_RATES PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
RR_UID Уникальный идентификатор ставки ресурса.
RES_UID Указатель на действительный идентификатор в таблице MSP_RESOURCES.
RR_RATE_TABLE Указывает, какая таблица норм затрат должна использоваться для работы ресурса по назначению; значения 0-4 определяют таблицы норм затрат A-E соответственно.
RR_STD_RATE или RR_OVT_RATE или RR_PER_USE_COST Необходимо установить значение в одном из этих трех столбцов. Ставки выражаются в рублях в час, а затраты на назначение — в рублях, умноженных на 100. Если задана стандартная ставка или ставка сверхурочных работ, можно указать ее формат в поле RR_STD_RATE_FMT или RR_OVT_RATE_FMT.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы задать ставку с датой действия (начальной датой), в таблицу MSP_RESOURCE_RATES необходимо добавить две строки: одну для первой ставки, не имеющей даты действия, и одну для ставки с датой действия. Чтобы задать стандартную почасовую ставку ресурса и ставку сверхурочных работ на определенный период в таблице норм затрат B, скопируйте, измените и выполните следующие инструкции вставки.

-- insert the first rate (from date not required)
Insert into MSP_RESOURCE_RATES (
              PROJ_ID,
              RR_UID,
              RES_UID,
              RR_RATE_TABLE,
              RR_TO_DATE,
              RR_STD_RATE,
              RR_STD_RATE_FMT,
              RR_OVT_RATE,
              RR_OVT_RATE_FMT )
          values (
              3,
              1,
              5, 
              1, -- table B
              '2003-03-15', -- rate end date
              24.00, -- $24/h standard rate
              2, -- standard rate format = h = hours
              36.00, -- $36/h overtime rate
              2 ) -- overtime rate format = h = hours
-- insert the second rate
Insert into MSP_RESOURCE_RATES (
              PROJ_ID,
              RR_UID,
              RES_UID,
              RR_RATE_TABLE,
              RR_FROM_DATE,
              RR_TO_DATE,
              RR_STD_RATE,
              RR_STD_RATE_FMT,
              RR_OVT_RATE,
              RR_OVT_RATE_FMT )
          values (
              3,
              2,
              5, 
              1, -- table B
              '2003-03-15', -- rate start date
              '2003-04-15', -- rate end date
              24.00, -- $24/h standard rate
              2, -- standard rate format = h = hours
              36.00, -- $36/h overtime rate
              2 ) -- overtime rate format = h = hours

Чтобы задать затраты на назначение ресурса в таблице C, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_RESOURCE_RATES (
              PROJ_ID,
              RR_UID,
              RES_UID,
              RR_RATE_TABLE,
              RR_PER_USE_COST )
          values (
              3,
              3,
              5, 
              2, -- table C
              5000 ) --'- $50.00 per use cost

Чтобы удалить все ставки некоторого ресурса в данной таблице норм затрат (A, B, C и т. д.), необходимо удалить все имеющиеся записи этой таблицы, относящиеся к ресурсу, и создать одну строку с нулевыми затратами.

В начало

Создание новой задачи

Чтобы создать новую задачу в базе данных, необходимо добавить новую строку в таблицу MSP_TASKS и ввести значения по крайней мере в следующих столбцах.

Таблица Поле Заметки
MSP_TASKS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TASK_UID Уникальный идентификатор задачи.
TASK_ID Указатель позиции задачи в списке задач.
TASK_NAME Название задачи; для подзадач указывать не обязательно.
EXT_EDIT_REF_DATA Должно содержать значение 1, указывающее, что это новая задача.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Например, предположим, что в текущем проекте имеется 22 задачи с идентификаторами TASK_UID от 1 до 22 и значениями TASK_ID от 1 до 22. Если нужно создать новую однодневную задачу под названием «Анализ конкурентов» и сделать ее восьмой задачей в проекте, добавьте в таблицу MSP_TASKS следующую строку:

Поле Значение
PROJ_ID 3
TASK_UID 23
TASK_ID 8
TASK_NAME Анализ конкурентов
TASK_DUR 4800
EXT_EDIT_REF_DATA 1

Получите точный идентификатор PROJ_ID из таблицы MSP_PROJECTS. В качестве TASK_UID используйте 23, поскольку это ближайший свободный номер. Установите значение TASK_ID равным 8, чтобы эта задача стала восьмой в списке. В связи с этим значения TASK_ID во всех последующих записях нужно будет увеличить на единицу, чтобы освободить место для нового идентификатора (TASK_ID должен быть уникальным). Для перенумерации идентификаторов TASK_ID можно выполнить следующую инструкцию обновления SQL:

Update    MSP_TASKS 
Set       TASK_ID = TASK_ID + 1 
Where     TASK_ID between 8 and 22 and
          PROJ_ID = 3

Не забудьте заменить это значение PROJ_ID на идентификатор проекта, чьи задачи должны быть перенумерованы. Когда номера задач будут изменены, создайте новую задачу с помощью следующей инструкции вставки SQL.

Insert into MSP_TASKS (
              PROJ_ID,
              TASK_UID,
              TASK_ID,
              TASK_NAME,

              TASK_DUR,
              TASK_OUTLINE_LEVEL,
              EXT_EDIT_REF_DATA )
          values (
              3,
              23,
              8,
              'my task',
              4800,
              1,
              '1' )

Примечания

В начало

Создание повторяющейся задачи

В базе данных можно создать повторяющуюся задачу, но лучше делать это в Project, поскольку в диалоговом окне Project Сведения о повторяющейся задаче не будут отражены фактические параметры повторяющейся задачи, созданной непосредственно в базе данных. При создании повторяющихся задач в базе данных по умолчанию всегда создается однодневная задача, повторяющаяся ежемесячно по понедельникам, начиная с ближайшего к текущей дате. Чтобы создать повторяющуюся задачу, необходимо добавить строку суммарной задачи и по одной строке для каждого экземпляра повторяющейся подзадачи, введя значения по крайней мере в следующих столбцах:

Таблица Поле Заметки
MSP_TASKS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TASK_UID Уникальный идентификатор задачи.
TASK_ID Указатель позиции задачи в списке задач.
TASK_NAME Название задачи; для подзадач указывать не обязательно.
TASK_OUTLINE_LEVEL Указывает уровень структуры для задачи; повторяющаяся подзадача должна находиться на один уровень ниже, чем повторяющаяся суммарная задача.
TASK_IS_RECURRING Значение 1 указывает, что задача является частью серии повторяющихся задач.
TASK_IS_RECURRING_SUMMARY Значение 1 указывает, что задача является повторяющейся суммарной задачей.
TASK_IS_ROLLED_UP Значение 1 указывает, что на отрезке суммарной задачи отображается сведенный отрезок или что данные из отрезка подзадачи должны быть сведены в отрезок суммарной задачи.
TASK_CONSTRAINT_TYPE Тип ограничения, примененного при планировании задачи; обязателен для подзадач.
EXT_EDIT_REF_DATA Должно содержать значение 1, указывающее, что это новая задача.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы создать повторяющуюся задачу с двумя повторяющимися подзадачами, скопируйте, измените и выполните следующие три инструкции вставки.

-- insert the summary recurring task
Insert into MSP_TASKS (
              PROJ_ID,
              TASK_UID,
              TASK_ID,
              TASK_NAME,
              TASK_OUTLINE_LEVEL,
              TASK_IS_RECURRING,
              TASK_IS_RECURRING_SUMMARY,
              TASK_IS_ROLLED_UP,
              EXT_EDIT_REF_DATA )
          values (
              3,
              9,
              9,
              'my recurring summary task',
              2, -- outline level
              1, -- is recurring
              1, -- is recurring summary
              1, -- is rolled up
              '1' ) 
-- insert the first recurring subtask
Insert into MSP_TASKS (
              PROJ_ID,
              TASK_UID,
              TASK_ID,
              TASK_OUTLINE_LEVEL,
              TASK_IS_RECURRING,
              TASK_IS_RECURRING_SUMMARY,
              TASK_IS_ROLLED_UP,
              TASK_CONSTRAINT_TYPE,
              EXT_EDIT_REF_DATA )
          values (
              3,
              10,
              10,
              3, -- outline level
              1, -- is recurring
              0, -- is recurring summary
              1, -- is rolled up
              4, -- constraint type = 4 = 'Start no earlier than'
              '1' )
-- insert the second recurring subtask
Insert into MSP_TASKS (
              PROJ_ID,
              TASK_UID,
              TASK_ID,
              TASK_OUTLINE_LEVEL,
              TASK_IS_RECURRING,
              TASK_IS_RECURRING_SUMMARY,
              TASK_IS_ROLLED_UP,
              TASK_CONSTRAINT_TYPE,
              EXT_EDIT_REF_DATA )
          values (
              3,
              11,
              11,
              3, -- outline level
              1, -- is recurring
              0, -- is recurring summary
              1, -- is rolled up
              4, -- constraint type = 4 = 'Start no earlier than'
              '1' )
В начало

Создание зависимостей задач

Чтобы создать зависимость (связь) задач в базе данных, необходимо добавить в таблицу MSP_LINKS новую строку и ввести значения по крайней мере в следующих столбцах (это позволит создать простую связь типа «окончание-начало» с нулевым запаздыванием).

Таблица Поле Заметки
MSP_LINKS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
LINK_UID Уникальный идентификатор связи.
LINK_PRED_UID Уникальный идентификатор задачи-предшественника; отсылает к действительному идентификатору в таблице MSP_TASKS.
LINK_SUCC_UID Уникальный идентификатор задачи-последователя; отсылает к действительному идентификатору в таблице MSP_TASKS.
EXT_EDIT_REF_DATA Должно содержать значение 1, указывающее, что это новая связь.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
Insert into MSP_LINKS (
              PROJ_ID,
              LINK_UID,
              LINK_PRED_UID,
              LINK_SUCC_UID,
              EXT_EDIT_REF_DATA )
          values (
              3,
              1,
              1,
              2,
              0 ) 

Чтобы задать связь, отличную от предлагаемой по умолчанию, установите требуемый тип связи с столбце LINK_TYPE. Допустимые значения типов можно найти в столбце CONV_VALUE таблицы MSP_CONVERSIONS, в которой идентификатор STRING_TYPE_ID равен 3 («Тип связи»). Допустимыми типами связи являются 0 («Окончание-окончание»), 1 («Окончание-начало»), 2 («Начало-окончание») и 3 («Начало-начало»).

Если требуется создать связь с запаздыванием, необходимо задать значения следующих столбцов:

Таблица Поле Заметки
MSP_LINKS LINK_LAG Величина запаздывания, задаваемая как значение длительности (число минут, умноженное на 10)
LINK_LAG_FMT Формат величины запаздывания, задаваемой в поле LINK_LAG.
EXT_EDIT_REF_DATA Должно содержать значение 1, указывающее, что это новая связь.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
В начало

Создание нового назначения

Чтобы создать новое назначение в базе данных, необходимо добавить в таблицу MSP_ASSIGNMENTS новую строку, включив в нее значения по крайней мере для следующих столбцов.

Таблица Поле Заметки
MSP_ASSIGNMENTS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
ASSN_UID Уникальный идентификатор назначения
TASK_UID Указатель на действительный идентификатор в таблице MSP_TASKS.
RES_UID Указатель на действительный идентификатор в таблице MSP_RESOURCES.
ASSN_UNITS Число единиц, на которое ресурс назначается задаче; выражается в процентах от максимального числа единиц ресурса.
ASSN_WORK Общий запланированный объем работы, которую должен выполнить ресурс задачи; если не задан, по умолчанию принимается 0.
EXT_EDIT_REF_DATA Должно содержать значение 1, указывающее, что это новое назначение.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы создать назначение, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_ASSIGNMENTS (
              PROJ_ID,
              ASSN_UID,
              RES_UID,
              TASK_UID,
              ASSN_UNITS,
              ASSN_WORK,
              EXT_EDIT_REF_DATA )
          values (
              3,
              11,
              6,
              14,
              0.5, -- 50% of resource 6's available time
              480000, -- eight hours of work
              '1' ) 

Чтобы создать в базе данных назначение для имеющейся неназначенной задачи, необходимо удалить из таблицы MSP_ASSIGNMENTS прототип назначения, в котором указан идентификатор этой задачи (TASK_UID). Для удаления этого прототипа скопируйте, измените и выполните следующую инструкцию удаления.

Delete from MSP_ASSIGNMENTS
Where TASK_UID = 17
And RES_UID = -65535 -- unassigned resource ID 

Примечания

В начало

Управление повременными данными

Повременные данные хранятся в таблице MSP_TIMEPHASED_DATA практически в том же виде, в каком они отображаются в представлениях «Использование задач» и «Использование ресурсов». В каждой строке таблицы определяются следующие параметры:

Примечание.  Project Server генерирует повременные данные в таблицах представлений, сохраненных в базе данных Project Server. Доступ к таблицам представлений можно легко получить через интерфейс пользователя Project Web Access.

В качестве типа собираемых данных устанавливается соответствующее значение столбца CONV_VALUE таблицы MSP_CONVERSIONS, в которой строка имеет тип «Повременной тип профиля загрузки». Могут записываться данные следующих типов:

Примечание.  Выполненные трудозатраты по назначению не сохраняются в базе данных. Они вычисляется как отношение фактических трудозатрат для назначения к длительности назначения.

Чтобы записать повременные данные об оставшихся трудозатратах, фактических трудозатратах или финансовых затратах для назначения или задачи, необходимо добавить в таблицу MSP_TIMEPHASED_DATA одну или несколько строк и ввести значения по крайней мере для следующих столбцов.

Таблица Поле Заметки
MSP_TIMEPHASED_DATA PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TD_UID Уникальный идентификатор записи с повременными данными.
TD_FIELD_ID Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS.
TD_CATEGORY Задайте значение 0, чтобы указать категорию «Задача».
TD_REF_UID Значение соответствующего идентификатора TASK_UID, RES_UID или ASSN_UID строки, к которой относятся повременные данные.
TD_START Начало первого периода времени, к которому будут относиться значения трудозатрат, процента завершения или затрат.
TD_FINISH Окончание первого периода времени, к которому будут относиться значения трудозатрат, процента завершения или затрат.
TD_UNITS Единица времени для значений, заданных в полях TD_VALUE1 - TD_VALUE7.
TD_VALUE1 - TD_VALUE7 Значения трудозатрат, процента завершения или затрат для семи периодов времени, которые выражаются в единицах, заданных в столбце TD_UNITS, и относятся к диапазону дат, определенному в столбцах TD_START и TD_FINISH; применимы только значения, попадающие в промежуток между заданными датами начала и окончания.
TD_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

В следующей таблице показано, как содержимое таблицы MSP_TIMEPHASED_DATA соотносится с данными о фактических трудозатратах для назначения, показанными в представлении «Использование задач».

Поле проекта Значение в представлении Столбец базы данных Значение в таблице MSP_TIMEPHASED_DATA
Идентификатор проекта н/д PROJ_ID 3
Уникальный идентификатор записи с повременными данными н/д TD_UID 7
Подробности. Фактические трудозатраты TD_FIELD_ID 2
Категория н/д TD_CATEGORY 3
Уникальный идентификатор назначения н/д TD_REF_UID 16
Период времени шкала времени TD_START 15.07.2003 9:00:00
TD_FINISH 26.07.2003 9:00:00
Вспомогательная шкала TD_UNITS 3
Фактические трудозатраты TD_VALUE1 480000
TD_VALUE2 240000
TD_VALUE3 0
TD_VALUE4 240000
В начало

Создание и изменение заказа на фактические трудозатраты для назначения

Чтобы задать фактические трудозатраты для назначения, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_TIMEPHASED_DATA (
              PROJ_ID,
              TD_UID,
              TD_FIELD_ID,
              TD_CATEGORY,
              TD_REF_UID,
              TD_START,
              TD_FINISH,
              TD_UNITS,
              TD_VALUE1,
              TD_VALUE2,
              TD_VALUE3,
              TD_VALUE4,
              TD_EXT_EDITED )
          values (
              3,
              108,
              2, -- assignment actual work
              3, -- category = assignment
              2, -- assignment UID
              '7/15/2003 8:00:00 AM', -- start of the first time period
              '8/26/2003 8:00:00 AM', -- end of the last time period
              2, -- each value column represents a day,
              480000, -- day one value = 8h = (480 minutes * 1000)
              240000, -- day two value = 4h = (240 minutes * 1000)
              0, -- day three value = 0h = (zero minutes * 1000)
              240000, -- day three value = 4h = (240 minutes * 1000)
              1 ) -- externally edited flag

Примечание.  Значение поля TD_FINISH будет отображаться в Microsoft Project как 25.07.2003, потому что значение 26.08.2003 09:00 интерпретируется как окончание рабочего дня, начинающегося 25 ноября.

В начало

Создание прерываний в запланированной работе

Создание прерываний в запланированной работе производится аналогично определению фактических трудозатрат. Отличие состоит в следующем:

В начало

Создание и изменение заказа на оставшиеся трудозатраты для назначения

Оставшиеся трудозатраты задаются примерно так же, как и фактические трудозатраты. Отличие состоит в следующем:

В начало

Создание и изменение профилей затрат

Чтобы задать профиль загрузки на восемь дней для назначения, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_TIMEPHASED_DATA (
              PROJ_ID,
              TD_UID,
              TD_FIELD_ID,
              TD_CATEGORY,
              TD_REF_UID,
              TD_START,
              TD_FINISH,
              TD_UNITS,
              TD_VALUE1,
              TD_EXT_EDITED )
          values (
              3,
              109,
              6, -- assignment actual cost
              3, -- category = assignment
              3, -- assignment UID
              '7/15/2003 8:00:00 AM', -- start of the first time period
              '8/26/2003 8:00:00 AM', -- end of the last time period
              3, -- each value column represents a week,
              10032, -- week one value = $100.32 cost * 100,
              1 )

В этом примере создается запись, в которой для данного назначения определены затраты на семь дней величиной $100,32. Чтобы создать запись для восьмого дня, скопируйте и измените следующую инструкцию вставки.

Insert into MSP_TIMEPHASED_DATA (
              PROJ_ID,
              TD_UID,
              TD_FIELD_ID,
              TD_CATEGORY,
              TD_REF_UID,
              TD_START,
              TD_FINISH,
              TD_UNITS,
              TD_VALUE1,
              TD_EXT_EDITED )
          values (
              3,
              110,
              6, -- assignment actual cost
              3, -- category = assignment
              3, -- assignment UID
              '7/15/2003 8:00:00 AM', -- start of the first time period
              '8/26/20031 8:00:00 AM', -- end of the last time period
              2, -- days,
              1650, -- day one value = $16.50 cost * 100,
              1 )

Вместе эти две инструкции создают профиль на заданный восьмидневный период.

Примечание.   Project будет игнорировать вставленные значения затрат, если в столбце PROJ_OPT_CALC_ACT_COSTS таблицы MSP_PROJECTS установлено значение 1.

Чтобы сбросить этот флаг, скопируйте, измените и выполните следующую инструкцию обновления:

Update    MSP_PROJECTS 
Set       PROJ_OPT_CALC_ACT_COSTS = 0 
Where     PROJ_ID = 3 
В начало

Создание и изменение профилей процента выполнения задачи

Чтобы задать профиль процента выполнения задачи, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_TIMEPHASED_DATA (
              PROJ_ID,
              TD_UID,
              TD_FIELD_ID,
              TD_CATEGORY,
              TD_REF_UID,
              TD_START,
              TD_FINISH,
              TD_UNITS,
              TD_VALUE1,
              TD_VALUE2,
              TD_VALUE3,
              TD_EXT_EDITED )
          values (
              3,
              111,
              11, -- task percent complete
              0, -- category = task
              3, -- TASK_UID
              '7/15/2003 8:00:00 AM', -- start of the first time period
              '8/26/2003 8:00:00 AM', -- end of the last time period
              2, -- days,
              72, -- day one value = 72 percent * 100,
              0, -- day two value of zero percent * 100,

              28, -- day three value = 28 percent * 100,
              1 )

В этом примере создается запись, в которой указано, что в первый день, начинающийся 15.07.2003 в 8:00:00, выполняется 72% общего объема работы по задаче, на следующий день 0%, а в день, начинающийся 25.08.2003, выполняется 28%.

В начало

Удаление профиля

Чтобы удалить профиль в таблице MSP_TIMEPHASED_DATA, обновите все относящиеся к нему строки, установив во всех столбцах TD_VALUE значение 0 и в полях TD_EXT_EDITED значение 1. Установка значения 0 во всех столбцах TD_VALUE одной строки не приведет к ее удалению, если в таблице остаются строки того же профиля, относящиеся к более ранним или более поздним периодам, чем у удаляемой строки. Вместо удаления строки будет создано прерывание в профиле, и строка сохранится в прежнем виде.

Примечание.   Project Microsoft Project физически удаляет обновленные строки таблицы MSP_TIMEPHASED_DATA только при сохранении проекта.

В начало

Настройка данных проекта

Поля настраиваемых флагов хранятся в базе данных в шести специальных таблицах, соответствующих различным типам настраиваемых полей. Чтобы задать значение настраиваемого поля, необходимо добавить новую строку в одну из этих таблиц и установить соответствующий флаг в таблице MSP_PROJECTS. Значения настраиваемых полей для суммарной задачи проекта задаются точно так же, только необходимо использовать специальный идентификатор задачи TASK_UID, равный 0.

Примечание.  Сведения данного раздела не всегда применимы 9или могут отличаться) к данным корпоративного проекта, сохраненным в базе данных Project Server. Рекомендуется, чтобы эти данные корпоративного проекта в базе данных Project Server взаимодейтсвовали только через Project Data Service (PDS), Project или Project Web Access.

В начало

Задание настраиваемых текстовых полей

Чтобы задать настраиваемое текстовое поле, необходимо ввести значения в следующих полях базы данных.

Таблица Столбцы Заметки
MSP_TEXT_FIELDS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
TEXT_CATEGORY Указывает категорию настраиваемого текста — «Задача» (0), «Ресурс» (1) или «Назначение» (3).
TEXT_REF_UID Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем TEXT_CATEGORY.
TEXT_FIELD_ID Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS; всегда равняется 188743706 для вставленных проектов.
TEXT_VALUE Значение настраиваемого текстового поля.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
PROJ_EXT_EDITED_TEXT Должно содержать 1, чтобы Project мог выполнить обработку.
В начало

Задание настраиваемых числовых полей (или полей затрат)

Чтобы задать настраиваемое числовое поле, необходимо ввести значения в следующих столбцах базы данных.

Таблица Столбцы Заметки
MSP_NUMBER_FIELDS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
NUM_CATEGORY Указывает категорию настраиваемого числа — «Задача» (0), «Ресурс» (1) или «Назначение» (3).
NUM_REF_UID Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем NUM_CATEGORY.
NUM_FIELD_ID Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS.
NUM_VALUE Значение настраиваемого числового поля.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
PROJ_EXT_EDITED_NUM Должно содержать 1, чтобы Project мог выполнить обработку.
В начало

Задание настраиваемых полей дат (дат начала и окончания)

Чтобы задать настраиваемое поле даты, необходимо ввести значения в следующих столбцах базы данных.

Таблица Столбцы Заметки
MSP_DATE_FIELDS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
DATE_CATEGORY Указывает категорию настраиваемой даты — «Задача» (0), «Ресурс» (1) или «Назначение» (3).
DATE_REF_UID Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем DATE_CATEGORY.
DATE_FIELD_ID Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS.
DATE_VALUE Значение настраиваемого поля длительности.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
PROJ_EXT_EDITED_DATE Должно содержать 1, чтобы Project мог выполнить обработку.
В начало

Задание настраиваемых полей длительности

Чтобы задать настраиваемое поле длительности, необходимо ввести значения в следующих столбцах базы данных.

Таблица Столбцы Заметки
MSP_DURATION_FIELDS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
DUR_CATEGORY Указывает категорию настраиваемой длительности — «Задача» (0), «Ресурс» (1) или «Назначение» (3).
DUR_REF_UID Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем DUR_CATEGORY.
DUR_FIELD_ID Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS.
DUR_VALUE Значение настраиваемого поля длительности.
DUR_FMT Задает единицы, используемые при отображении значений длительности в Project.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
PROJ_EXT_EDITED_DUR Должно содержать 1, чтобы Project мог выполнить обработку.
В начало

Атрибуты поля

Большинство полей Project просто хранят конкретные данные и не обладают каким-либо дополнительными свойствами, однако некоторые поля содержат не только значения данных, но и метаданные уровня проекта, которые относятся ко всем значениям соответствующего столбца. Например, в поле «СДР» хранятся фактические коды СДР для каждой задачи, но существует также маска кодов, которая может быть определена в масштабе проекта. Точно так же всем настраиваемым полям в Project могут быть назначены специальные атрибуты, такие как формулы или определяемые пользователем имена (псевдонимы), и эти метаданные записываются только один раз для всего столбца, отдельно от самих данных, хранящихся в каждой строке.

В базе данных эти метаданные хранятся в таблицах MSP_FIELD_ATTRIBUTES и MSP_ATTRIBUTE_STRINGS. Таблица MSP_FIELD_ATTRIBUTES содержит идентификаторы полей, численное значение атрибута (которое можно расшифровать по таблице MSP_CONVERSIONS) и фактическое значение атрибута (или указатель на него). Числовые и логические значения сохраняются непосредственно в таблице MSP_FIELD_ATTRIBUTES, а строковые значения — в таблице MSP_ATTRIBUTE_STRINGS, причем индекс строки хранится в MSP_FIELD_ATTRIBUTES.

В начало

Задание настраиваемых кодов СДР

Настраиваемые коды СДР определяются в двух таблицах. Маска кода хранится в таблице MSP_ATTRIBUTE_STRINGS. Фактические значения кодов СДР для задач хранятся в таблице MSP_TASKS (столбцы TASK_WBS и TASK_WBS_RIGHTMOST_LEVEL). Чтобы определить настраиваемые коды СДР, необходимо ввести значения для следующих столбцов.

Таблица Столбцы Заметки
MSP_ATTRIBUTE_STRINGS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
AS_ID Указатель на строку в таблице MSP_ATTRIBUTE_STRINGS, идентифицирующую строковое значение СДР.
AS_VALUE Показывает формулу, заданную в диалоговом окне Project Формула.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы создать маску кода СДР, необходимую для формирования кода СДР «A.b.01», скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_ATTRIBUTE_STRINGS (
              PROJ_ID,
              AS_ID,
              AS_VALUE )
          values (
              3,
              1,
              '1,1,.,2,1,.,0,0,.' )

В этом примере значение в столбце AS_VALUE задает три уровня кодов СДР:

Спецификация кода СДР Код СДР Максимальная длина кода СДР Символ-разделитель кода СДР
1,1,. Латинские прописные буквы (по алфавиту) 1 . (точка)
2,1,. Латинские строчные буквы (по алфавиту) 1 . (точка)
0,0,. Цифры (по порядку) любое . (точка)

Можно также задать префикс кода СДР, например «proj1», и тогда код СДР примет вид «proj1-A.b.01». Чтобы задать маску префикса кода СДР, скопируйте, измените и выполните следующую инструкцию вставки:

Insert into MSP_ATTRIBUTE_STRINGS (
              PROJ_ID,
              AS_ID,
              AS_VALUE )
          values (
              3,
              2,
              'proj1-' )

Чтобы заданные в этих примерах префикс и коды СДР можно было использовать в задачах, необходимо добавить в таблицу MSP_FIELD_ATTRIBUTES две строки. Одна строка соответствует префиксу СДР, а другая маске кода СДР. Должны быть заданы значения следующих столбцов:

Таблица Столбцы Заметки
MSP_FIELD_ATTRIBUTES PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
ATTRIB_FIELD_ID Указатель на действительный идентификатор поля в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
ATTRIB_ID Указатель на действительный атрибут поля в столбце STRING_TYPE_ID таблицы MSP_CONVERSIONS.
ATTRIB_VALUE Содержит значение атрибута; -1 указывает, что значение хранится в таблице MSP_ATTRIBUTE_STRINGS.
AS_ID Указатель на строку в таблице MSP_ATTRIBUTE_STRINGS, если значение ATTRIB_VALUE установлено равным -1.
ATTRIB_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку. .

Чтобы создать эти строки, скопируйте, измените и выполните следующие инструкции вставки.

Insert into MSP_FIELD_ATTRIBUTES (
              PROJ_ID,
              ATTRIB_FIELD_ID,
              ATTRIB_ID,
              ATTRIB_VALUE,
              AS_ID,
              ATTRIB_EXT_EDITED )
          values (
              3,
              188743696, -- TASK_WBS field ID
              200, -- for 'Outline code and WBS mask'
              -1, -- the value is specified in MSP_ATTRIBUTE_STRINGS
              1, -- the ID of the WBS code definition
              1 ) -- must set for Project to process

Insert into MSP_FIELD_ATTRIBUTES (
              PROJ_ID,
              ATTRIB_FIELD_ID,
              ATTRIB_ID,
              ATTRIB_VALUE,
              AS_ID,
              ATTRIB_EXT_EDITED )
          values (
              3,
              188743696, -- TASK_WBS field ID
              204, -- for 'WBS Prefix'
              -1, -- indicates that the value is in MSP_ATTRIBUTE_STRINGS
              2, -- the ID of the WBS code definition
              1 ) -- must set for Project to process

Когда эти строки будут вставлены, задачам можно присваивать настраиваемые коды СДР. Задаваемые коды СДР должны соответствовать установленной маске. Чтобы задать код СДР для существующей задачи, скопируйте, измените и выполните следующую инструкцию обновления.

Update    MSP_TASKS 
Set       TASK_WBS = 'A.b.03',
          TASK_WBS_RIGHTMOST_LEVEL = '03' 
Where     PROJ_ID = 3
And       TASK_UID = 11

Создавая или изменяя проект в базе данных, можно потребовать, чтобы в Project отслеживалась уникальность кодов СДР и автоматически генерировались коды для новых задач, создаваемых средствами Project. Чтобы задать в Microsoft Project контроль уникальности новых кодов СДР для задач, необходимо добавить строку в таблицу MSP_FIELD_ATTRIBUTES. Для создания этой строки скопируйте, измените и выполните следующую инструкцию вставки:

Insert into MSP_FIELD_ATTRIBUTES (
              PROJ_ID,
              ATTRIB_FIELD_ID,
              ATTRIB_ID,
              ATTRIB_VALUE,
              ATTRIB_EXT_EDITED )
          values (
              3,
              188743696, -- TASK_WBS field ID
              203, -- for 'Verify uniqueness of new WBS codes'
              1, -- sets the flag to True
              1 ) -- must set for Project to process

И наконец, чтобы указать, следует ли в Microsoft Project автоматически генерировать коды СДР для новых задач, скопируйте, измените и выполните следующую инструкцию вставки:

Insert into MSP_FIELD_ATTRIBUTES (
              PROJ_ID,
              ATTRIB_FIELD_ID,
              ATTRIB_ID,
              ATTRIB_VALUE,
              ATTRIB_EXT_EDITED )
          values (
              3,
              188743696, -- TASK_WBS field ID
              205, -- for 'Generate WBS code for new tasks'
              1, -- sets the flag to True
              1 ) -- must set for Project to process
В начало

Задание настраиваемых кодов структуры

Настраиваемые коды структуры представляют собой мощные и гибкие средства систематизации и описания данных, относящихся к задачам. При определении настраиваемых кодов структуры непосредственно в базе данных следует соблюдать осторожность. Настраиваемые коды структуры определяются в следующих пяти таблицах:

Для создания настраиваемых кодов структуры необходимо ввести значения по крайней мере для следующих столбцов.

Таблица Столбцы Заметки
MSP_OUTLINE_CODES PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
CODE_UID Идентификатор настраиваемого кода структуры; должен быть уникален в рамках проекта.
OC_PARENT Указатель на действительный идентификатор в таблице MSP_OUTLINE_CODES; устанавливается равным 0 для кодов верхнего уровня, не имеющих родительских.
OC_FIELD_ID Указатель на действительный идентификатор поля в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
OC_NAME Имя настраиваемого кода структуры.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Определив маску настраиваемого кода структуры, можно определять сами коды структуры. Чтобы задать два уровня кодов, образующих код структуры «A.x», скопируйте, измените и выполните следующие инструкции вставки.

Insert into MSP_OUTLINE_CODES (
              PROJ_ID,
              CODE_UID,
              OC_PARENT,
              OC_FIELD_ID,
              OC_NAME )
          values (
              3,
              1,
              0, -- highest level code, no parent
              188744096, -- Task Outline Code1
              'A' ) -- the level 1 code

Insert into MSP_OUTLINE_CODES (
              PROJ_ID,
              CODE_UID,
              OC_PARENT,
              OC_FIELD_ID,
              OC_NAME )
          values (
              3,
              2,
              1, -- parent code UID = 1
              188744096, -- Task Outline Code1
              'x' ) -- the level 1 code

Чтобы связать код с настраиваемым кодом структуры и конкретной задачей или ресурсом, необходимо ввести значения для следующих столбцов.

Таблица Столбцы Заметки
MSP_CODE_FIELDS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
CODE_CATEGORY Указывает, относится ли настраиваемый код структуры к задаче (0) или к ресурсу (1).
CODE_REF_UID Указатель на действительный идентификатор TASK_UID или RES_UID в соответствующей таблице, как определенно полем CODE_CATEGORY.
CODE_FIELD_ID Указатель на действительный идентификатор поля в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
CODE_UID Идентификатор настраиваемого кода структуры; должен быть уникален в рамках проекта.

Чтобы сопоставить настраиваемый код структуры задаче, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_CODE_FIELDS (
              PROJ_ID,
              CODE_CATEGORY,
              CODE_REF_UID,
              CODE_FIELD_ID,
              CODE_UID )
          values (
              3, -- project ID
              0, -- task category
              2, -- task UID
              188744096, -- Task Outline Code1
              2 ) -- code UID for the code "x"

В результате вставки этой строки значением настраиваемого кода структуры 1 для задачи 2 становится «A.x».

Примечание.  При удалении настраиваемого кода структуры из таблицы MSP_OUTLINE_CODES следует также удалить все дочерние коды, чтобы не оставлять их без родителя.

В начало

Задание псевдонимов для настраиваемых полей

Псевдонимы настраиваемых полей хранятся в таблицах MSP_ATTRIBUTE_STRINGS и MSP_FIELD_ATTRIBUTES. Как и для настраиваемых кодов СДР, псевдоним задается в таблице MSP_ATTRIBUTE_STRINGS. Обязательными полями являются следующие:

Таблица Столбцы Заметки
MSP_ATTRIBUTE_STRINGS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
AS_ID Идентифицирует строковый атрибут, содержащий настраиваемую формулу.
AS_VALUE Формула в том виде, как она задана в диалоговом окне Project Формула.

Псевдоним ставится в соответствие конкретному настраиваемому полю в таблице MSP_FIELD_ATTRIBUTES. Необходимо задать значения для следующих столбцов.

Таблица Столбцы Заметки
MSP_FIELD_ATTRIBUTES PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
ATTRIB_FIELD_ID Указатель на действительный идентификатор поля в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
ATTRIB_ID Указатель на действительный атрибут поля в столбце STRING_TYPE_ID таблицы MSP_CONVERSIONS.
ATTRIB_VALUE Содержит значение атрибута; -1 указывает, что значение хранится в таблице MSP_ATTRIBUTE_STRINGS.
AS_ID Указатель на строку в таблице MSP_ATTRIBUTE_STRINGS, если значение ATTRIB_VALUE установлено равным -1.
ATTRIB_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы задать псевдоним для настраиваемого поля, скопируйте, измените и выполните следующие инструкции вставки.

Insert into MSP_ATTRIBUTE_STRINGS (
              PROJ_ID,
              AS_ID,
              AS_VALUE )
          values (
              3,
              5,
              'my text column' )

Insert into MSP_FIELD_ATTRIBUTES (
              PROJ_ID,
              ATTRIB_FIELD_ID,
              ATTRIB_ID,
              ATTRIB_VALUE,
              AS_ID,
              ATTRIB_EXT_EDITED )
          values (
              3,
              188743731, -- refers to custom field 'Task Text1'
              206, -- for 'Field Alias'
              -1, -- indicates that the value is in MSP_ATTRIBUTE_STRINGS
              5, -- the ID of the value in MSP_ATTRIBUTE_STRINGS
              1 ) -- must set for Project to process
В начало

Задание формул для настраиваемых полей

Подобно префиксам и маскам настраиваемых кодов СДР, настраиваемые формулы задаются в таблицах MSP_FIELD_ATTRIBUTES и MSP_ATTRIBUTE_STRINGS. Чтобы определить настраиваемую формулу, необходимо ввести значения для следующих столбцов.

Таблица Столбцы Заметки
MSP_ATTRIBUTE_STRINGS PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
AS_ID Уникальный идентификатор строки атрибута.
AS_VALUE Показывает формулу, заданную в диалоговом окне Microsoft Project «Формула».

Например, чтобы задать формулу, выполняющую расчет по формуле (2*[Длительность])/60, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_ATTRIBUTE_STRINGS (
              PROJ_ID,
              AS_ID,
              AS_VALUE )
          values (
              3,
              5,
              '(2*[Duration])/60' )

Чтобы отобразить формулу в настраиваемое поле, необходимо задать значения для следующих столбцов таблицы MSP_FIELD_ATTRIBUTES.

Таблица Столбцы Заметки
MSP_FIELD_ATTRIBUTES PROJ_ID Указатель на действительный идентификатор в таблице MSP_PROJECTS
ATTRIB_FIELD_ID Указатель на действительный идентификатор поля в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
ATTRIB_ID Указатель на действительный атрибут поля в столбце STRING_TYPE_ID таблицы MSP_CONVERSIONS.
AS_ID Указатель на строку в таблице MSP_ATTRIBUTE_STRINGS, если значение ATTRIB_VALUE установлено равным -1.
ATTRIB_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.
MSP_PROJECTS PROJ_EXT_EDITED Должно содержать 1, чтобы Project мог выполнить обработку.

Чтобы создать отображение настраиваемой формулы в настраиваемое поле «Число 1», скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_FIELD_ATTRIBUTES (
              PROJ_ID,
              ATTRIB_FIELD_ID,
              ATTRIB_ID,
              AS_ID,
              ATTRIB_EXT_EDITED )
          values (
              3,
              188743767, -- Number1 custom field
              207, -- for 'Custom Field Formula'
              5, -- the ID of the custom formula definition
              1 ) -- must set for Project to process

Чтобы запросить в базе данных существующую формулу для настраиваемого поля «Число 3», скопируйте, измените и выполните следующую инструкцию выборки.

Select    PROJ_NAME,
          (select CONV_STRING
             from MSP_CONVERSIONS
            where CONV_VALUE = fa.ATTRIB_FIELD_ID
              and STRING_TYPE_ID = 105) as ATTRIB_FIELD -- field name
          (select CONV_STRING
             from MSP_CONVERSIONS
            where CONV_VALUE = fa.ATTRIB_ID
              and STRING_TYPE_ID = 106) as ATTRIB -- field attribute name
          AS_VALUE
From      MSP_FIELD_ATTRIBUTES fa,
          MSP_ATTRIBUTE_STRINGS s,
          MSP_PROJECTS p
Where     fa.AS_ID = s.AS_ID
And       fa.PROJ_ID = s.PROJ_ID
And       fa.PROJ_ID = p.PROJ_ID
And       fa.ATTRIB_FIELD_ID = 188743769 -- field = Number3
And       p.PROJ_ID = 3  

Чтобы удалить формулу, установите в таблице MSP_ATTRIBUTE_STRINGS значение поля AS_VALUE равным NULL в строке, определяющей формулу. Не забудьте установить в поле ATTRIB_EXT_EDITED соответствующей строки таблицы MSP_FIELD_ATTRIBUTES значение 1, чтобы Microsoft Project мог выполнить обработку. Строка будет удалена при сохранении проекта в Microsoft Project.

В начало

Чтение и составление заметок в формате RTF

Чтобы извлечь данные из столбцов заметок RTF в таблице MSP_TASKS, MSP_RESOURCES или MSP_ASSIGNMENTS, скопируйте, измените и выполните следующий сценарий VB.

Sub getRtf()
    'This macro extracts RTF data from MSP_TASKS.TASK_RTF_NOTES.  This data can then be written
    'to a file that can be opened with Microsoft Word or displayed in a richedit control.
    
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql As String, rtf As String, cnString

    'Open the MSP_TASKS table to look for TASK_RTF_NOTES
    cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\MyProject.mpd"
    sql = "select PROJ_ID, TASK_UID, TASK_RTF_NOTES " & _
          "from MSP_TASKS " & _
          "where TASK_RTF_NOTES is not null" 'can specify a specific PROJ_ID and TASK_UID instead
    cn.Open cnString
    rs.Open sql, cn
    
    'Enumerate across the recordset looking for notes
    With rs
        Do While Not .EOF
            rtf = StrConv(.Fields("TASK_RTF_NOTES"), vbUnicode) ' Put binary column data into text string
            Debug.Print rtf
            .MoveNext
        Loop
        .Close
    End With
End Sub

Примечание.  Предварительно проверьте в этой программе имена MSP_TASKS, TASK_RTF_NOTES и TASK_UID. При необходимости в них нужно будет заменить TASKS на RES или ASSN, в зависимости от того, из какой таблицы берутся данные RTF.

Чтобы записать данные в столбец заметок RTF в таблице MSP_TASKS, MSP_RESOURCES или MSP_ASSIGNMENTS, скопируйте, измените и выполните следующий сценарий VB.

Sub writeRtf()
    'This macro writes RTF data to MSP_TASKS.TASK_RTF_NOTES.

    Dim cn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim param As New ADODB.Parameter
    Dim sql As String, rtf As String, cnString As String

    cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\MyProject.mpd"
    sql = "update MSP_TASKS set TASK_RTF_NOTES = ? where PROJ_ID = 1 and TASK_UID = 1"
    rtf = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}" & vbNewLine & _
          "\viewkind4\uc1\pard\f0\fs20 What's in a name? That which we call a rose...     \par" & vbNewLine & _
          "}" & vbNewLine & vbLf & Chr(0)   'be sure to specify valid RTF text here including "vbLf & Chr(0)

    cn.Open cnString

    param.Direction = adParamInput
    param.Type = adVarBinary
    param.Size = 8000
    param.Value = StrConv(rtf, vbFromUnicode)

    cmd.ActiveConnection = cn
    cmd.CommandText = sql
    cmd.Parameters.Append param
    cmd.Execute
End Sub

Примечание.  Предварительно проверьте в этой программе имена MSP_TASKS, TASK_RTF_NOTES и TASK_UID. При необходимости в них нужно будет заменить TASKS на RES или ASSN, в зависимости от того, из какой таблицы берутся данные RTF.

Чтобы эти сценарии выполнялись, в редакторе Microsoft Visual Basic для VBA должна быть указана библиотека ADO 2.1 (или более поздней версии). Установите в столбце TASK_HAS_NOTES таблицы MSP_TASKS и столбце PROJ_EXT_EDITED таблицы MSP_PROJECTS значения 1, чтобы Microsoft Project мог выполнить обработку. То же самое необходимо сделать при изменении заметок RTF в таблицах MSP_RESOURCES и MSP_ASSIGNMENTS.

В начало

Управление другими данными в базе данных

В таблице MSP_TEXT_FIELDS хранятся дополнительные данные о задачах и ресурсах, перечисленные ниже.

Поля задачи Поля ресурса
Задача Контактное лицо Ресурс Код
Связь между проектами (название проекта, идентификатор задачи) Адрес электронной почты
Заметки (не в формате RTF) Заметки (не в формате RTF)
Задача Файл подпроекта Группа ресурсов
Максимальное значение СДР Ресурс Учетная запись Windows
Задача Гиперссылка Ресурс Гиперссылка
Задача Адрес гиперссылки Ресурс Адрес гиперссылки
Задача Субадрес гиперссылки Ресурс Субадрес гиперссылки

Чтобы задать значение для одного из этих полей, необходимо указать категорию («Задача» или «Ресурс»), ссылку на уникальный идентификатор этой категории, тип поля (например «Задача Контактное лицо») и само значение. Значения типов полей хранятся в таблице MSP_CONVERSIONS там, где тип символьной строки равен 105, т. е. задает «Идентификатор поля».

В столбцах PROJ_EXT_EDITED и PROJ_EXT_EDITED_TEXT таблицы MSP_PROJECTS должно быть установлено значение 1, чтобы Microsoft Project мог обработать дополнительные данные о задаче, ресурсе или назначении, хранящиеся в таблице MSP_TEXT_FIELDS.

Примечание.   Project извлекает текст в таблицы MSP_TEXT_FIELDS из таблиц TASK_RTF_NOTES, RES_RTF_NOTES и ASSN_RTF_NOTES для удобства пользователя. Эти текстовые заметки носят чисто информационный характер и не могут быть обновлены.

В начало

Задание адреса электронной почты

Чтобы задать адрес электронной почты для ресурса, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_TEXT_FIELDS (
              PROJ_ID,
              TEXT_CATEGORY,
              TEXT_REF_UID,
              TEXT_FIELD_ID,
              TEXT_VALUE )
          values (
              3,
              1, -- the category is 'Resource'
              6, -- the UID of the resource
              205520931, -- the 'Resource Email Address' field
              'somebody@microsoft.com' ) -- resource's e-mail address
В начало

Получение ссылок на проекты и задачи, для которых установлены межпроектные связи

Межпроектные связи позволяют установить зависимость между задачей одного проекта и задачей другого проекта. Межпроектные связи записываются и в проекте, содержащем зависимую задачу, и в проекте, содержащем задачу, от которой зависит первая задача. Создавать, изменять и удалять межпроектные связи можно только с помощью Microsoft Project. Создание, изменение или удаление данных о межпроектных связях в базе данных может привести к повреждению содержимого проекта. Это относится к данным об обычных задачах и дубликатах (копиях задачи-последователя или задачи-предшественника из другого проекта), связям и ссылкам на связи в таблице MSP_TEXT_FIELDS.

Чтобы получить ссылки на проекты и задачи, для которых установлены межпроектные связи, скопируйте, измените и выполните следующую инструкцию выборки.

Select    PROJ_NAME,
          TASK_NAME,
          CONV_STRING,
          TEXT_VALUE
From      MSP_PROJECTS p,
          MSP_TASKS t,
          MSP_CONVERSIONS c,
          MSP_LINKS l,
          MSP_TEXT_FIELDS x
where     p.PROJ_ID = 2    -- set the project ID
and       t.TASK_UID = 1   -- set the task UID
and       p.PROJ_ID = t.PROJ_ID
and       p.PROJ_ID = l.PROJ_ID
and       p.PROJ_ID = x.PROJ_ID
and       l.LINK_UID = x.TEXT_REF_UID
and       X.TEXT_CATEGORY = 4 -- Dependencies
and       (
             (    t.TASK_ID = l.LINK_PRED_UID
              and c.CONV_VALUE = x.TEXT_FIELD_ID
              and c.STRING_TYPE_ID = 105 -- Field ID
             )
           or
             (    t.TASK_ID = l.LINK_SUCC_UID
              and c.CONV_VALUE = x.TEXT_FIELD_ID


              and c.STRING_TYPE_ID = 105 -- Field ID
             )
          )
В начало

Получение имен файлов клиентов пула ресурсов

Для удобства использования имена файлов клиентов пула для проекта пула ресурсов записываются в базу данных. Эти имена доступны только для чтения и не могут быть изменены в базе данных. Чтобы получить список файлов клиентов пула ресурсов, хранящихся в базе данных, выполните следующую инструкцию выборки.

Select   AS_VALUE
From     MSP_ATTRIBUTE_STRINGS S inner join
         MSP_FIELD_ATTRIBUTES A on
         S.AS_ID = A.AS_ID
Where    A.ATTRIB_ID = 208 -- conversion string 'Sharer File Names'
Order by S.AS_POSITION
В начало

Построение структуры, включающей суммарные задачи и подзадачи

Структуры, состоящие из суммарных задач и расположенных под ними подзадач, создаются в три этапа.

1   Увеличьте на единицу идентификаторы всех задач, расположенных ниже задачи, под которой будет вставлена подзадача.
2   Вставьте подзадачу, назначив ей идентификатор на единицу больший, чем у задачи, под которой она вставлена.
3   Пометьте задачу, под которой вставлена подзадача, как суммарную.

Например, чтобы увеличить идентификаторы всех задач после задачи 12 (которая затем станет суммарной задачей), скопируйте, измените и выполните следующую инструкцию обновления:

Update    MSP_TASKS 
Set       TASK_ID = TASK_ID + 1 
Where     TASK_ID > 12

Теперь, когда в списке идентификаторов задач появилось свободное место, можно вставить подзадачу. (О том, как создавать и добавлять новые задачи, см. выше раздел Создание новой задачи.) При вставке подзадачи ее уровень структуры должен быть установлен на единицу больше, чем у суммарной задачи. Чтобы вставить подзадачу 13, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_TASKS (
              PROJ_ID,
              TASK_UID,
              TASK_ID,
              TASK_NAME,
              TASK_OUTLINE_LEVEL,
              EXT_EDIT_REF_DATA )
          values (
              3,
              24, -- new, unique task UID
              13, -- the ID of the new task
              'your subtask name', -- the name of the task
              3, -- outline level of task 12 + 1
              '1' ) -- set to 1 so Project will process

Если задача 12 ранее не была суммарной, ее нужно пометить как суммарную. Чтобы определить задачу как суммарную, скопируйте, измените и выполните следующую инструкцию обновления.

Update    MSP_TASKS 
Set       TASK_IS_SUMMARY = 1 
Where     TASK_UID = 12

Не забудьте установить в столбце PROJ_EXT_EDITED таблицы MSP_PROJECTS значение 1, чтобы Project смог обработать изменения.

В начало

Изменение трудозатрат для назначения суммарной задачи

Если суммарной задаче назначен ресурс и для этого назначения требуется изменить величину трудозатрат, задайте нужные значения в столбцах ASSN_UNITS и ASSN_WORK таблицы MSP_ASSIGNMENTS. Чтобы для существующего назначения суммарной задачи установить объем работы в два дня при занятости 50%, скопируйте, измените и выполните следующую инструкцию обновления.

Update    MSP_ASSIGNMENTS 
Set       ASSN_WORK = 96000,
          ASSN_UNITS = .50 
Where     TASK_UID > 12

Перед обновлением строки выполните архивацию данных задачи. Дополнительные сведения об архивации существующих данных, относящихся к задачам, см. в разделе Обеспечение целостности данных.

В начало

Получение сведений о состоянии сообщений рабочей группы

Поля состояния сообщений рабочей группы о задачах и ресурсах («Требуется обновление», «Утверждено», «Ожидается ответ» и «Ожидается отчет о состоянии работы группы») не сохраняются в базе данных. Чтобы получить сведения о состоянии сообщений, отправленных участникам группы, необходимо обратиться к полям назначений. Просмотрев все соответствующие записи назначений для данной задачи или ресурса, можно узнать нужную информацию о задаче или ресурсе.

Например, чтобы узнать, подтверждена ли задача ресурсами, необходимо проверить столбец ASSN_IS_CONFIRMED в таблице MSP_ASSIGNMENTS для всех назначений задачи. Если значение ASSN_IS_CONFIRMED равно 1 для всех назначений, следовательно, задача подтверждена. Чтобы определить, подтверждена ли задача, скопируйте, измените и выполните следующую инструкцию выборки.

Select    count(*) 
From      MSP_ASSIGNMENTS 
Where     TASK_UID = 12
And       ASSN_IS_CONFIRMED = 0

Если запрос возвращает число, превышающее 0, задача не подтверждена.

Чтобы узнать, требуется ли обновить задачу, необходимо проверить столбец ASSN_UPDATE_NEEDED таблицы MSP_ASSIGNMENTS для всех назначений задачи. Если значение ASSN_UPDATE_NEEDED равно 1 хотя бы для одного назначения, то задачу требуется обновить. Чтобы определить, требуется ли обновление задачи, скопируйте, измените и выполните следующую инструкцию выборки.

Select    count(*) 
From      MSP_ASSIGNMENTS 
Where     TASK_UID = 12
And       ASSN_UPDATE_NEEDED = 1

Если запрос возвращает число, превышающее 0, задачу требуется обновить.

В начало

Задание гиперссылок

Чтобы задать адрес гиперссылки задачи, скопируйте, измените и выполните следующую инструкцию вставки.

Insert into MSP_TEXT_FIELDS (
              PROJ_ID,
              TEXT_CATEGORY,
              TEXT_REF_UID,
              TEXT_FIELD_ID,
              TEXT_VALUE )
          values (
              3,
              0, -- task category
              13, -- the UID of the task
              188743898, -- 'Task Hyperlink Address'
              'http://myserver/default.htm' ) -- task hyperlink address

Чтобы Microsoft Project мог выполнить обработку, необходимо установить в столбцах PROJ_EXT_EDITED и PROJ_EXT_EDITED_TEXT таблицы MSP_PROJECTS значение 1 для обновленного проекта.

Примечание.  Гиперссылки, их адреса и субадреса можно задавать для назначений, а также для задач и ресурсов.

В начало

Порядок обработки базы данных, соглашения и сокращенные обозначения

Порядок обработки данных, изменяемых внешним приложением

Порядок обработки в Microsoft Project определяет последовательность применения данных. Например, как показано в следующем разделе Стандартный порядок обработки , значения фактических трудозатрат всегда применяются до значений оставшихся трудозатрат. Однако это не означает, что значение оставшихся трудозатрат всегда переопределяется фактическими трудозатратами.

В приведенные ниже списки, показывающие порядок обработки полей задач и назначений, включены только поля, между которыми существуют зависимости (хотя не каждое поле обязательно связано зависимостями со всеми остальными полями списка). Порядок следования элементов списка определяет порядок обработки данных, как если бы они были набраны в этом порядке в интерфейсе пользователя. Без такого упорядочения изменение более чем одного поля внешними средствами могло бы привести к неоднозначной ситуации. С другой стороны, если все взаимозависимые значения изменяются во внешних приложениях без нарушения согласованности, то порядок обработки роли не играет.

Если в пользовательском интерфейсе данные можно вводить в поля значений в любом порядке, то список порядка обработки жестко зафиксирован, и последовательность, допустимая в интерфейсе, может оказаться невозможной для данных, считываемых извне. Вместо того, чтобы пытаться следовать порядку ввода данных в интерфейсе пользователя и затем воспроизводить его для импортируемых данных, лучше определить, какие данные должны быть изменены внешними средствами, и затем протестировать эти изменения в интерфейсе пользователя (опираясь на список порядка обработки), чтобы проверить, получится ли нужный результат. Иными словами, результат каждого возможного внешнего изменения можно протестировать в пользовательском интерфейсе, но не всякое возможное изменение, производимое в интерфейсе, можно повторить путем внешних изменений.

Когда Microsoft Project полностью перезагружает проект, помеченный как изменяемый внешними приложениями, сначала восстанавливается состояние проекта, имевшее место до внесения изменений, а затем к нему применяются изменения согласно действующему порядку обработки. При выполнении импорта Microsoft Project не имеет первоначальных значений, поэтому создаются задачи, используемые по умолчанию, и затем применяются обновленные значения в соответствии с порядком обработки.

Примечания

В начало

Стандартный порядок обработки

Стандартный порядок обработки полей задач:

Стандартный порядок обработки полей назначений:

Соглашения об именах объектов базы данных

Соглашения об именах таблиц

В отношении имен таблиц приняты следующие соглашения.

В начало

Соглашения об именах столбцов

В отношении имен столбцов приняты следующие соглашения.

Имя таблицы Префикс имени столбца
MSP_ASSIGNMENTS ASSN_
MSP_ASSIGNMENT_BASELINES AB_
MSP_ATTRIBUTE_STRINGS AS_
MSP_AVAILABILITY AVAIL_
MSP_CALENDARS CAL_
MSP_CALENDAR_DATA CD_
MSP_CODE_FIELDS CODE_
MSP_CONVERSIONS CONV_
MSP_DATE_FIELDS DATE_
MSP_DURATION_FIELDS DUR_
MSP_FIELD_ATTRIBUTES ATTRIB_
MSP_FLAG_FIELDS FLAG_
MSP_LINKS LINK_
MSP_MV_FIELDS MV_
MSP_NUMBER_FIELDS NUM_
MSP_OUTLINE_CODES OC_
MSP_PROJECTS PROJ_
MSP_RESOURCE_BASELINES RB_
MSP_RESOURCE_RATES RR_
MSP_RESOURCES RES_
MSP_STRING_TYPES STRING_
MSP_TASK_BASELINES TB_
MSP_TASKS TASK_
MSP_TEXT_FIELDS TEXT_
MSP_TIMEPHASED_DATA TD_
MSP_VERS_VERSIONS VERS_
В начало

Спецификаторы столбцов таблицы MSP_PROJECTS

В таблице MSP_PROJECTS хранятся параметры проекта и связанные с ним данные. Имена столбцов, содержащих данные проекта, включают спецификаторы, указывающие, где эти данные устанавливаются. Эти спецификаторы перечислены ниже.

Спецификатор Описание
OPT_ Параметры, устанавливаемые в диалоговом окне «Параметры» меню «Сервис»
PROP_ Свойства, устанавливаемые в диалоговом окне «Свойства» меню «Файл»
INFO_ Данные проекта, устанавливаемые в диалоговом окне «Сведения о проекте» меню «Проект»
EXT_ Индикаторы полей данных, редактируемых внешними средствами

Сокращенные обозначения в именах столбцов

Чтобы имена столбцов были короткими и единообразными, в них используются следующие сокращенные обозначения.

Сокращение Слово
ACT Фактический
AVAIL Доступный
BASE Базовый план
CAL Календарь
COMP Завершено
DEF По умолчанию
DUR Длительность
EST Предварительная оценка
EXT Внешний
FMT Формат
LANG Язык
MAX Максимум
NUM Число
OVT Сверхурочные
PCT Процент
PRED Предшественник
PROJ Проект
REF Справочник
REG Обычный
REM Остаток
RES Ресурс
SCHED Планирование
STD Стандартный
SUCC Последователь
UID Уникальный идентификатор
VAR Отклонение
В начало

Таблицы базы данных

Информационные столбцы

В некоторых полях содержатся данные, которые Microsoft Project записывает при экспорте в базу данных, но не считывает при импорте данных проекта. Обычно эти данные представляют собой результат вычисления или настройки параметров Microsoft Project. Если их изменять непосредственно в базе данных, эти изменения не будут отражены при импорте данных в Microsoft Project. Такие поля помечаются в описаниях таблиц буквой И.

В начало

Имена столбцов, выделенные полужирным шрифтом

Имя поля, выделенное в описании таблицы полужирным шрифтом, соответствует столбцу (полю), являющемуся общим для более чем одной таблицы.

В начало

Типы данных столбцов

В структуре базы данных Microsoft Project используются следующие типы данных:

Тип данных Описание
bit Логическое значение, если они поддерживаются в базе данных; целочисленное в противном случае.
char(n) Символьное значение; в скобках указывается максимально допустимое число символов.
datetime Дата, включая время.
decimal Десятичное число
image Двоичные данные объемом свыше 255 байт
integer Целое число
smallint Тип данных системы SQL Server для чисел от -2^31 (-2,147,483,647) до 2^31-1 (2,147,483,647). Размер данных при сохранении - 2 байта.
tinyint Тип данных системы SQL Server для чисел от 0 до 255. Размер данных при сохранении - 1 байта.
text Самое длинное текстовое поле; 8000 байт в SQL Server, 64 КБайт в Microsoft Access.
varchar(n) Символьный текст переменной длины, если не задано другое; в скобках указывается максимально допустимое число символов.

Там, где для Project требуется хранить значение времени, но не даты, это значение времени записывается как дата. При считывании проекта из базы данных компонент даты в таких полях будет игнорироваться.

В начало

MSP_ASSIGNMENT_BASELINES

В этой таблице содержатся данные, относящиеся к настраиваемым базовым планам назначений.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
ASSN_UID integer Указывает на действительный идентификатор в таблице MSP_ASSIGNMENTS.
AB_REF_ENT_PROJ_ID integer Указатель на действительный идентификатор PROJ_ID в таблице MSP_PROJECTS, если данные назначения по базовому плану являются частью суммарного назначения.
AB_BASE_NUM smallint Номер настраиваемого базового плана, от 1 до 10.
AB_BASE_START datetime Запланированная дата начала назначения на момент сохранения базового плана.
AB_BASE_FINISH datetime Запланированная дата завершения для назначений.
AB_BASE_WORK decimal Первоначально запланированный объем трудозатрат, которые ресурс должен выполнить по задаче.
AB_BASE_COST decimal Общая величина запланированных затрат на работу, которую ресурс должен выполнить по задаче.
AB_BASE_COST_PER_USE decimal Затраты на назначение для настраиваемого базового плана с номером от 1 до 10.
В начало

MSP_ASSIGNMENTS

В этой таблице содержатся данные, относящиеся к назначению. Помимо строк для задач с назначенными ресурсами Project записывает строки и для задач, которым не назначены ресурсы (пустые назначения).

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
ASSN_ENTSUMPROJID integer Идентификатор проекта, которому принадлежит суммарное назначение.
I ASSN_ACT_FINISH datetime Дата и время фактического завершения назначения.
I ASSN_ACT_START datetime Дата и время фактического начала назначения
I ASSN_ACWP decimal Затраты на работу, уже выполненную ресурсом задачи к дате отчета о состоянии проекта или к текущей дате; полное название — «фактическая стоимость выполненных работ».
I ASSN_BCWP decimal Совокупная процентная доля выполненной работы по назначению в повременном представлении (к дате отчета о состоянии или к текущей дате), умноженная на величину повременных базовых трудозатрат для назначения; другое название — «освоенный объем».
I ASSN_BCWS decimal Совокупная величина повременных базовых затрат к дате отчета о состоянии или к текущей дате.
ASSN_RES_TYPE bit Тип ресурса:
0 Материальный: расходные материалы, например сталь, бетон, грунт
1 Трудовой (по умолчанию): люди и оборудование
I ASSN_IS_OVERALLOCATED bit Указывает, не назначено ли ресурсу больше работы по конкретной задаче, чем он может выполнить в пределах обычного объема трудозатрат.
I ASSN_WORK_CONTOUR smallint Характер распределения трудозатрат в течение интервала назначения:
0 Плоский (по умолчанию)
1 Загрузка в конце
2 Загрузка в начале
3 Двойной пик
7 Ранний пик
5 Поздний пик
6 Колокол
7 Черепаха
8 Пользовательский
I ASSN_START_VAR integer Разница между датой начала назначения по базовому плану и текущей запланированной датой начала.
I ASSN_FINISH_VAR integer Разница между датой окончания назначения по базовому плану и текущей запланированной датой окончания.
I ASSN_UPDATE_NEEDED bit Указывает, нужно ли отправить назначенному задаче ресурсу сообщение «Обновление группы» в связи с изменением даты начала, даты окончания или назначений ресурсов.
EXT_EDIT_REF_DATA text Индикатор новой строки или архивации существующих данных при изменении сведений о проекте в базе данных.
ASSN_UID integer Уникальный идентификатор назначения
ASSN_HAS_LINKED_FIELDS bit Указывает, существуют ли связи OLE с назначением.
ASSN_IS_CONFIRMED bit Указывает, принял ли ресурс назначение задачи в ответ на сообщение «Назначение группы» или отклонил его.
ASSN_RESPONSE_PENDING bit Указывает, получен ли ответ на сообщение «Назначение группы», посланное назначенному задаче ресурсу.
ASSN_HAS_NOTES bit Указывает, предусмотрены ли для назначения заметки формата RTF.
ASSN_TEAM_STATUS_PENDING bit Указывает, получено ли сообщение о состоянии в ответ на сообщение «Состояние группы», посланное назначенному задаче ресурсу.
TASK_UID integer Указатель на действительный идентификатор в таблице MSP_TASKS.
RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
ASSN_START_DATE datetime Запланированная дата и время начала трудозатрат назначенного ресурса по задаче.
ASSN_FINISH_DATE datetime Запланированная дата и время завершения работы назначенного ресурса над задачей
ASSN_DELAY integer Количество времени, которое ресурс должен выждать с момента начала задачи, прежде чем приступать к работе по назначению.
ASSN_DELAY_FMT smallint Формат задержки:
3 минута
5 час (по умолчанию)
7 день
9 неделя
11 месяц
ASSN_LEVELING_DELAY integer Количество времени, на которое следует задержать начало работы над назначением относительно запланированной даты его начала в результате выравнивания загрузки ресурсов.
ASSN_COST_RATE_TABLE smallint Указывает, какая таблица норм затрат должна использоваться для ресурса при работе по назначению:
0 A (по умолчанию)
1 B
2 C
3 D
7 E
ASSN_BASE_START datetime Запланированная дата начала назначения на момент сохранения базового плана.
ASSN_BASE_FINISH datetime Запланированная дата завершения для назначений.
ASSN_MATERIAL_RATE_FMT smallint Единицы, в которых норма расхода материала выражается в Project. Возможные форматы норм см. в поле «Единицы данных норм затрат» в таблице MSP_STRING_TYPES.
ASSN_UNITS decimal Число единиц, на которое ресурс назначается задаче; выражается в процентах от максимального числа единиц ресурса.
ASSN_WORK decimal Общий запланированный объем работы, которую должен выполнить ресурс задачи
ASSN_ACT_WORK decimal Объем работы, которая уже выполнена ресурсом задачи
ASSN_REG_WORK decimal Общий объем несверхурочной работы, которую по плану должен выполнить назначенный задаче ресурс.
ASSN_REM_WORK decimal Количество времени, необходимое назначенному задаче ресурсу для выполнения работы по назначению.
ASSN_BASE_WORK decimal Первоначально запланированный объем трудозатрат, которые ресурс должен выполнить по задаче.
I ASSN_COST decimal Общая величина запланированных затрат для назначения, складывающаяся из затрат по работам, уже выполненным ресурсом задачи, и затрат, планируемых для оставшейся работы по назначению.
I ASSN_ACT_COST decimal Затраты на работу, уже выполненную ресурсом задачи.
I ASSN_REM_COST decimal Затраты, необходимые для завершения всей оставшейся работы, которая запланирована для всех ресурсов конкретной задачи.
ASSN_BASE_COST decimal Общая величина запланированных затрат на работу, которую ресурс должен выполнить по задаче.
ASSN_BASE_COST_PER_USE decimal Затраты на назначение по базовому плану.
ASSN_OVT_WORK decimal Объем сверхурочных трудозатрат, которые должны быть выполнены ресурсом по задаче; оплачиваются по ставке сверхурочных работ для ресурса.
ASSN_ACT_OVT_WORK decimal Фактический объем сверхурочных трудозатрат, которые уже выполнены ресурсом по назначенной задаче.
ASSN_REM_OVT_WORK decimal Объем сверхурочных трудозатрат, которые осталось выполнить для назначения.
I ASSN_ACT_OVT_COST decimal Затраты на сверхурочные работы, которые уже выполнены ресурсом задачи.
I ASSN_REM_OVT_COST decimal Расходы на оставшиеся по плану сверхурочные работы для назначения.
ASSN_RTF_NOTES image Заметки о назначении
ASSN_BOOKING_TYPE smallint Указывает тип назначения:
0 Жесткое
2 Мягкое
ASSN_ACT_WORK_PROT decimal Фактические трудозатраты, которые были защищены.
ASSN_ACT_OVT_WORK_PROT decimal Фактические сверхурочные трудозатраты, которые были защищены.
ASSN_CREATION_DATE datetime Дата создания назначения.
В начало

MSP_ASSN_ENTERPRISE

Эта таблица аналогична таблице MSP_ASSIGNMENTS по смыслу и структуре, только в ней содержатся данные о суммарных назначениях, относящихся к проекту типа «Глобальный пул ресурсов»; все назначения, не относящиеся к проекту «Глобальный пул ресурсов» (т. е. не являющиеся суммарными), содержатся в таблице MSP_ASSIGNMENTS.

Примечание.  Эта таблица используется только Project при сохранении корпоративных проектов в базе данных Project Server.

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
ASSN_ENTSUMPROJID integer Идентификатор проекта, которому принадлежит суммарное назначение.
ASSN_ACT_FINISH datetime Дата и время фактического завершения назначения.
ASSN_ACT_START datetime Дата и время фактического начала назначения
I ASSN_ACWP decimal Затраты на работу, уже выполненную ресурсом задачи к дате отчета о состоянии проекта или к текущей дате; полное название — «фактическая стоимость выполненных работ».
I ASSN_BCWP decimal Совокупная процентная доля выполненной работы по назначению в повременном представлении (к дате отчета о состоянии или к текущей дате), умноженная на величину повременных базовых трудозатрат для назначения; другое название — «освоенный объем».
I ASSN_BCWS decimal Совокупная величина повременных базовых затрат к дате отчета о состоянии или к текущей дате.
ASSN_RES_TYPE bit Тип ресурса:
0 Материальный: расходные материалы, например сталь, бетон, грунт
1 Трудовой (по умолчанию): люди и оборудование
I ASSN_IS_OVERALLOCATED bit Указывает, не назначено ли ресурсу больше работы по конкретной задаче, чем он может выполнить в пределах обычного объема трудозатрат.
I ASSN_WORK_CONTOUR smallint Характер распределения трудозатрат в течение интервала назначения:
0 Плоский (по умолчанию)
1 Загрузка в конце
2 Загрузка в начале
3 Двойной пик
7 Ранний пик
5 Поздний пик
6 Колокол
7 Черепаха
8 Пользовательский
I ASSN_START_VAR integer Разница между датой начала назначения по базовому плану и текущей запланированной датой начала.
I ASSN_FINISH_VAR integer Разница между датой окончания назначения по базовому плану и текущей запланированной датой окончания.
I ASSN_UPDATE_NEEDED bit Указывает, нужно ли отправить назначенному задаче ресурсу сообщение «Обновление группы» в связи с изменением даты начала, даты окончания или назначений ресурсов.
EXT_EDIT_REF_DATA text Индикатор новой строки или архивации существующих данных при изменении сведений о проекте в базе данных.
ASSN_UID integer Уникальный идентификатор назначения
ASSN_HAS_LINKED_FIELDS bit Указывает, существуют ли связи OLE с назначением.
ASSN_IS_CONFIRMED bit Указывает, принял ли ресурс назначение задачи в ответ на сообщение «Назначение группы» или отклонил его.
ASSN_RESPONSE_PENDING bit Указывает, получен ли ответ на сообщение «Назначение группы», посланное назначенному задаче ресурсу.
ASSN_HAS_NOTES bit Указывает, предусмотрены ли для назначения заметки формата RTF.
ASSN_TEAM_STATUS_PENDING bit Указывает, получено ли сообщение о состоянии в ответ на сообщение «Состояние группы», посланное назначенному задаче ресурсу.
TASK_UID integer Указатель на действительный идентификатор в таблице MSP_TASKS.
RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
ASSN_START_DATE datetime Запланированная дата и время начала трудозатрат назначенного ресурса по задаче.
ASSN_FINISH_DATE datetime Запланированная дата и время завершения работы назначенного ресурса над задачей
ASSN_DELAY integer Количество времени, которое ресурс должен выждать с момента начала задачи, прежде чем приступать к работе по назначению.
ASSN_DELAY_FMT smallint Формат задержки:
3 минута
5 час (по умолчанию)
7 день
9 неделя
11 месяц
ASSN_LEVELING_DELAY integer Количество времени, на которое следует задержать начало работы над назначением относительно запланированной даты его начала в результате выравнивания загрузки ресурсов.
ASSN_COST_RATE_TABLE smallint Указывает, какая таблица норм затрат должна использоваться для ресурса при работе по назначению:
0 A (по умолчанию)
1 B
2 C
3 D
7 E
ASSN_BASE_START datetime Запланированная дата начала назначения на момент сохранения базового плана.
ASSN_BASE_FINISH datetime Запланированная дата завершения для назначений.
ASSN_MATERIAL_RATE_FMT smallint Единицы, в которых норма расхода материала выражается в Microsoft Project. Возможные форматы норм см. в поле «Единицы данных норм затрат» в таблице MSP_STRING_TYPES.
ASSN_UNITS decimal Число единиц, на которое ресурс назначается задаче; выражается в процентах от максимального числа единиц ресурса.
ASSN_WORK decimal Общий запланированный объем работы, которую должен выполнить ресурс задачи
ASSN_ACT_WORK decimal Объем работы, которая уже выполнена ресурсом задачи
ASSN_REG_WORK decimal Общий объем несверхурочной работы, которую по плану должен выполнить назначенный задаче ресурс.
ASSN_REM_WORK decimal Количество времени, необходимое назначенному задаче ресурсу для выполнения работы по назначению.
ASSN_BASE_WORK decimal Первоначально запланированный объем трудозатрат, которые ресурс должен выполнить по задаче.
I ASSN_COST decimal Общая величина запланированных затрат для назначения, складывающаяся из затрат по работам, уже выполненным ресурсом задачи, и затрат, планируемых для оставшейся работы по назначению.
I ASSN_ACT_COST decimal Затраты на работу, уже выполненную ресурсом задачи.
I ASSN_REM_COST decimal Затраты, необходимые для завершения всей оставшейся работы, которая запланирована для всех ресурсов конкретной задачи.
ASSN_BASE_COST decimal Общая величина запланированных затрат на работу, которую ресурс должен выполнить по задаче.
ASSN_BASE_COST_PER_USE decimal Затраты на назначение по базовому плану.
ASSN_OVT_WORK decimal Объем сверхурочных трудозатрат, которые должны быть выполнены ресурсом по задаче; оплачиваются по ставке сверхурочных работ для ресурса.
ASSN_ACT_OVT_WORK decimal Фактический объем сверхурочных трудозатрат, которые уже выполнены ресурсом по назначенной задаче.
ASSN_REM_OVT_WORK decimal Объем сверхурочных трудозатрат, которые осталось выполнить для назначения.
I ASSN_ACT_OVT_COST decimal Затраты на сверхурочные работы, которые уже выполнены ресурсом задачи.
I ASSN_REM_OVT_COST decimal Расходы на оставшиеся по плану сверхурочные работы для назначения.
ASSN_RTF_NOTES image Заметки о назначении
ASSN_BOOKING_TYPE smallint Указывает тип назначения:
0 Жесткое
2 Мягкое
ASSN_ACT_WORK_PROT decimal Фактические трудозатраты, которые были защищены.
ASSN_ACT_OVT_WORK_PROT decimal Фактические сверхурочные трудозатраты, которые были защищены.
ASSN_CREATION_DATE datetime Дата создания нащначения UID.
ASSN_PROJ_VERSION_ID integer Сопоставляет строку назначения сводной записи с идентификатором версии проекта, для которого это назначение сводной записи предназначено.
ASSN_DEFAULT_VERSION_PROJ_ID integer Сопоставляет строку назначения сводной записи с идентификатором заданной по умолчанию версии этого проекта. Если даннй проект является заданной по умолчанию версией. то эта строка станет идентификатором проекта, на который указывает назначение сводной записи.
В начало

MSP_ATTRIBUTE_STRINGS

В этой таблице хранится определение настраиваемого кода СДР, псевдоним и формула, определенные в таблице MSP_FIELD_ATTRIBUTES.

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
AS_ID integer Уникальный идентификатор строки атрибута.
AS_POSITION integer Указатель позиции активного проекта пула ресурсов в списке клиентов пула.
AS_VALUE varchar(255) Формула в том виде, как она задана в диалоговом окне «Формула в Project.
В начало

MSP_AVAILABILITY

В этой таблице содержатся данные о доступности ресурсов и отслеживается время и доступность каждого конкретного ресурса в рамках проекта.

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
AVAIL_UID integer Уникальный идентификатор доступности ресурса.
RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
AVAIL_FROM datetime Дата, начиная с которой ресурс доступен для привлечения к работе в соответствии с указанными на текущий период времени единицами.
AVAIL_TO datetime Дата окончания интервала времени, в течение которого ресурс будет доступен для привлечения к работе в соответствии с указанными на текущий период времени единицами.
AVAIL_UNITS decimal Число единиц, на которое ресурс назначается задаче; выражается в процентах от максимального числа единиц ресурса.
В начало

MSP_CALENDAR_DATA

В этой таблице содержатся данные о рабочих и нерабочих днях календаря, а также об исключениях из календаря.

Примечание.  При создании или изменении записей о рабочих днях в этой таблице следите, чтобы рабочие смены не перекрывались. В случае перекрытия весь день будет помечен как нерабочий.

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
CD_UID integer Уникальный идентификатор данных о рабочем и нерабочем времени и исключениях из календаря.
CAL_UID integer Указатель на действительный идентификатор в таблице MSP_CALENDARS.
CD_DAY_OR_EXCEPTION smallint Указывает, определяется ли в календаре рабочий день или исключение:
0 Исключение
1 Воскресенье
2 Понедельник
3 Вторник
7 Среда
5 Четверг
6 Пятница
7 Суббота
CD_WORKING smallint Указывает, являются ли выбранные дни рабочими.
CD_FROM_DATE datetime Дата начала исключения.
CD_TO_DATE datetime Дата окончания исключения.
CD_FROM_TIME1 - 5 datetime Дата и время начала рабочего дня (поддерживается до пяти периодов времени в течение дня); не используется, если в поле CD_DAY_OR_EXCEPTION установлено значение 0 (исключение).
CD_TO_TIME1 - 5 datetime Дата и время окончания рабочего дня (поддерживается до пяти периодов времени в течение дня); не используется, если в поле CD_DAY_OR_EXCEPTION установлено значение 0 (исключение).
В начало

MSP_CALENDARS

В этой таблице хранятся основные календарные данные. Календари используются для определения стандартного рабочего и нерабочего времени. В проекте необходимо иметь один базовый календарь. У задач и ресурсов могут быть свои собственные календари, отличные от базовых, но все они должны строиться на основе базового календаря. Project Microsoft Project записывает в эту таблицу шесть строк с уникальными идентификаторами 1, 2, -65536, -65535, -65534 и -65533. Project использует эти строки для внутренних нужд; их нельзя изменять или удалять.

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
CAL_UID integer Уникальный идентификатор календаря.
CAL_BASE_UID integer Ссылка на родительский базовый календарь для данного календаря; обязательна для всех календарей ресурсов. Если данный календарь является базовым, в этом поле содержится -1.
RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
CAL_IS_BASE_CAL bit Указывает, является ли данный календарь базовым; календарь ресурса не может быть базовым.
CAL_NAME varchar(255) Название календаря; если данный календарь является календарем ресурса, это поле остается пустым, для базового календаря оно должно быть заполнено.
CAL_ENTUID integer Идентификатор корпоративного уровня для календаря.
В начало

MSP_CODE_FIELDS

В этой таблице поля настраиваемого кода структуры сопоставляются соответствующим строкам таблиц MSP_TASKS и MSP_RESOURCES.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
CODE_CATEGORY integer Указывает, относится ли настраиваемый код структуры к задаче или к ресурсу.
CODE_REF_UID integer Указатель на действительный идентификатор TASK_UID или RES_UID в соответствующей таблице, как определенно полем CODE_CATEGORY.
CODE_FIELD_ID integer Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
CODE_UID integer Указатель на действительный идентификатор в таблице MSP_OUTLINE_CODES.
В начало

MSP_CONVERSIONS

Эта таблица содержит все символьные строки Microsoft Project и связывает базу данных Microsoft Project с таблицами Tasks, Resources и Assignments, предоставляемыми поставщиком Project OLE DB.

  Название столбца Тип данных Описание
I STRING_TYPE_ID integer Указатель на действительный идентификатор STRING_TYPE_ID в таблице MSP_STRING_TYPES.
I CONV_VALUE integer Значение, содержащееся в полях базы данных OLE; зависит от значения, выбранного в поле STRING_TYPE_ID:
=3 0 = FF (окончание-окончание)
1 = FS (окончание-начало)
2 = SF (начало-окончание)
3 = SS (начало-начало)
=14 0 = Плоский
1 = Загрузка в конце
2 = Загрузка в начале
3 = Двойной пик
4 = Ранний пик
5 = Поздний пик
6 = Колокол
7 = Черепаха
8 = Пользовательский
=29 0 = Фиксированные единицы
1 = Фиксированная длительность
2 = Фиксированные трудозатраты
=56 0 = Исключение
1 = Воскресенье
2 = Понедельник
3 = Вторник
4 = Среда
5 = Четверг
6 = Пятница
7 = Суббота
=57 3 = м
4 = ам
5 =ч
6 = ач
7 = д
8 = ад
9 = н
10 = ан
11 = мес
12 = амес
19 = %
20 = а%
21 = ' '
35 = м?
36 = ам?
37 = ч?
38 = ач?
39 = д?
40 = ад?
41 = н?
42 = ан?
43 = мес?
44 = амес?
51 = %?
52 = а%?
53 = ' '
=68 0 = Как можно раньше
1 = Как можно позже
2 = Фактическое начало
3 = Фактическое окончание
4 = Начало не ранее
5 = Начало не позднее
6 = Окончание не ранее
7 = Окончание не позднее
=70 1 = Начало
2 = Окончание
=78 1 = м
2 = ч
3 = д
4 = н
5 = мес
7 =г
=81 0 = По умолчанию
1 = Нет
2 = Только электронная почта
3 = Project Server
=83 1 = ВС
2 = ПН
3 = ВТ
4 = СР
5 = ЧТ
6 = ПТ
7 = СБ
=84 1 = (ВС)
2 = (ПН)
3 = (ВТ)
4 = (СР)
5 = (ЧТ)
6 = (ПТ)
7 = (СБ)
=85 1 = Воскресенье
2 = Понедельник
3 = Вторник
4 = Среда
5 = Четверг
6 = Пятница
7 = Суббота
=100 0 = Задача
1 = Ресурс
2 = Календарь
3 = Назначение
4 = Зависимости
=101 0 = Планирование от даты окончания проекта
1 = Планирование от даты начала проекта
=102 0 = Нерабочий
1 = Рабочий
2 = По умолчанию
=103 0 = Перед
1 = После
2 = Перед с пробелом
3 = После с пробелом
=104 0 = По умолчанию
1 = Нет
2 = Только электронная почта
3 = Project Server
=105 Переменное значение; связано с таблицами назначений, ресурсов и задач.
=106 1 = Код структуры и маска СДР
2 = Только коды структуры, перечисленные в таблице подстановки
3 = Только новые коды структуры со значениями на всех уровнях маски
4 = Проверка уникальности новых кодов СДР
5 = Префикс СДР
6 = Создавать коды СДР для новых задач
7 = Псевдоним поля
8 = Настраиваемая формула поля
9 = Имена файлов клиентов пула
=107 200 = Оставшиеся трудозатраты для назначения
201 = Фактические трудозатраты для назначения
202 = Фактические сверхурочные трудозатраты для назначения
203 = Плановые трудозатраты для назначения
204 = Плановые затраты для назначения
205 = Фактические затраты для назначения
206 = Плановые трудозатраты для ресурса
207 = Плановые затраты для ресурса
208 = Плановые трудозатраты для задачи
209 = Плановые затраты для задачи
210 = Процент завершения для задачи
=108 0 = мин
1 = час
2 = дн
3 = нед
5 = мес
8 = г
I CONV_LANG_ID integer Идентификатор языка, на котором отображается текст преобразованных символьных строк, например: 1049 = русский.
I CONV_STRING varchar(200) Текстовое значение поля. Например, если STRING_TYPE_ID = 68, CONV_VALUE = 0 и CONV_LANG_ID = 1049, то поле содержит строку "Как можно раньше".
В начало

MSP_DATE_FIELDS

В этой таблице содержатся настраиваемые даты.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
DATE_CATEGORY integer Указывает категорию настраиваемой даты:
0 Задача
1 Ресурс
3 Назначение
DATE_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем DATE_CATEGORY.
DATE_FIELD_ID integer Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
DATE_VALUE datetime Значение настраиваемого поля длительности.
В начало

MSP_DURATION_FIELDS

В этой таблице содержатся настраиваемые данные о длительности.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
DUR_CATEGORY integer Указывает категорию настраиваемой длительности:
0 Задача
1 Ресурс
3 Назначение
DUR_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем DUR_CATEGORY.
DUR_FIELD_ID integer Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
DUR_VALUE integer Значение настраиваемого поля длительности.
DUR_FMT smallint Указывает единицы, которые будут использоваться при отображении значений длительности в Project:
3 минута
5 час (по умолчанию)
7 день
9 неделя
11 месяц
В начало

MSP_FIELD_ATTRIBUTES

В этой таблице содержатся данные об атрибутах полей, таких, как настраиваемый код СДР, псевдонимы настраиваемых полей и формулы настраиваемых полей.

  Название столбца Тип данных Описание
RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
ATTRIB_FIELD_ID integer Указатель на столбец, к которому относится формула; см. «Идентификатор поля» в таблицах MSP_STRING_TYPES и MSP_CONVERSIONS.
ATTRIB_ID integer Указатель на тип атрибута поля; см. «Атрибуты поля» в таблицах MSP_STRING_TYPES и MSP_CONVERSIONS.
ATTRIB_VALUE integer Значение атрибута; -1 указывает, что значение хранится в таблице MSP_ATTRIBUTE_STRINGS.
AS_ID integer Указатель на действительный идентификатор в таблице MSP_ATTRIBUTE_STRINGS; игнорируется, если содержимое поля ATTRIB_VALUE отлично от значения -1, которое определяет значение атрибута.
ATTRIB_EXT_EDITED bit Указывает, что запись изменена во внешнем приложении.
В начало

MSP_FLAG_FIELDS

В этой таблице содержатся сведения о настраиваемых флагах.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
FLAG_CATEGORY integer Указывает категорию настраиваемого флага:
0 Задача
1 Ресурс
3 Назначение
FLAG_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем FLAG_CATEGORY.
FLAG_FIELD_ID integer Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
FLAG_VALUE bit Значение настраиваемого поля флага.
В начало

MSP_LINKS

В этой таблице хранятся данные о межпроектных связях, позволяющих устанавливать зависимость между двумя любыми проектами в масштабе организации.

  Название столбца Тип данных Описание
RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
EXT_EDIT_REF_DATA text Индикатор новой строки или архивации существующих данных при изменении сведений о проекте в базе данных.
LINK_UID integer Уникальный идентификатор связи.
I LINK_IS_CROSS_PROJ bit Указывает, является ли данная связь межпроектной (хранящейся в таблице MSP_TASKS).
LINK_PRED_UID integer Уникальный идентификатор задачи-предшественника; должен быть уникальным в пределах проекта и указывать на действительную строку для того же идентификатора PROJ_ID в таблице MSP_TASKS.
LINK_SUCC_UID integer Уникальный идентификатор задачи-последователя; должен быть уникальным в пределах проекта и указывать на действительную строку для того же идентификатора PROJ_ID в таблице MSP_TASKS.
LINK_TYPE smallint Указывает тип связи:
0 ОО (окончание-окончание)
1 ОН (окончание-начало)
2 НО (начало-окончание)
3 НН (начало-начало)
LINK_LAG_FMT smallint Формат величины запаздывания, заданной в поле LINK_LAG:
3 м
7 ам
5 ч
6 ач
7 д (по умолчанию)
8 ад
9 н
10 ан
11 мес
12 амес
19 %
20 а%
35 м?
36 ам?
37 ч?
38 ач?
39 д?
40 ад?
41 н?
42 ан?
43 мес?
44 амес?
51 %?
52 а%?
LINK_LAG integer Величина запаздывания, задаваемая как значение длительности (число минут, умноженное на 10).
В начало

MSP_MV_FIELDS

Эта таблица включает данные многозначных кодов ресурса.

Примечание.  Эта таблица используется в Project при сохранении корпоративных проектов в базе данных Project Server.

  Название столбца Тип данных Описание
RESERVED_DATA char(1) Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
CODE_MV_UID integer Уникальный идентификатор многозначного настраиваемого кода.
CODE_CATEGORY integer Указывает, что катеогрия настраиваемого многозначного кода структуры предназначена для ресурса:
1 Ресурс
CODE_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем NUM_CATEGORY.
CODE_FIELD_ID integer Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
CODE_UID integer Указатель на действительный идентификатор в таблице MSP_CODE_FIELDS.
В начало

MSP_NUMBER_FIELDS

В этой таблице содержатся настраиваемые числовые данные.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
NUM_CATEGORY integer Указывает категорию настраиваемого числа:
0 Задача
1 Ресурс
3 Назначение
NUM_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем NUM_CATEGORY.
NUM_FIELD_ID integer Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
NUM_VALUE decimal Значение настраиваемого числового поля.
В начало

MSP_OUTLINE_CODES

В этой таблице содержатся данные об определениях настраиваемых кодов структуры, связанных с проектом. Каждый настраиваемый код структуры должен быть уникален в рамках проекта, однако корпоративные коды могут совместно использоваться несколькими проектами.

  Название столбца Тип данных Описание
RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
CODE_UID integer Уникальный идентификатор настраиваемого кода структуры.
OC_PARENT integer Указатель на действительный идентификатор в таблице MSP_OUTLINE_CODES; устанавливается равным 0 для кодов верхнего уровня, не имеющих родительских.
OC_FIELD_ID integer Идентификатор настраиваемого кода структуры задачи или ресурса; обязателен для корпоративных кодов.
OC_NAME text Имя настраиваемого кода структуры.
OC_DESCRIPTION text Описание определяемого кода.
OC_CACHED_FULL_NAME text Полное значение кода структуры, включая все вышестоящие уровни; это значение генерируется во время публикации, при возврате глобального корпоративного шаблона.
OC_CACHED_IS_VALID bit Указывает, является ли код структуры действующим; только действующие коды структур можно сделать доступными для пользователей Project и Project Web Access.
В начало

MSP_PROJ_SECURITY

Эта таблица используется для поддержания безопасности в таблице MSP_PROJECTS и контролируется службой данных проекта (PDS), обеспечивающей определенный режим доступа к таблице — только для чтения или для чтения и записи. Данные в этой таблице появляются только в процессе выполнения операций чтения или записи из клиента Project. Таким образом, в обычных условиях эта таблица отображается как пустая.

Примечание.   Прямой доступ к этой таблице из Project невозможен.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
SEC_SPID varchar(255) Код обработки SQL Process ID (SPID).
SEC_SPIDDATESTAMP datetime Дата создания активного кода SPID, используемого в данной строке безопасности.
SEC_READCOUNT integer Текущее число разрешенных обращений к данному проекту для чтения со стороны конкретного пользователя:
0 Нет пользователей (по умолчанию)
1 Один пользователь; PDS разрешает одну операцию доступа к проекту для чтения-записи в каждый момент времени.
SEC_WRITECOUNT integer Текущее число разрешенных обращений к данному проекту для записи со стороны конкретного пользователя. Это значение не должно превышать 1.
В начало

MSP_PROJECTS

В этой таблице хранятся сведения о проектах, включая параметры уровня проекта.

  Название столбца Тип данных Описание
PROJ_ID integer Уникальный идентификатор проекта.
PROJ_NAME varchar(255) Название проекта (отображается в строке заголовка окна проекта), которое должно быть уникальным в рамках данной таблицы; его длина вместе с именем источника данных не может превышать 255 знаков.

Примечание.  Корпоративная версия не включает имя источника данных; пара PROJ_PROJECT.PROJ_VERSION обеспечивает уникальность имени.

PROJ_PROP_AUTHOR varchar(255) Имя автора проекта; используется для группировки аналогичных проектов.
PROJ_OPT_CALC_ACT_COSTS bit Указывает, выполняет ли Project автоматическое вычисление фактических затрат.
PROJ_PROP_CATEGORY varchar(255) Категория, которой принадлежит проект; используется для группировки аналогичных проектов.
PROJ_PROP_COMPANY varchar(255) Название организации, создавшей проект; используется для группировки аналогичных проектов.
PROJ_OPT_CRITICAL_SLACK_LIMIT integer Число дней, которое может пройти после даты окончания задачи, прежде чем Project пометит ее как критическую задачу.
PROJ_OPT_CURRENCY_DIGITS smallint Число цифр, которые должны следовать за десятичной запятой в денежных значениях, отображаемых в Project:
0 Нет цифр после запятой; 0р
1 Одна цифра после запятой; 0,0р
2 Две цифры после запятой (по умолчанию); 0,00р
PROJ_OPT_CURRENCY_POSITION smallint Местоположение символа валюты по отношению к денежному значению:
0 Впереди, без пробела; р0
1 После, без пробела (по умолчанию); 0р
2 Впереди, с пробелом; р 0
3 После, с пробелом; 0 р
PROJ_OPT_CURRENCY_SYMBOL varchar(20) Текущий символ, который представляет тип валюты, используемый в проекте.
PROJ_OPT_NEW_ARE_EFFORT_DRIVEN bit Указывает, будет ли новым задачам назначаться фиксированный объем работ.
I PROJ_INFO_CURRENT_DATE datetime Текущая дата для проекта.
PROJ_OPT_DEF_FINISH_TIME datetime Дата окончания, принимаемая по умолчанию для всех новых задач.
PROJ_OPT_DEF_FIX_COST_ACCRUAL smallint Указывает, начисляются ли фиксированные затраты.
PROJ_OPT_MINUTES_PER_DAY integer Количество минут в одном дне по умолчанию.
PROJ_OPT_MINUTES_PER_WEEK integer Количество минут в одной неделе по умолчанию.
PROJ_OPT_DEF_OVT_RATE decimal Ставка, применяемая по умолчанию при оплате сверхурочных работ для новых ресурсов; см. поле MSP_RESOURCES.RES_DEF_OVT_RATE.
PROJ_OPT_DEF_STD_RATE decimal Ставка, применяемая по умолчанию при оплате работы для новых ресурсов; см. поле MSP_RESOURCES.RES_DEF_STD_RATE.
PROJ_OPT_DEF_START_TIME datetime Дата начала, принимаемая по умолчанию для всех новых задач.
PROJ_OPT_DEF_TASK_TYPE smallint Тип задачи, используемый по умолчанию для всех задач проекта:
0 Фиксированные единицы (по умолчанию); число единиц назначения остается постоянным, независимо от объема работы или длительности задачи
1 Фиксированная длительность; длительность задачи остается постоянной, независимо от числа назначенных ресурсов (единиц назначения) или объема работы
2 Фиксированные трудозатраты; общий объем работы остается постоянным, независимо от каких бы то ни было изменений длительности или количества назначенных задаче ресурсов (единиц назначения)
PROJ_OPT_DUR_ENTRY_FMT smallint Формат длительности, используемый по умолчанию для всех параметров длительности в проекте:
3 минута
5 час (по умолчанию)
7 день
9 неделя
11 месяц
PROJ_INFO_FINISH_DATE datetime Дата и время запланированного завершения проекта.
PROJ_OPT_HONOR_CONSTRAINTS bit Указывает, учитывает ли Project при планировании задач их даты ограничений.
PROJ_PROP_KEYWORDS varchar(255) Список ключевых слов, относящихся к проекту; используется для группировки аналогичных проектов.
PROJ_LAST_SAVED datetime Дата последнего сохранения проекта.
PROJ_PROP_MANAGER varchar(255) Руководитель проекта; используется для группировки аналогичных проектов.
PROJ_OPT_MULT_CRITICAL_PATHS bit Указывает, будет ли Project вычислять и отображать критический путь для каждой независимой сети задач в рамках проекта.
PROJ_CREATION_DATE datetime Дата создания проекта.
I PROJ_POOL_ATTACHED_TO varchar(255) Имя файла проекта, который использует ресурсы совместно с данным файлом проекта; указывать обязательно, если в поле PROJ_IS_RES_POOL установлено значение 1.
PROJ_INFO_CAL_NAME varchar(255) Название календаря, связанного с проектом.
I PROJ_IS_RES_POOL bit Указывает, является ли проект своим собственным пулом ресурсов или же он использует свои ресурсы совместно с другим проектом; см. поле PROJ_POOL_ATTACHED_TO.
PROJ_INFO_SCHED_FROM smallint Указывает, планируется ли проект от даты начала проекта (по умолчанию) или от даты окончания проекта.
PROJ_OPT_SPLIT_IN_PROGRESS bit Указывает, можно ли прерывать задачи в ходе их выполнения.
PROJ_OPT_SPREAD_ACT_COSTS bit Указывает, распределяются ли фактические затраты равномерно вплоть до даты отчета о состоянии.
PROJ_OPT_SPREAD_PCT_COMP bit Указывает, распределяется ли процент завершения равномерно вплоть до даты отчета о состоянии.
PROJ_INFO_START_DATE datetime Дата и время запланированного начала проекта.
PROJ_INFO_STATUS_DATE datetime Дата отчета о состоянии проекта.
PROJ_PROP_SUBJECT varchar(255) Тема проекта; используется для группировки аналогичных проектов.
PROJ_PROP_TITLE varchar(255) Название проекта; используется для группировки аналогичных проектов.
PROJ_OPT_TASK_UPDATES_RES bit Указывает, будет ли Project автоматически вычислять фактические и оставшиеся затраты и трудозатраты при вводе в календарный план сведений о процентах завершения задач.
PROJ_OPT_WORK_ENTRY_FMT smallint Формат длительности, используемый по умолчанию для всех значений длительности рабочих периодов в проекте:
3 минута
5 час (по умолчанию)
7 день
9 неделя
11 месяц
PROJ_OPT_CALC_SUB_AS_SUMMARY bit казывает, вычисляет ли Project подзадачи как суммарные задачи.
PROJ_OPT_WEEK_START_DAY smallint День начала рабочей недели:
0 Воскресенье (по умолчанию)
1 Понедельник
2 Вторник
3 Среда
7 Четверг
5 Пятница
6 Суббота
PROJ_OPT_FY_START_MONTH smallint Месяц, с которого начинается финансовый год:
1 Январь (по умолчанию)
2 Февраль
3 Март
7 Апрель
5 Май
6 Июнь
7 Июль
8 Август
9 Сентябрь
10 Октябрь
11 Ноябрь
12 Декабрь
PROJ_OPT_FY_USE_START_YEAR bit Указывает, следует ли использовать начальный финансовый год.
PROJ_OPT_DAYS_PER_MONTH smallint Количество рабочих дней в месяце по умолчанию.
PROJ_OPT_NEW_TASK_EST bit Указывает, будут ли для новых задач устанавливаться предварительные оценки длительности.
PROJ_OPT_SHOW_EST_DUR bit Указывает, отображает ли Microsoft Project знаки ? после задач с предварительной оценкой длительности.
I PROJ_OPT_EXPAND_TIMEPHASED bit Указывает, сохраняет ли Microsoft Project повременные данные при записи в базу данных в пригодном для чтения виде или в двоичном формате; см. таблицу MSP_TIMEPHASED_DATA.
PROJ_EXT_EDITED_DATE bit Указывает, изменялось ли настраиваемое поле даты во внешнем приложении.
PROJ_EXT_EDITED_DUR bit Указывает, изменялось ли настраиваемое поле длительности во внешнем приложении.
PROJ_EXT_EDITED_NUM bit Указывает, изменялось ли настраиваемое числовое поле во внешнем приложении.
PROJ_EXT_EDITED_FLAG bit Указывает, изменялось ли настраиваемое поле флага во внешнем приложении.
PROJ_EXT_EDITED_CODE bit Указывает, изменялось ли настраиваемое поле кода структуры во внешнем приложении.
PROJ_EXT_EDITED_TEXT bit Указывает, изменялось ли настраиваемое текстовое поле во внешнем приложении.
PROJ_EXT_EDITED bit Указывает, изменялся ли проект во внешнем приложении.
I PROJ_DATA_SOURCE varchar(128) Имя источника данных для проекта; используется в Project при проверке возможности параллельного использования.
I PROJ_READ_ONLY varchar(10) Указывает, доступен ли проект только для чтения.
I PROJ_READ_WRITE varchar(4) Указывает, открыт ли проект для записи.
I PROJ_READ_COUNT varchar(10) Число пользователей, у которых имеется одна или несколько таблиц, открытых только для чтения.
I PROJ_LOCKED varchar(4) Указывает, может ли пользователь выполнять запись в таблицу.
PROJ_MACHINE_ID varchar(100) Идентификатор компьютера пользователя, открывшего проект.
I RESERVED_BINARY_DATA Image Зарезервировано для использования в Project; содержимое этого поля изменять не следует.
PROJ_TYPE integer Тип ресурса:
0 Проекты (по умолчанию)
1 Шаблоны
2 Глобальный корпоративный шаблон
3 Пул корпоративных ресурсов
100 Созданный обычный проект
101 Созданный шаблон проекта
102 Созданный глобальный корпоративный шаблон
1002 Отключенный корпоративный шаблон
PROJ_CHECKEDOUT integer Указывает, извлечен ли проект.
PROJ_CHECKOUTBY text(255) Идентификатор пользователя, который последним извлек проект. Это значение не удаляется при возврате проекта, вместо этого в поле PROJ_CHECKEDOUT восстанавливается значение 0.
PROJ_CHECKOUTDATE datetime Дата и время последнего извлечения проекта. Это значение не удаляется при возврате проекта, вместо этого в поле PROJ_CHECKEDOUT восстанавливается значение 0.
PROJ_PROJECT varchar(200) Уникальное название проекта (разрешаются индексированные дубликаты) без суффикса версии; может существовать несколько версий проекта с одинаковыми значениями в этом поле.
PROJ_VERSION varchar(50) Название версии, например «Опубликовано».
PROJ_CREATION_DATE_EX datetime Дата создания проекта.
PROJ_ACTUALS_SYNC tinyint Указывает, синхронизированы ли фактические значения проекта с защищенными значениями проекта:
0 Фактические значения не синхронизированы.
1 Фактические значения синхронизированы.
PROJ_ADMINPROJECT tinyint Указывает, является ли проект административным проектом.
PROJ_ENT_LIST_SEPARATOR varchar(2) Разделитель элементов списка, используемый корпоративными многозначными кодами структуры, например, запятая (,).
В начало

MSP_RES_GLOBAL_BINARY

В этой таблице хранятся двоичные данные, относящиеся к глобальному пулу корпоративных ресурсов, таблица используется только с Project и Project Server.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
GLB_CATEGORY integer Указывает, относятся ли глобальные двоичные данные к задаче, ресурсу или назначению:
0 Задача
1 Ресурс
3 Назначение
GLB_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем GLB_CATEGORY.
GLB_REF_ENT_PROJ_ID integer Указатель на действительный идентификатор ASSN_ENTSUMPROJID в таблице MSP_ASSIGNMENTS.
GLB_BINARY_DATA Image В этом столбце сохраняются фрагменты содержимого столбца RESERVED_BINARY_DATA таблицы MSP_PROJECTS в виде двоичных данных.
В начало

MSP_RES_SECURITY

Эта таблица используется для поддержания безопасности в таблице MSP_RESOURCES контролируется службой данных проекта (PDS), обеспечивающей определенный режим доступа к таблице — только для чтения или для чтения и записи. Данные в этой таблице появляются только в процессе выполнения операций чтения или записи из клиента Project. Таким образом, в обычных условиях эта таблица отображается как пустая.

Примечание.  Прямой доступ к этой таблице из Project невозможен.

  Название столбца Тип данных Описание
ERUID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
SEC_SPID varchar(255) Код обработки SQL Process ID (SPID).
SEC_SPIDDATESTAMP datetime Дата создания активного кода SPID, используемого в данной строке безопасности.
SEC_READCOUNT tinyint Текущее число разрешенных обращений к данному ресурсу для чтения со стороны конкретного пользователя:
0 Нет пользователей (по умолчанию)
1 Один пользователь; PDS разрешает одну операцию доступа к проекту для чтения-записи в каждый момент времени.
SEC_WRITECOUNT tinyiny Текущее число разрешенных обращений к данному ресурсу для записи со стороны конкретного пользователя, выполняемых с целью обновления данных ресурса. Это значение не может превышать 1.
В начало

MSP_RESGLOBAL_SECURITY

Данная таблица используется для синхронизации ресурсов и календарей при работе с данными Project Server 2003 из Microsoft Project Professional 2002.

  Название столбца Тип данных Описание
SEC_RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
SEC_CAL_UID integer Указатель на действительный идентификатор в таблице MSP_CALENDARS.
В начало

MSP_RESOURCE_BASELINES

В этой таблице содержатся настраиваемые данные, относящиеся к базовым планам ресурсов.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
RB_BASE_NUM smallint Номер настраиваемого базового плана, от 1 до 10.
RB_BASE_WORK decimal Первоначально запланированный объем трудозатрат, которые ресурс должен выполнить по задаче.
RB_BASE_COST decimal Общая величина запланированных затрат на работу, которую ресурс должен выполнить по задаче.
В начало

MSP_RESOURCE_RATES

В этой таблице содержатся данные о ставках ресурсов.

  Название столбца Тип данных Описание
RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
RR_UID integer Уникальный идентификатор ставки ресурса.
RES_UID integer Указатель на действительный идентификатор в таблице MSP_RESOURCES.
RR_RATE_TABLE smallint Указывает, какая таблица норм затрат должна использоваться для ресурса при работе по назначению:
0 A (по умолчанию)
1 B
2 C
3 D
7 E
RR_FROM_DATE datetime Дата, начиная с которой действуют нормы затрат на ресурс.
RR_TO_DATE datetime Дата, после которой перестают действовать нормы затрат на ресурс.
RR_STD_RATE decimal Стандартная ставка, заданная в выбранной таблице норм затрат.
RR_STD_RATE_FMT smallint Единицы, в которых стандартная ставка выражается в Project:
1 минута
2 час (по умолчанию)
3 день
7 неделя
5 месяц
7 год
RR_OVT_RATE decimal Ставка сверхурочных работ, заданная в выбранной таблице норм затрат.
RR_OVT_RATE_FMT smallint Единицы, в которых ставка сверхурочных работ выражается в Project:
1 минута
2 час (по умолчанию)
3 день
7 неделя
5 месяц
7 год
RR_PER_USE_COST decimal Величина затрат на использование, заданная в выбранной таблице норм затрат, например р * 100.
В начало

MSP_RESOURCES

В этой таблице хранятся сведения о ресурсах, включенных в проект.

Project Microsoft Project записывает в эту таблицу четыре строки с уникальными идентификаторами 0 (пустой ресурс, необходимый для нулевой задачи), -65536, -65535 и -65534. Project использует эти строки для внутренних нужд; их нельзя изменять или удалять.

  Название столбца Тип данных Описание
RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
I RES_ACWP decimal Сумма значений ФСВР (фактическая стоимость выполненных работ) по всем назначениям ресурса до даты отчета о состоянии или текущей даты.
I RES_BCWP decimal Сведенные суммарные данные по всем значениям БСВР для всех назначенных ресурсу задач, считая до даты отчета о состоянии или текущей даты; полное название — «базовая стоимость выполненных работ».
I RES_BCWS decimal Сведенные суммарные данные по всем значениям БСЗР для всех назначенных ресурсу задач; полное название — «базовая стоимость запланированных работ».
I RES_NUM_OBJECTS integer Количество объектов, связанных с ресурсом, исключая указанные в заметках.
EXT_EDIT_REF_DATA text Индикатор новой строки или архивации существующих данных при изменении сведений о проекте в базе данных.
RES_UID integer Уникальный идентификатор ресурса.
RES_ID integer Указатель позиции ресурса в списке ресурсов; определяет порядок отображения ресурсов в Project.
RES_HAS_LINKED_FIELDS bit Указывает, существуют ли связи OLE с ресурсом, установленные в активном проекте, в другом файле Project или в другой программе.
RES_IS_OVERALLOCATED bit Указывает, назначено ли ресурсу больше работы по всем назначенным ему задачам, чем он может выполнить в пределах обычного объема трудозатрат.
RES_TYPE bit Тип ресурса (трудовой или материальный):
0 Материальный: расходные материалы, например сталь, бетон, грунт
1 Трудовой (по умолчанию): люди и оборудование
RES_HAS_NOTES bit Указывает, имеется ли для ресурса заметка в формате RTF (Rich Text Format).
RES_CAN_LEVEL bit Указывает, допустимо ли выравнивание загрузки для ресурса.
RES_STD_RATE_FMT smallint Единицы, в которых стандартная ставка выражается в Project.
RES_OVT_RATE_FMT smallint Единицы, в которых ставка сверхурочных работ выражается в Project.
RES_ACCRUE_AT smallint Указывает, как и когда должны начисляться стандартные и сверхурочные затраты на ресурсы задачи:
1 Начало; затраты начисляются сразу после начала задачи, которое определяется датой в поле ActualStart (Фактическое начало)
2 Конец; затраты не начисляются до тех пор, пока величина оставшихся трудозатрат не окажется равной нулю
3 Пропорционально (по умолчанию); затраты начисляются по мере планирования и поступления сообщений о фактическом выполнении трудозатрат.
RES_WORKGROUP_MESSAGING smallint Способ передачи сообщений, используемый для связи с участниками проектной группы:
0 По умолчанию
1 Нет
3 Сервер Project Server
RES_CAL_UID integer Указатель на действительный идентификатор в таблице MSP_CALENDARS.
I RES_AVAIL_FROM datetime Дата, начиная с которой ресурс доступен для привлечения к работе в соответствии с указанными на текущий период времени единицами.
I RES_AVAIL_TO datetime Дата окончания интервала времени, в течение которого ресурс будет доступен для привлечения к работе в соответствии с указанными на текущий период времени единицами.
RES_STD_RATE decimal Норма оплаты обычных, несверхурочных трудозатрат ресурса.
RES_OVT_RATE decimal Норма оплаты сверхурочных трудозатрат ресурса.
RES_MAX_UNITS decimal Максимальная доля или число единиц, представляющее максимальную доступность ресурса для выполнения каких-либо задач в течение текущего периода времени. Может превышать 100%.
RES_WORK decimal Общий запланированный объем трудозатрат, которые должен выполнить ресурс по всем назначенным задачам.
RES_ACT_WORK decimal Фактический объем трудозатрат, которые уже выполнены ресурсом по всем назначениям.
RES_BASE_WORK decimal Первоначальный запланированный объем трудозатрат ресурса по всем своим назначениям.
RES_OVT_WORK decimal Объем сверхурочных трудозатрат, которые должны быть выполнены ресурсом по всем назначенным ему задачами; оплачивается по ставке сверхурочных работ для ресурса.
RES_COST_PER_USE decimal Затраты, которые начисляются при каждом использовании ресурса.
RES_REM_WORK decimal Оставшийся объем трудозатрат (количество человеко-часов), которые потребуются ресурсу для выполнения всех назначенных задач.
RES_REG_WORK decimal Общий объем запланированных несверхурочных трудозатрат, которые должен выполнить ресурс по всем назначенным ему задачам.
RES_ACT_OVT_WORK decimal Фактический объем сверхурочных трудозатрат, которые уже выполнены ресурсом по всем назначениям.
RES_REM_OVT_WORK decimal Оставшийся объем сверхурочных трудозатрат, которые потребуются ресурсу для выполнения всех задач.
I RES_PEAK decimal Максимальное число единиц в процентах, на которое ресурс назначен всем своим задачам в произвольный момент времени.
RES_ACT_COST decimal Сумма затрат на работы, уже выполненные ресурсом по всем назначенным задачам.
RES_COST decimal Общая величина запланированных затрат на ресурс для всех назначенных задач, складывающаяся из трудозатрат, уже выполненных ресурсом по всем задачам, и затрат, планируемых для всей оставшейся работы.
RES_BASE_COST decimal Общие запланированные затраты для ресурса по всем назначенным задачам; другое название — БПЗ (бюджет по завершении).
RES_REM_COST decimal Запланированные затраты, которые потребуются для выполнения оставшейся работы, назначенной ресурсу.
RES_OVT_COST decimal Общие сверхурочные затраты на ресурс по всем назначенным задачам.
RES_ACT_OVT_COST decimal Затраты на сверхурочные работы, которые уже выполнены ресурсом по всем назначенным задачам.
RES_REM_OVT_COST decimal Запланированные затраты на сверхурочные, которые потребуются для выполнения оставшихся сверхурочных трудозатрат по всем задачам, назначенным ресурсу.
RES_NAME varchar(255) Название ресурса; должно быть уникальным в рамках предприятия, независимо от того, активен ресурс или нет.
RES_INITIALS varchar(255) Сокращенное обозначение названия ресурса.
RES_PHONETICS text Фонетические данные о названиях ресурсов в транскрипции хирагана или катакана; используется только в японской версии Microsoft Project.
RES_MATERIAL_LABEL text Единицы измерения, заданные для материального ресурса, например тонны, коробки, кубометры; это поле используется совместно с числом единиц назначения материального ресурса и доступно только в том случае, если в поле RES_RTYPE установлено значение «Материалы».
RES_RTF_NOTES Image Заметки о ресурсе
RES_RTYPE smallint Указывает, является ресурс обычным или универсальным, а также отключен ли он:
0 Обычный ресурс
1 Универсальный ресурс
100 Отключенный обычный ресурс
101 Отключенный универсальный ресурс
RES_CHECKEDOUT integer Указывает, извлечен ли ресурс.
RES_CHECKOUTBY varchar(255) Идентификатор пользователя, который последним извлек ресурс. Это значение не удаляется при возврате ресурса, вместо этого в поле RES_CHECKEDOUT восстанавливается значение 0.
RES_CHECKOUTDATE datetime Дата и время последнего извлечения ресурса. Это значение не удаляется при возврате ресурса, вместо этого в поле RES_CHECKEDOUT восстанавливается значение 0.
RES_ENTERPRISE_TIMESTAMP datetime Дата и время извлечения и возвращения корпоративных ресурсов.
RES_EUID integer Сопоставляет идентификатор RES_UID с глобальным пулом корпоративных ресурсов.
RES_BOOKING_TYPE smallint Указывает тип резервирования для ресурса:
0 Жесткое
2 Мягкое
RES_AD_GUID uniqueidentifier AD GUID используется для сопоставления ресурса Project Server из Active Directory.
RES_ACT_WORK_PROT decimal Фактическая работа была защищане.
RES_ACT_OVT_WORK_PROT decimal Фактическая сверхурочная работа была защищена.
RES_CREATION_DATE datetime Дата создания уникального идентификатора ресурса.
В начало

MSP_STRING_TYPES

Эта таблица содержит перечень категорий символьных строк и связывает базу данных Project с поставщиком Project OLE DB. Каждое строковое значение, используемое в Project подпадает под одну из таких категорий.

  Название столбца Тип данных Описание
I STRING_TYPE_ID integer Число, обозначающее номер категории поля; текстовое представление STRING_TYPE этого поля показано ниже в той же таблице в правом столбце:
3 Тип связи
14 Тип профиля загрузки
29 Тип задачи
56 День недели
57 Отображаемые единицы
68 Тип ограничения
70 Начисления
78 Единицы норм затрат
81 Тип рабочей группы пользователя
83 День недели
84 День недели
85 День недели
100 Тип категории
101 Календарный план от
102 Рабочий календарь
103 Положение символа валюты
104 Сообщения рабочей группы
105 Идентификатор поля
106 Атрибуты поля
107 Повременной тип профиля загрузки
108 Повременные единицы данных
I STRING_LANG_ID integer Идентификатор языка, на котором отображается текст преобразованных символьных строк, например: 1049 = русский.
I STRING_TYPE varchar(200) Текстовое представление значения поля, определенного номером STRING_TYPE_ID (эти текстовые представления для всех значений STRING_TYPE_ID перечислены выше в таблице в правом столбце). Например, если STRING_TYPE_ID = 103, то данное поле будет содержать текст «Положение символа валюты».
В начало

MSP_TASK_BASELINES

В этой таблице содержатся настраиваемые данные, относящиеся к базовым планам задач.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
TASK_UID integer Указатель на действительный идентификатор в таблице MSP_TASKS.
TB_BASE_NUM smallint Номер настраиваемого базового плана, от 1 до 10.
TB_BASE_DUR integer Исходный интервал времени, запланированный для выполнения задачи.
TB_BASE_DUR_FMT smallint Формат базовой длительности задачи, используемый по умолчанию:
3 минута
5 час (по умолчанию)
7 день
9 неделя
11 месяц
TB_BASE_START datetime Запланированная дата начала задачи на момент сохранения базового плана.
TB_BASE_FINISH datetime Запланированная дата завершения задачи на момент сохранения базового плана.
TB_BASE_WORK decimal Первоначально запланированный объем трудозатрат, которые должны выполнить все ресурсы, назначенные задаче.
TB_BASE_COST decimal Общие запланированные затраты для задачи; другое название — БПЗ (бюджет по завершении).
В начало

MSP_TASKS

В этой таблице хранятся сведения о задачах, включенных в проект. Project Microsoft Project записывает в эту таблицу четыре строки с уникальными идентификаторами 0, -65536, -65535 и -65534. Microsoft Project использует эти строки для внутренних нужд; их нельзя изменять или удалять.

  Название столбца Тип данных Описание
I RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
I TASK_ACWP decimal Затраты на работу над задачей, уже выполненную к дате отчета о состоянии проекта или к текущей дате.
I TASK_BCWP decimal Совокупная процентная доля выполненной работы по задаче в повременном представлении (к дате отчета о состоянии или к текущей дате), умноженная на величину повременных плановых трудозатрат по задаче; другое название — «освоенный объем».
I TASK_BCWS decimal Совокупная величина повременных базовых затрат к дате отчета о состоянии или к текущей дате.
I TASK_DUR_VAR integer Разница между длительностью задачи по базовому плану и общей длительностью задачи (текущей оценкой).
I TASK_FINISH_VAR integer Величина интервала между датой окончания задачи по базовому плану и ее текущей датой окончания.
I TASK_OUTLINE_NUM varchar(255) Точная позиция задачи в структуре. Например, номер 7.2 означает, что данная задача является второй подзадачей седьмой суммарной задачи верхнего уровня.
I TASK_START_VAR integer Расхождение между датой начала задачи по базовому плану и текущей запланированной датой начала.
I TASK_IS_OVERALLOCATED bit Указывает, не назначено ли ресурсу больше работы по задаче, чем он может выполнить в пределах обычного объема трудозатрат.
I TASK_OVT_WORK decimal Объем запланированных сверхурочных трудозатрат, которые должны быть выполнены всеми ресурсами, назначенными задаче, и оплачиваются по ставкам сверхурочных работ.
I TASK_VAC decimal Разница между плановыми затратами и общими затратами для задачи; полное название — «отклонение по завершении».
I TASK_REG_WORK decimal Общий объем несверхурочных трудозатрат, которые по плану должны выполнить все назначенные задаче ресурсы.
I TASK_NUM_OBJECTS integer Число объектов, присоединенных к задаче.
TASK_TOTAL_SLACK integer Время, на которое можно задержать задачу, не задержав дату окончания проекта.
EXT_EDIT_REF_DATA text Индикатор новой строки или архивации существующих данных при изменении сведений о проекте в базе данных.
TASK_UID integer Уникальный идентификатор задачи.
TASK_ID integer Указатель позиции задачи в списке задач.
TASK_HAS_LINKED_FIELDS bit Указывает, существуют ли связи OLE с задачей, установленные в активном проекте, в другом файле Project или в другой программе.
TASK_IS_MILESTONE bit Указывает, является ли задача вехой
TASK_IS_CRITICAL bit Указывает, предусмотрен ли в календарном плане резерв, допускающий отставание задачи по срокам, или же она находится на критическом пути.
TASK_IS_SUMMARY bit Указывает, является ли задача суммарной
TASK_IS_SUBPROJ bit Указывает, является ли задача вставленным проектом.
TASK_IS_MARKED bit Указывает, является ли задача отмеченной для дальнейшего действия или какой-либо идентификации.
TASK_IGNORES_RES_CAL bit Указывает, учитываются ли при планировании задачи календари назначенных ей ресурсов.
TASK_IS_ROLLED_UP bit Указывает, отображаются ли свернутые отрезки на отрезке суммарной задачи, или же отрезки подзадач на диаграмме Ганта будут сводиться в суммарную задачу (для сведения подзадач в суммарные задачи в этом поле должно содержаться значение 1).
TASK_IS_FROM_FINISH_SUBPROJ bit Указывает, помечен ли проект как планируемый от даты окончания.
TASK_BAR_IS_HIDDEN bit Указывает, являются ли отрезки задачи на диаграммах Ганта и в календаре скрытыми.
TASK_IS_RECURRING bit Указывает, является ли задача повторяющейся.
TASK_IS_RECURRING_SUMMARY bit Указывает, является ли повторяющаяся задача суммарной.
I TASK_IS_EXTERNAL bit Указывает, связана ли задача из другого проекта или создана в текущем проекте.
TASK_IS_EFFORT_DRIVEN bit Указывает, будет ли задача планироваться с фиксированным объемом работ.
TASK_IS_COLLAPSED bit Указывает, свертывается ли суммарная задача при отображении в Project.
TASK_HAS_NOTES bit Указывает, предусмотрены ли для задачи заметки формата RTF.
TASK_IS_READONLY_SUBPROJ bit Указывает, является ли подпроект данной задачи доступным только для чтения.
TASK_LEVELING_CAN_SPLIT bit Указывает, может ли функция выравнивания загрузки ресурсов вызывать прерывания в оставшейся части работы над задачей.
TASK_LEVELING_ADJUSTS_ASSN bit Указывает, может ли функция выравнивания загрузки задерживать и прерывать отдельные назначения (а не всю задачу) при устранении случаев превышения доступности.
I TASK_DUR_IS_EST bit Указывает, является ли базовое значение длительности предварительной оценкой.
TASK_EARLY_FINISH datetime Самая ранняя дата возможного окончания задачи, основанная на датах раннего окончания задачи-предшественника и задачи-последователя, других ограничениях и задержках выравнивания.
TASK_LATE_START datetime Самая поздняя дата, к которой можно начать задачу, не задерживая завершение проекта; определяется датой начала, а также датами позднего начала и позднего окончания задачи-предшественника и задачи-последователя и другими ограничениями.
TASK_STOP_DATE datetime Дата окончания выполнения фактической части задачи.
I TASK_RESUME_DATE datetime Дата, на которую запланировано возобновление оставшейся части задачи после ввода нового значения процента завершения.
TASK_FREE_SLACK integer Количество времени, на которое можно отложить задачу, не задерживая ее задачи-последователи (или не задерживая весь проект, если у задачи нет последователей).
TASK_OUTLINE_LEVEL smallint Число, определяющее уровень задачи в иерархической структуре проекта.
TASK_DUR integer Общая продолжительность активного рабочего времени для задачи.
TASK_DUR_FMT smallint Единицы, в которых значение длительности задачи отображается в Project:
3 м
7 ам
5 ч
6 ач
7 д (по умолчанию)
8 ад
9 н
10 ан
11 мес
12 амес
19 %
20 а%
35 м?
36 ам?
37 ч?
38 ач?
39 д?
40 ад?
41 н?
42 ан?
43 мес?
44 амес?
51 %?
52 а%?
TASK_ACT_DUR integer Продолжительность фактического рабочего времени для задачи на данный момент, определяемая запланированной длительностью и текущим объемом оставшихся трудозатрат или процентом завершения.
TASK_REM_DUR integer Время, необходимое для выполнения незаконченной части задачи. Оставшуюся длительность можно вычислить двумя способами (используя значение процента завершения или фактическую длительность).
TASK_BASE_DUR integer Исходный интервал времени, запланированный для выполнения задачи.
TASK_BASE_DUR_FMT smallint Единицы, в которых плановое значение длительности задачи отображается в Project:
3 м
7 ам
5 ч
6 ач
7 д (по умолчанию)
8 ад
9 н
10 ан
11 мес
12 амес
19 %
20 а%
35 м?
36 ам?
37 ч?
38 ач?
39 д?
40 ад?
41 н?
42 ан?
43 мес?
44 амес?
51 %?
52 а%?
TASK_CONSTRAINT_TYPE smallint Ограничение для запланированной задачи:
0 Как можно раньше
1 Как можно позже
2 Фиксированное начало; требует указания даты TASK_CONSTRAINT_DATE
3 Фиксированное окончание; требует указания даты TASK_CONSTRAINT_DATE
7 Начало не ранее; требует указания даты TASK_CONSTRAINT_DATE
5 Начало не позднее; требует указания даты TASK_CONSTRAINT_DATE
6 Окончание не ранее; требует указания даты TASK_CONSTRAINT_DATE
7 Окончание не позднее; требует указания даты TASK_CONSTRAINT_DATE
TASK_LEVELING_DELAY integer Количество времени, на которое следует задержать задачу относительно ее даты раннего начала в связи с выравниванием загрузки ресурсов.
TASK_LEVELING_DELAY_FMT smallint Единицы, в которых задержка выравнивания отображается в Project.
TASK_START_DATE datetime Дата и время запланированного начала выполнения задачи; вычисляется автоматически, если у задачи есть предшественник.
TASK_FINISH_DATE datetime Дата и время запланированного завершения выполнения задачи.
TASK_ACT_START datetime Дата и время фактического начала задачи.
TASK_ACT_FINISH datetime Дата и время фактического окончания задачи.
TASK_BASE_START datetime Запланированная дата начала задачи на момент сохранения базового плана.
TASK_BASE_FINISH datetime Запланированная дата завершения задачи на момент сохранения базового плана.
TASK_CONSTRAINT_DATE datetime Дата начала или окончания, установленная с ограничениями согласно значению поля TASK_CONSTRAINT_TYPE. Не требуется, если поле TASK_CONSTRAINT_TYPE содержит значение «Как можно позже» или «Как можно раньше».
TASK_PRIORITY smallint Уровень важности задачи; чем больше число, тем выше приоритет:
0 Самый низкий приоритет; задача всегда будет подвергаться выравниванию загрузки.
500 Значение по умолчанию
1000 Самый высокий приоритет; задача никогда не будет подвергаться выравниванию загрузки.
TASK_PCT_COMP smallint Текущее состояние задачи, выраженное в виде длительности выполненной работы в процентах по отношению к общей длительности задачи.
TASK_PCT_WORK_COMP smallint Текущее состояние задачи, выраженное в виде процента выполненных трудозатрат по задаче.
TASK_TYPE smallint Указывает, как влияет изменение одного из трех параметров — объем трудозатрат, число единиц назначения или длительность — на значения двух других параметров:
0 Фиксированные единицы (по умолчанию); число единиц назначения остается постоянным, независимо от объема работы или длительности задачи
1 Фиксированная длительность; длительность задачи остается постоянной, независимо от числа назначенных ресурсов (единиц назначения) или объема работы
2 Фиксированные трудозатраты; общий объем работы остается постоянным, независимо от каких бы то ни было изменений длительности или количества назначенных задаче ресурсов (единиц назначения)
TASK_FIXED_COST_ACCRUAL smallint Способ начисления фиксированных затрат для задачи:
1 Начало; затраты начисляются сразу после начала задачи, которое определяется датой в поле ActualStart (Фактическое начало)
2 Конец; затраты не начисляются до тех пор, пока величина оставшихся трудозатрат не окажется равной нулю
3 Пропорционально (по умолчанию); затраты начисляются по мере планирования и поступления сообщений о фактическом выполнении трудозатрат.
TASK_CREATION_DATE datetime Дата и время добавления задачи в проект.
TASK_PRELEVELED_START datetime Дата начала задачи, имевшая силу до выравнивания загрузки ресурсов.
TASK_PRELEVELED_FINISH datetime Дата окончания задачи, имевшая силу до выравнивания загрузки ресурсов.
TASK_EARLY_START datetime Самая ранняя дата возможного начала задачи, определяемая датами раннего начала задачи-предшественника и задачи-последователя, а также другими ограничениями.
TASK_LATE_FINISH datetime Самая поздняя дата, к которой можно закончить задачу, не задерживая завершение проекта; определяется датой позднего начала задачи, а также датами позднего начала и позднего окончания задачи-предшественника и задачи-последователя и другими ограничениями.
TASK_CAL_UID integer Указатель на действительный идентификатор в таблице MSP_CALENDARS.
TASK_DEADLINE datetime Дата, определяющая крайний срок выполнения задачи.
TASK_WORK decimal Общий объем запланированных для задачи трудозатрат, которые должны выполнить все назначенные ресурсы.
TASK_BASE_WORK decimal Первоначально запланированный объем трудозатрат, которые должны выполнить все ресурсы, назначенные задаче.
TASK_ACT_WORK decimal Объем трудозатрат, которые уже выполнены назначенными задаче ресурсами.
TASK_REM_WORK decimal Количество времени, необходимое всем назначенным ресурсам для выполнения оставшейся части задачи.
TASK_COST decimal Общая величина запланированных затрат для задачи, складывающаяся из затрат по работам, уже выполненным всеми ресурсами задачи, и затрат, планируемых для оставшейся работы по назначению.
TASK_FIXED_COST decimal Расходы на выполнение задачи, не связанные с затратами на ресурсы.
TASK_ACT_COST decimal Затраты на работу над задачей, уже выполненную всеми ресурсами, а также все прочие учтенные затраты, связанные с задачей.
I TASK_REM_COST decimal Запланированные расходы, которые потребуются для выполнения оставшейся части запланированной работы над задачей всеми ее ресурсами.
TASK_BASE_COST decimal Общие запланированные затраты для задачи; другое название — БПЗ (бюджет по завершении).
TASK_ACT_OVT_WORK decimal Фактический объем сверхурочных трудозатрат, которые уже выполнены всеми назначенными задаче ресурсами.
TASK_REM_OVT_WORK decimal Оставшийся объем сверхурочных трудозатрат для задачи, запланированный для всех назначенных ресурсов.
TASK_OVT_COST decimal Фактические затраты на сверхурочные работы для задачи.
TASK_ACT_OVT_COST decimal Затраты по сверхурочным работам, которые уже выполнены для задачи всеми назначенными ресурсами.
TASK_REM_OVT_COST decimal Расходы на оставшиеся по плану сверхурочные работы для задачи.
TASK_WBS text Уникальный код (СДР), обозначающий местоположение задачи в иерархической структуре проекта.
TASK_NAME varchar(255) Название задачи.
TASK_WBS_RIGHTMOST_LEVEL text Крайний справа уровень задачи. Например, если код уровня задачи равен A.01.03, крайним справа уровнем будет 03.
TASK_RTF_NOTES Image Имеются заметки RTF.
TASK_PHY_PCT_COMP smallint Физический процент завершения от общего объема задачи.
TASK_EAC decimal Общая величина запланированных затрат для задачи, складывающаяся из затрат по уже выполненным работам и затрат, планируемых для оставшейся части работы.
TASK_EVMETHOD smallint Указывает, используются ли значения TASK_PCT_COMP или TASK_PHY_PCT_COMP для расчета базовой стоимости выполненных работ (TASK_BCWP).
TASK_ACT_WORK_PROT decimal Фактические трудозатраты защищены.
TASK_ACT_OVT_WORK_PROT decimal Фактические сверурочные трудозатраты защищены.
В начало

MSP_TEXT_FIELDS

В этой таблице содержатся настраиваемые текстовые данные.

  Название столбца Тип данных Описание
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
TEXT_CATEGORY integer Указывает категорию настраиваемого текста; для вставленного проекта должно быть установлено значение 0:
0 Задача
1 Ресурс
3 Назначение
TEXT_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем TEXT_CATEGORY.
TEXT_FIELD_ID integer Указатель на действительное значение CONV_VALUE в таблице MSP_CONVERSIONS; всегда равняется 188743706 для вставленных проектов.
TEXT_VALUE varchar(255) Значение настраиваемого текстового поля.
В начало

MSP_TIMEPHASED_DATA

В этой таблице хранятся повременные данные в удобном для чтения формате, когда столбец PROJ_OPT_EXPAND_TIMEPHASED таблицы MSP_PROJECTS содержит значение 1 или когда пользователь, работая в Microsoft Project, выбирает в меню Сервис команду Параметры, вкладку Сохранение и устанавливает флажок Развертывать повременные данные в базе данных в Project. В каждой строке этой таблицы описывается тип данных (трудозатраты, процент завершения или затраты), диапазон дат, единицы времени и значения данных, а также указывается, к чему относятся эти повременные данные — к назначению, задаче или ресурсу.

  Название столбца Тип данных Описание
RESERVED_DATA char Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя.
PROJ_ID integer Указатель на действительный идентификатор в таблице MSP_PROJECTS
TD_UID integer Уникальный идентификатор записи с повременными данными.
TD_FIELD_ID smallint Указатель на действительный идентификатор поля в столбце CONV_VALUE таблицы MSP_CONVERSIONS.
TD_CATEGORY smallint Указывает категорию повременных данных:
0 Задача
1 Ресурс
3 Назначение
TD_REF_UID integer Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем TD_CATEGORY.
TD_START datetime Начало первого периода времени, к которому будут относиться значения трудозатрат, процента завершения или затрат.
TD_FINISH datetime Окончание первого периода времени, к которому будут относиться значения трудозатрат, процента завершения или затрат.
TD_UNITS smallint Единица времени для значений, заданных в полях TD_VALUE1 - TD_VALUE7:
0 м
1 ч
2 д (по умолчанию)
3 н
5 мес
8 г
TD_VALUE1 - TD_VALUE7 decimal Значения трудозатрат, процента завершения или затрат для семи периодов времени, которые выражаются в единицах, заданных в столбце TD_UNITS, и относятся к диапазону дат, определенному в столбцах TD_START и TD_FINISH; применимы только значения, попадающие в промежуток между заданными датами начала и окончания.
TD_EXT_EDITED bit Указывает, изменялась ли запись во внешнем приложении.