В этом документе содержатся сведения о том,как создавать и обновлять относящиеся к проекту данные непосредственно в базе данных 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 дополненной 1 новой таблицей, ) включает следующие усовершенствованные возможности:
В базу данных 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 или подключиться к источнику данных напрямую.
В началоВ Microsoft Project 2003 можно открыть проект, который ранее был сохранен в базе данных с помощью Microsoft Project 98, Microsoft Project 2000 или Microsoft Project 2002. Однако если после этого снова сохранить такой проект в базе данных, он будет сохранен в структуре базы данных Microsoft Project 2003. Только для Microsoft Project 98 при полном изменении формата базы данных получатся две копии проекта, для разных форматов базы данных; исходные данные проекта не подвергнутся изменениям..
В началоИспользуя надстройку 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 использует первый же набор таблиц, найденный в базе данных. Это необходимо учитывать при организации системы безопасности.
Create view MSP_TEXT_FIELDS as
Select PROJ_ID,
TEXT_CATEGORY,
TEXT_REF_UID,
TEXT_FIELD_ID,
TEXT_VALUE
From user1.MSP_TEXT_FIELDS
Union all
Select PROJ_ID + 1000,
TEXT_CATEGORY,
TEXT_REF_UID,
TEXT_FIELD_ID,
TEXT_VALUE
From user2.MSP_TEXT_FIELDS
Примечания
Существуют два способа настройки базы данных на использование с Project:
В эти файлы сценариев можно вносить изменения, задавая файлы баз данных и группы файлов (SQL Server) и настраивая другие свойства базы данных. Например, администратор базы данных может изменить инструкции DDL для сохранения таблиц на одном диске, а индексов на другом. Как правило, хранение индексов и таблиц данных на разных физических дисках приводит к повышению производительности, однако такой порядок не считается обязательным.
Файлы журналов транзакций рекомендуется по возможности размещать отдельно от данных, на другом диске; перед запуском сценариев на сервере 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 сохраняет содержимое календаря в двух таблицах:
Хранение повременных данных оптимизировано таким образом, что одна строка может содержать значения для семи периодов времени (как правило, дней), благодаря чему сокращается число строк, которые необходимо создать. В каждой строке содержатся даты начала и окончания и единицы измерения шкалы времени для значений данных. Значениями являются показатели времени, затрат и процента завершения для каждого периода в пределах заданной единицы измерения шкалы времени. Например, если тип записи — затраты и единицы измерения — недели, то каждое значение данных будет содержать единицу р/н (рублей в неделю).
Чтобы сохранить повременные данные в таблице 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 строго запрещается выполнять следующие действия:
Некоторые таблицы 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 в этих целях нежелательно, необходимо создать пустую базу данных с помощью драйвера ODBC и затем создать все соответствующие таблицы. Создание всех таблиц вручную — нелегкая задача, поскольку при этом надо будет использовать данный документ для справки, чтобы удостовериться в правильности имен всех таблиц и столбцов и типов данных столбцов.
О создании и настройке базы данных вручную для использования в Microsoft Project см. ниже в разделе Настройка базы данных.
В началоИнформация о подключении базе данных 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 | Название проекта, который должен быть вставлен. Например:
|
|
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 | |
Фактические трудозатраты | 8ч | TD_VALUE1 | 480000 |
4ч | TD_VALUE2 | 240000 | |
0ч | TD_VALUE3 | 0 | |
4ч | 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 в таблице 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 хранятся параметры проекта и связанные с ним данные. Имена столбцов, содержащих данные проекта, включают спецификаторы, указывающие, где эти данные устанавливаются. Эти спецификаторы перечислены ниже.
Спецификатор | Описание |
---|---|
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 требуется хранить значение времени, но не даты, это значение времени записывается как дата. При считывании проекта из базы данных компонент даты в таких полях будет игнорироваться.
В началоВ этой таблице содержатся данные, относящиеся к настраиваемым базовым планам назначений.
Название столбца | Тип данных | Описание | |
---|---|---|---|
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. |
В этой таблице содержатся данные, относящиеся к назначению. Помимо строк для задач с назначенными ресурсами 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 | Тип ресурса:
|
|||||||||||||||||||
I | ASSN_IS_OVERALLOCATED | bit | Указывает, не назначено ли ресурсу больше работы по конкретной задаче, чем он может выполнить в пределах обычного объема трудозатрат. | ||||||||||||||||||
I | ASSN_WORK_CONTOUR | smallint | Характер распределения трудозатрат в течение интервала назначения:
|
||||||||||||||||||
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 | Формат задержки:
|
|||||||||||||||||||
ASSN_LEVELING_DELAY | integer | Количество времени, на которое следует задержать начало работы над назначением относительно запланированной даты его начала в результате выравнивания загрузки ресурсов. | |||||||||||||||||||
ASSN_COST_RATE_TABLE | smallint | Указывает, какая таблица норм затрат должна использоваться для ресурса при работе по назначению:
|
|||||||||||||||||||
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 | Указывает тип назначения:
|
|||||||||||||||||||
ASSN_ACT_WORK_PROT | decimal | Фактические трудозатраты, которые были защищены. | |||||||||||||||||||
ASSN_ACT_OVT_WORK_PROT | decimal | Фактические сверхурочные трудозатраты, которые были защищены. | |||||||||||||||||||
ASSN_CREATION_DATE | datetime | Дата создания назначения. |
Эта таблица аналогична таблице 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 | Тип ресурса:
|
|||||||||||||||||||
I | ASSN_IS_OVERALLOCATED | bit | Указывает, не назначено ли ресурсу больше работы по конкретной задаче, чем он может выполнить в пределах обычного объема трудозатрат. | ||||||||||||||||||
I | ASSN_WORK_CONTOUR | smallint | Характер распределения трудозатрат в течение интервала назначения:
|
||||||||||||||||||
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 | Формат задержки:
|
|||||||||||||||||||
ASSN_LEVELING_DELAY | integer | Количество времени, на которое следует задержать начало работы над назначением относительно запланированной даты его начала в результате выравнивания загрузки ресурсов. | |||||||||||||||||||
ASSN_COST_RATE_TABLE | smallint | Указывает, какая таблица норм затрат должна использоваться для ресурса при работе по назначению:
|
|||||||||||||||||||
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 | Указывает тип назначения:
|
|||||||||||||||||||
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_FIELD_ATTRIBUTES.
Название столбца | Тип данных | Описание | |
---|---|---|---|
RESERVED_DATA | char(1) | Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя. | |
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |
AS_ID | integer | Уникальный идентификатор строки атрибута. | |
AS_POSITION | integer | Указатель позиции активного проекта пула ресурсов в списке клиентов пула. | |
AS_VALUE | varchar(255) | Формула в том виде, как она задана в диалоговом окне «Формула в Project. |
В этой таблице содержатся данные о доступности ресурсов и отслеживается время и доступность каждого конкретного ресурса в рамках проекта.
Название столбца | Тип данных | Описание | |
---|---|---|---|
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 | Число единиц, на которое ресурс назначается задаче; выражается в процентах от максимального числа единиц ресурса. |
В этой таблице содержатся данные о рабочих и нерабочих днях календаря, а также об исключениях из календаря.
Примечание. При создании или изменении записей о рабочих днях в этой таблице следите, чтобы рабочие смены не перекрывались. В случае перекрытия весь день будет помечен как нерабочий.
Название столбца | Тип данных | Описание | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RESERVED_DATA | char(1) | Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя. | |||||||||||||||||
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||||||||||||
CD_UID | integer | Уникальный идентификатор данных о рабочем и нерабочем времени и исключениях из календаря. | |||||||||||||||||
CAL_UID | integer | Указатель на действительный идентификатор в таблице MSP_CALENDARS. | |||||||||||||||||
CD_DAY_OR_EXCEPTION | smallint | Указывает, определяется ли в календаре рабочий день или исключение:
|
|||||||||||||||||
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 (исключение). |
В этой таблице хранятся основные календарные данные. Календари используются для определения стандартного рабочего и нерабочего времени. В проекте необходимо иметь один базовый календарь. У задач и ресурсов могут быть свои собственные календари, отличные от базовых, но все они должны строиться на основе базового календаря. 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_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. |
Эта таблица содержит все символьные строки 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:
|
||||||||||||||||||||||||||||||||||||||||||
I | CONV_LANG_ID | integer | Идентификатор языка, на котором отображается текст преобразованных символьных строк, например: 1049 = русский. | ||||||||||||||||||||||||||||||||||||||||||
I | CONV_STRING | varchar(200) | Текстовое значение поля. Например, если STRING_TYPE_ID = 68, CONV_VALUE = 0 и CONV_LANG_ID = 1049, то поле содержит строку "Как можно раньше". |
В этой таблице содержатся настраиваемые даты.
Название столбца | Тип данных | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||
DATE_CATEGORY | integer | Указывает категорию настраиваемой даты:
|
|||||||
DATE_REF_UID | integer | Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем DATE_CATEGORY. | |||||||
DATE_FIELD_ID | integer | Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS. | |||||||
DATE_VALUE | datetime | Значение настраиваемого поля длительности. |
В этой таблице содержатся настраиваемые данные о длительности.
Название столбца | Тип данных | Описание | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||||||
DUR_CATEGORY | integer | Указывает категорию настраиваемой длительности:
|
|||||||||||
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:
|
В этой таблице содержатся данные об атрибутах полей, таких, как настраиваемый код СДР, псевдонимы настраиваемых полей и формулы настраиваемых полей.
Название столбца | Тип данных | Описание | |
---|---|---|---|
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 | Указывает, что запись изменена во внешнем приложении. |
В этой таблице содержатся сведения о настраиваемых флагах.
Название столбца | Тип данных | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||
FLAG_CATEGORY | integer | Указывает категорию настраиваемого флага:
|
|||||||
FLAG_REF_UID | integer | Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем FLAG_CATEGORY. | |||||||
FLAG_FIELD_ID | integer | Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS. | |||||||
FLAG_VALUE | bit | Значение настраиваемого поля флага. |
В этой таблице хранятся данные о межпроектных связях, позволяющих устанавливать зависимость между двумя любыми проектами в масштабе организации.
Название столбца | Тип данных | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Указывает тип связи:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
LINK_LAG_FMT | smallint | Формат величины запаздывания, заданной в поле LINK_LAG:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
LINK_LAG | integer | Величина запаздывания, задаваемая как значение длительности (число минут, умноженное на 10). |
Эта таблица включает данные многозначных кодов ресурса.
Примечание. Эта таблица используется в Project при сохранении корпоративных проектов в базе данных Project Server.
Название столбца | Тип данных | Описание | |||
---|---|---|---|---|---|
RESERVED_DATA | char(1) | Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя. | |||
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||
CODE_MV_UID | integer | Уникальный идентификатор многозначного настраиваемого кода. | |||
CODE_CATEGORY | integer | Указывает, что катеогрия настраиваемого многозначного кода структуры предназначена для ресурса:
|
|||
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. |
В этой таблице содержатся настраиваемые числовые данные.
Название столбца | Тип данных | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||
NUM_CATEGORY | integer | Указывает категорию настраиваемого числа:
|
|||||||
NUM_REF_UID | integer | Указатель на действительный идентификатор TASK_UID, RES_UID или ASSN_UID в соответствующей таблице, определенной полем NUM_CATEGORY. | |||||||
NUM_FIELD_ID | integer | Указатель на действительный идентификатор поля, находящийся в столбце CONV_VALUE таблицы MSP_CONVERSIONS. | |||||||
NUM_VALUE | decimal | Значение настраиваемого числового поля. |
В этой таблице содержатся данные об определениях настраиваемых кодов структуры, связанных с проектом. Каждый настраиваемый код структуры должен быть уникален в рамках проекта, однако корпоративные коды могут совместно использоваться несколькими проектами.
Название столбца | Тип данных | Описание | |
---|---|---|---|
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_PROJECTS и контролируется службой данных проекта (PDS), обеспечивающей определенный режим доступа к таблице — только для чтения или для чтения и записи. Данные в этой таблице появляются только в процессе выполнения операций чтения или записи из клиента Project. Таким образом, в обычных условиях эта таблица отображается как пустая.
Примечание. Прямой доступ к этой таблице из Project невозможен.
Название столбца | Тип данных | Описание | |||||
---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||
SEC_SPID | varchar(255) | Код обработки SQL Process ID (SPID). | |||||
SEC_SPIDDATESTAMP | datetime | Дата создания активного кода SPID, используемого в данной строке безопасности. | |||||
SEC_READCOUNT | integer | Текущее число разрешенных обращений к данному проекту для чтения со стороны конкретного пользователя:
|
|||||
SEC_WRITECOUNT | integer | Текущее число разрешенных обращений к данному проекту для записи со стороны конкретного пользователя. Это значение не должно превышать 1. |
В этой таблице хранятся сведения о проектах, включая параметры уровня проекта.
Название столбца | Тип данных | Описание | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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:
|
|||||||||||||||||||||||||
PROJ_OPT_CURRENCY_POSITION | smallint | Местоположение символа валюты по отношению к денежному значению:
|
|||||||||||||||||||||||||
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 | Тип задачи, используемый по умолчанию для всех задач проекта:
|
|||||||||||||||||||||||||
PROJ_OPT_DUR_ENTRY_FMT | smallint | Формат длительности, используемый по умолчанию для всех параметров длительности в проекте:
|
|||||||||||||||||||||||||
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 | Формат длительности, используемый по умолчанию для всех значений длительности рабочих периодов в проекте:
|
|||||||||||||||||||||||||
PROJ_OPT_CALC_SUB_AS_SUMMARY | bit | казывает, вычисляет ли Project подзадачи как суммарные задачи. | |||||||||||||||||||||||||
PROJ_OPT_WEEK_START_DAY | smallint | День начала рабочей недели:
|
|||||||||||||||||||||||||
PROJ_OPT_FY_START_MONTH | smallint | Месяц, с которого начинается финансовый год:
|
|||||||||||||||||||||||||
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 | Тип ресурса:
|
|||||||||||||||||||||||||
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 | Указывает, синхронизированы ли фактические значения проекта с защищенными значениями проекта:
|
|||||||||||||||||||||||||
PROJ_ADMINPROJECT | tinyint | Указывает, является ли проект административным проектом. | |||||||||||||||||||||||||
PROJ_ENT_LIST_SEPARATOR | varchar(2) | Разделитель элементов списка, используемый корпоративными многозначными кодами структуры, например, запятая (,). |
В этой таблице хранятся двоичные данные, относящиеся к глобальному пулу корпоративных ресурсов, таблица используется только с Project и Project Server.
Название столбца | Тип данных | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||
GLB_CATEGORY | integer | Указывает, относятся ли глобальные двоичные данные к задаче, ресурсу или назначению:
|
|||||||
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_RESOURCES контролируется службой данных проекта (PDS), обеспечивающей определенный режим доступа к таблице — только для чтения или для чтения и записи. Данные в этой таблице появляются только в процессе выполнения операций чтения или записи из клиента Project. Таким образом, в обычных условиях эта таблица отображается как пустая.
Примечание. Прямой доступ к этой таблице из Project невозможен.
Название столбца | Тип данных | Описание | |||||
---|---|---|---|---|---|---|---|
ERUID | integer | Указатель на действительный идентификатор в таблице MSP_RESOURCES. | |||||
SEC_SPID | varchar(255) | Код обработки SQL Process ID (SPID). | |||||
SEC_SPIDDATESTAMP | datetime | Дата создания активного кода SPID, используемого в данной строке безопасности. | |||||
SEC_READCOUNT | tinyint | Текущее число разрешенных обращений к данному ресурсу для чтения со стороны конкретного пользователя:
|
|||||
SEC_WRITECOUNT | tinyiny | Текущее число разрешенных обращений к данному ресурсу для записи со стороны конкретного пользователя, выполняемых с целью обновления данных ресурса. Это значение не может превышать 1. |
Данная таблица используется для синхронизации ресурсов и календарей при работе с данными Project Server 2003 из Microsoft Project Professional 2002.
Название столбца | Тип данных | Описание | |
---|---|---|---|
SEC_RES_UID | integer | Указатель на действительный идентификатор в таблице MSP_RESOURCES. | |
SEC_CAL_UID | integer | Указатель на действительный идентификатор в таблице MSP_CALENDARS. |
В этой таблице содержатся настраиваемые данные, относящиеся к базовым планам ресурсов.
Название столбца | Тип данных | Описание | |
---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |
RES_UID | integer | Указатель на действительный идентификатор в таблице MSP_RESOURCES. | |
RB_BASE_NUM | smallint | Номер настраиваемого базового плана, от 1 до 10. | |
RB_BASE_WORK | decimal | Первоначально запланированный объем трудозатрат, которые ресурс должен выполнить по задаче. | |
RB_BASE_COST | decimal | Общая величина запланированных затрат на работу, которую ресурс должен выполнить по задаче. |
В этой таблице содержатся данные о ставках ресурсов.
Название столбца | Тип данных | Описание | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RESERVED_DATA | char | Поле временного хранения данных, уникальных для конкретной строки базы данных; его содержимое изменять нельзя. | |||||||||||||
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||||||||
RR_UID | integer | Уникальный идентификатор ставки ресурса. | |||||||||||||
RES_UID | integer | Указатель на действительный идентификатор в таблице MSP_RESOURCES. | |||||||||||||
RR_RATE_TABLE | smallint | Указывает, какая таблица норм затрат должна использоваться для ресурса при работе по назначению:
|
|||||||||||||
RR_FROM_DATE | datetime | Дата, начиная с которой действуют нормы затрат на ресурс. | |||||||||||||
RR_TO_DATE | datetime | Дата, после которой перестают действовать нормы затрат на ресурс. | |||||||||||||
RR_STD_RATE | decimal | Стандартная ставка, заданная в выбранной таблице норм затрат. | |||||||||||||
RR_STD_RATE_FMT | smallint | Единицы, в которых стандартная ставка выражается в Project:
|
|||||||||||||
RR_OVT_RATE | decimal | Ставка сверхурочных работ, заданная в выбранной таблице норм затрат. | |||||||||||||
RR_OVT_RATE_FMT | smallint | Единицы, в которых ставка сверхурочных работ выражается в Project:
|
|||||||||||||
RR_PER_USE_COST | decimal | Величина затрат на использование, заданная в выбранной таблице норм затрат, например р * 100. |
В этой таблице хранятся сведения о ресурсах, включенных в проект.
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 | Тип ресурса (трудовой или материальный):
|
|||||||||
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 | Указывает, как и когда должны начисляться стандартные и сверхурочные затраты на ресурсы задачи:
|
|||||||||
RES_WORKGROUP_MESSAGING | smallint | Способ передачи сообщений, используемый для связи с участниками проектной группы:
|
|||||||||
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 | Указывает, является ресурс обычным или универсальным, а также отключен ли он:
|
|||||||||
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 | Указывает тип резервирования для ресурса:
|
|||||||||
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 | Дата создания уникального идентификатора ресурса. |
Эта таблица содержит перечень категорий символьных строк и связывает базу данных Project с поставщиком Project OLE DB. Каждое строковое значение, используемое в Project подпадает под одну из таких категорий.
Название столбца | Тип данных | Описание | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
I | STRING_TYPE_ID | integer | Число, обозначающее номер категории поля; текстовое представление STRING_TYPE этого поля показано ниже в той же таблице в правом столбце:
|
||||||||||||||||||||||||||||||||||||||||||
I | STRING_LANG_ID | integer | Идентификатор языка, на котором отображается текст преобразованных символьных строк, например: 1049 = русский. | ||||||||||||||||||||||||||||||||||||||||||
I | STRING_TYPE | varchar(200) | Текстовое представление значения поля, определенного номером STRING_TYPE_ID (эти текстовые представления для всех значений STRING_TYPE_ID перечислены выше в таблице в правом столбце). Например, если STRING_TYPE_ID = 103, то данное поле будет содержать текст «Положение символа валюты». |
В этой таблице содержатся настраиваемые данные, относящиеся к базовым планам задач.
Название столбца | Тип данных | Описание | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Формат базовой длительности задачи, используемый по умолчанию:
|
|||||||||||
TB_BASE_START | datetime | Запланированная дата начала задачи на момент сохранения базового плана. | |||||||||||
TB_BASE_FINISH | datetime | Запланированная дата завершения задачи на момент сохранения базового плана. | |||||||||||
TB_BASE_WORK | decimal | Первоначально запланированный объем трудозатрат, которые должны выполнить все ресурсы, назначенные задаче. | |||||||||||
TB_BASE_COST | decimal | Общие запланированные затраты для задачи; другое название — БПЗ (бюджет по завершении). |
В этой таблице хранятся сведения о задачах, включенных в проект. 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:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
TASK_ACT_DUR | integer | Продолжительность фактического рабочего времени для задачи на данный момент, определяемая запланированной длительностью и текущим объемом оставшихся трудозатрат или процентом завершения. | |||||||||||||||||||||||||||||||||||||||||||||||||
TASK_REM_DUR | integer | Время, необходимое для выполнения незаконченной части задачи. Оставшуюся длительность можно вычислить двумя способами (используя значение процента завершения или фактическую длительность). | |||||||||||||||||||||||||||||||||||||||||||||||||
TASK_BASE_DUR | integer | Исходный интервал времени, запланированный для выполнения задачи. | |||||||||||||||||||||||||||||||||||||||||||||||||
TASK_BASE_DUR_FMT | smallint | Единицы, в которых плановое значение длительности задачи отображается в Project:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
TASK_CONSTRAINT_TYPE | smallint | Ограничение для запланированной задачи:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
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 | Уровень важности задачи; чем больше число, тем выше приоритет:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
TASK_PCT_COMP | smallint | Текущее состояние задачи, выраженное в виде длительности выполненной работы в процентах по отношению к общей длительности задачи. | |||||||||||||||||||||||||||||||||||||||||||||||||
TASK_PCT_WORK_COMP | smallint | Текущее состояние задачи, выраженное в виде процента выполненных трудозатрат по задаче. | |||||||||||||||||||||||||||||||||||||||||||||||||
TASK_TYPE | smallint | Указывает, как влияет изменение одного из трех параметров — объем трудозатрат, число единиц назначения или длительность — на значения двух других параметров:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
TASK_FIXED_COST_ACCRUAL | smallint | Способ начисления фиксированных затрат для задачи:
|
|||||||||||||||||||||||||||||||||||||||||||||||||
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 | Фактические сверурочные трудозатраты защищены. |
В этой таблице содержатся настраиваемые текстовые данные.
Название столбца | Тип данных | Описание | |||||||
---|---|---|---|---|---|---|---|---|---|
PROJ_ID | integer | Указатель на действительный идентификатор в таблице MSP_PROJECTS | |||||||
TEXT_CATEGORY | integer | Указывает категорию настраиваемого текста; для вставленного проекта должно быть установлено значение 0:
|
|||||||
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) | Значение настраиваемого текстового поля. |
В этой таблице хранятся повременные данные в удобном для чтения формате, когда столбец 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 | Указывает категорию повременных данных:
|
|||||||||||||
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:
|
|||||||||||||
TD_VALUE1 - TD_VALUE7 | decimal | Значения трудозатрат, процента завершения или затрат для семи периодов времени, которые выражаются в единицах, заданных в столбце TD_UNITS, и относятся к диапазону дат, определенному в столбцах TD_START и TD_FINISH; применимы только значения, попадающие в промежуток между заданными датами начала и окончания. | |||||||||||||
TD_EXT_EDITED | bit | Указывает, изменялась ли запись во внешнем приложении. |