Поделиться через


Возможности программирования для Project Server

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

Project Server 2013 предназначен для поддержки большинства приложений, которые были разработаны для Project Server 2010, и новых решений для разных платформ, в которых доступ к приложениям можно получать онлайн и из локальных экземпляров Project Server. Для использования клиентской объектной модели (CSOM) или интерфейса Project Server интерфейс (PSI) необходимо изменить приложения и расширения, которые были разработаны для Project Server 2003 или более ранней версии. Приложения, которые были разработаны для Office Project Server 2007 или Project Server 2010, могут потребовать некоторых изменений и повторной компиляции для использования PSI. Чтобы использовать CSOM, эти приложения нужно изменить.

Платформа Project Server позволяет программистам добиться высокой продуктивности за счет использования SharePoint Server 2013, .NET Framework 4 и протокола OData с CSOM. Разработчики могут расширить Project Web App с помощью приложений, частей приложений и веб-частей, определить рабочие процессы с помощью SharePoint Designer 2013 и принудительно применить бизнес-правила с помощью удаленных приемников событий Project Server.

Project Server и SharePoint Server

Приложение Project Web App создано на основе SharePoint Server 2013 и использует эталонные страницы и веб-части, что упрощает создание пользовательских приложений и решений Project Web App. Project Server 2013 тесно интегрируется с SharePoint Server 2013 как платформа для совместной работы над проектом, отчетности, администрирования сайтов, безопасности и управления рабочими процессами.

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

Во время установки Project Server 2013 подготавливается приложение-служба Project на сайте веб-служб SharePoint. Приложение-служба Project содержит локальные службы Windows Communication Foundation (WCF) и веб-службы ASMX для PSI. Другие примеры приложений-служб: поиск SharePoint и управление документами SharePoint. Дополнительные сведения см. в документации SharePoint Server 2013 для разработчиков.

Приложение службы Project — это поставщик логической службы, которая может управлять несколькими экземплярами Project Web App. Во время подготовки Project Server создается определенный сайт Project Web App в веб-приложении SharePoint. Домашняя страница Project Web App содержит ссылки на страницу центра проектов, страницу центра ресурсов и страницу центра бизнес-аналитики для отчетности, а также страницу, которая содержит список дополнительных стандартных приложений. На рис. 1 показана команда Изменить страницу в раскрывающемся списке Параметры на домашней странице Project Web App, где можно добавить или изменить веб-части.

Примечание.

Некоторые административные страницы в Project Web App, например страницу "Параметры PWA", изменить невозможно, на них не отображается команда Изменить страницу. Project Web App не позволяет редактировать страницы с помощью SharePoint Designer 2013. Редактировать страницы на сайте проекта можно с помощью SharePoint Designer 2013.

Рис. 1. Использование меню "Изменить страницу" в Project Web App

Изменение домашней страницы в Project Web Access

Чтобы получить доступ к странице "Параметры сайта" в Project Web App, выберите значок Параметры в правом верхнем углу страницы. Страница "Параметры сайта" (https://ServerName/ProjectServerName/_layouts/15/settings.aspx) позволяет изменять внешний вид, функции и тему сайта, добавлять пользовательские веб-части, а также изменять или создавать эталонные страницы для сайтов проектов.

Настройка кода на ASPX-страницах и настройка эталонных страниц Project Web App с помощью SharePoint Designer 2013 не поддерживается. Настройка кода на страницах Project Web App может привести к проблемам с обновлениями Project Server и пакетов обновления.

Настройка Project Web App с помощью пакетов SharePoint

Так как Project Web App — это приложение SharePoint, а сайты проектов — это сайты SharePoint, можно добавлять пользовательские приложения, веб-части, обработчики событий, настраиваемые поля и другие функции с помощью пакетов SharePoint (файлов WSP) или приложений SharePoint (файлов SPAPP). Пакет SharePoint или пакет приложения может содержать несколько сущностей Project Server, где определения сущности приведены в файле elements.xml из пакета.

Для использования Microsoft Project Online можно добавить кнопки на ленту Project Web App, но невозможно удалить или переименовать существующие кнопки продукта, как и создать новые вкладки ленты. Дополнительные сведения см. в статье Выполнение пользовательских действий для развертывания приложений для SharePoint.

Предостережение

При установке пакета SharePoint или пакета приложения типы сущностей Project Server должны появляться в порядке, заданном схемой PSEntityProvision.xsd, иначе проверка схемы пакета завершится неудачно, и установка не будет завершена.

Файл схемы PSEntityProvision.xsd доступен в загружаемом пакете SDK Project 2013 в подкаталоге Documentation\Schemas\AppProvisioning. На рис. 2 показано представление проводника схемы XML в Visual Studio из схемы PSEntityProvision, где развернута последовательность LookupTable.

Рис. 2. Представление Visual Studio схемы подготовки сущностей Project Server

Представление схемы сущностей Project Server

Пакеты SharePoint, которые устанавливают компоненты для Project Server, могут содержать один или несколько файлов elements.xml, придерживающихся схемы PSEntityProvision. Сущности Project Server в одном XML-файле должны появляться в следующем порядке:

  1. этапы рабочего процесса;

  2. таблицы подстановки;

  3. настраиваемые поля;

  4. стадии рабочего процесса;

  5. типы корпоративных проектов;

  6. обработчики событий.

При создании пакета SharePoint, содержащего сущности Project Server, возможно поместить определения сущностей в несколько файлов elements.xml. Каждый XML-файл может проходить проверку схемы, но сущности во всем пакете могут не находиться в правильном порядке. Например, сущность "настраиваемое поле" в первом XML-файле может ссылаться на таблицу подстановки во втором XML-файле. Во время установки это настраиваемое поле не удастся создать, поскольку еще не будет создана таблица подстановки.

Если установить пакет не удается, объекты, которые были созданы, остаются в Project Web App, но полная установка пакета не выполняется. Переустановка пакета может принести нужный результат, но впечатления клиентов при этом ухудшатся. Если определения сущности охватывают несколько файлов elements.xml, нужно упорядочить сущности Project Server во всем пакете SharePoint, чтобы убедиться, что установка выполняется в правильном порядке. С помощью схемы PSEntityProvision.xsd из загружаемого пакета SDK Project 2013 поддерживается разработка инструмента, который проверяет предписанный порядок сущностей в XML-файлах.

Обновление приложений с помощью интерфейсов API Project Server

При обновлении приложения, разработанного для предыдущей версии Project Server, можно использовать в качестве программного интерфейса, включающего методы для создания, чтения, обновления и удаления сущностей проекта (операции CRUD), либо CSOM, либо PSI. Хотя CSOM внутренним образом вызывает PSI, она полностью не заменяет все методы PSI. Сценарии и ограничения PSI и CSOM см. в статьях What the PSI does and does not do и What the CSOM does and does not do.

Примечание.

Если CSOM включает необходимые вам функции, рекомендуем обновить приложения для использования CSOM. CSOM позволяет использовать приложения, предназначенные для локальных и онлайновых экземпляров Project Server 2013.

Если ваше приложение главным образом считывает данные из Project Server, вы можете использовать представления и таблицы отчетов в базе данных Project Server для сценария локального развертывания. Если вы планируете использовать приложение с Microsoft Project Online, можно использовать протокол OData для службы ProjectData, которая предоставляет доступ к локальным и онлайновым данным отчетов. Дополнительные сведения см. в статье Справочник по службе ProjectData.

Использование PSI

PSI поддерживает клиентские приложения с полным доверием, включая Project профессиональный 2013, Project Web App и бизнес-приложения, для доступа к данным Project Server в ферме SharePoint. PSI создан и используется с .NET Framework 4 и предоставляет такие преимущества, как хорошо знакомая среда разработки со встроенными средствами безопасности, обработкой ошибок и сбором мусора.

Доступ к PSI осуществляется с помощью служб WCF или веб-служб ASMX. Интерфейс ASMX основан на WCF. Каждая служба PSI обычно содержит базовый класс с методами CRUD для элементов в пределах этого класса. Элементы определены с помощью связанных классов DataSet. Например, служба CustomFields содержит класс CustomFields с такими методами, как CreateCustomFields2. Данные для одного или нескольких корпоративных настраиваемых полей указаны в CustomFieldDataSet.

Примечание.

Интерфейс PSI веб-служб ASMX не рекомендуется в Project Server 2013. Хотя интерфейс ASMX все еще доступен, в новых приложениях, использующих PSI, следует использовать интерфейс WCF или, если это возможно, CSOM вместо PSI. Для будущих версий Project Server понадобится обновить существующие приложения на базе ASMX, чтобы использовать интерфейс PSI WCF или CSOM.

Существует 22 общедоступные и задокументированные службы PSI, которые дублируются в интерфейсах WCF и ASMX. PSI включает также восемь закрытых, не задокументированных служб. В Project Web App и Project профессиональный используются общедоступные и закрытые службы PSI. PSI обычно учитываются в соответствии с бизнес-объектами. Иными словами, каждый метод PSI связан с бизнес-объектом, примером которых может быть Календарь или Ресурс. PSI — это основной интерфейс для бизнес-объектов. Так как уровень бизнеса сдержит компоненты бизнес-логики для повторного использования, различные приложения, взаимодействующие с данными Project Server, используют одну и ту же бизнес-логику.

Имена методов PSI, асинхронно взаимодействующих с Project Server, начинаются с Queue. Каждый метод PSI внедрен с отдельным интерфейсом, в котором используются данные, строго разделенные по типам. Например, метод QueueCreateProject в службе Project принимает параметр набора данных типа ProjectDataSet. Класс ProjectDataSet — производный от типа DataSet. Проверка типов в .NET Framework и IntelliSense в справке Visual Studio помогает уменьшить ошибки при разработке PSI. Общие сведения с подробной справкой о пространстве имен, классах, методах, свойствах, событиях и связанных сборках PSI см. в статье Общий справочник по Project PSI.

В Project Server 2013 используется обработка исключений .NET Framework. Все ошибки записываются на сервере, в верхней части стека PSI. Некоторые ошибки отправляют простой отчет клиенту, например объект SoapException для интерфейса ASMX или объект FaultException для интерфейса WCF. Исключения можно записывать в журнале событий приложения, а в случае некоторых ошибок записывается также подробный отчет на сервер в журналы трассировки единой службы ведения журналов (ULS).

Для локальных приложений с полным доверием PSI также может расширяться. Можно добавить сборку .NET со службой, предоставляющей новую функциональность, использующей туже инфраструктуру безопасности Project Server и вызывающей другие методы PSI или наследующей от классов PSI. Расширение PSI может также предоставлять бизнес-логику и доступ к базе данных, которые необходимы для новой функциональности.

Использование CSOM

С помощью CSOM можно разрабатывать приложения, которые получают доступ к Microsoft Project Online или Project Server 2013 на локальных ресурсах. Приложения можно распространять через общедоступный Магазин Office или каталог частных приложений. CSOM разработан как простой в использовании API, который напрямую использует или предоставляет данные по имени с помощью запросов LINQ, а не путем передачи наборов данных и создания параметров changeXml или параметров фильтра XML. CSOM реализует основные функциональные возможности интерфейса Project Server (PSI) для основных сущностей, таких как Project, Task, EnterpriseResource и Assignment. CSOM включает множество дополнительных сущностей, таких как CustomField, LookupTable, WorkflowActivities, EventHandler и QueueJob, которые поддерживают другие распространенные функциональные возможности Project Server.

CSOM может использоваться путем копирования указанных ниже ресурсов на локальный компьютер разработки.

  • Для разработки в .NET Framework 4 скопируйте сборку %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll.

    Для получения документации о классах и членах CSOM см. пространство имен Microsoft.ProjectServer.Client. Пример приложения см. в статье Начало работы с CSOM и .NET.

  • Для разработки в Microsoft Silverlight скопируйте сборку %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll.

  • Для разработки приложений для Windows Phone 8 скопируйте сборку %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll.

  • Чтобы использовать JavaScript для разработки веб-приложений и приложений для других устройств, скопируйте файлы %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js и PS.debug.js. Пример веб-приложения см. в статье Начало работы с объектной моделью JavaScript Project Server 2013.

CSOM выполняет внутренний вызов PSI, поэтому если PSI не сможет выполнить задание, CSOM тоже не сможет. Ограничения CSOM см. в статьях Какие задачи CSOM выполняет, а какие — нет и Какие задачи PSI выполняет, а какие — нет. Дополнительные сведения о разработке с помощью CSOM см. в статьях Обновления для разработчиков решений в Project 2013 и Клиентская объектная модель (CSOM) для Project 2013.

Перенос приложений, построенных для Project Server 2003

В Project Server 2003 многие данные и функциональные возможности доступны только с помощью Project Professional 2003 или путем прямого доступа к базе данных. PSI, появившийся в Project Server 2007, устраняет большую часть этих ограничений. В отличие от Project Data Service (PDS) в Project Server 2003, PSI и CSOM предоставляют полные интерфейсы к бизнес-объектам в Project Server.

Приложения, разработанные для PDS несовместимы с последующими версиями Project Server. CSOM и PSI предоставляют функциональный эквивалент для PDS, но не соответствуют методам и параметрам PDS.

Примечание.

Поскольку конструкции приложений PDS должны полностью перерабатываться для Project Server 2013, рекомендуется использовать CSOM.

Дополнительные сведения о совместимости PDS и рекомендации по переносу расширений PDS в PSI см. в статье Четность PDS в веб-службах PSI.

Перенос приложений, созданных для Project Server 2007 и Project Server 2010

PSI в Project Server 2013 является подмножеством объектной модели PSI в Office Project Server 2007 и Project Server 2010. Многие приложения, созданные для двух предыдущих версий Project Server, продолжают работать на локальных экземплярах Project Server 2013 с полным доверием. Тем не менее указанные ниже виды приложений необходимо обновить или изменить.

  • Используйте CSOM для приложений, адаптированных для Microsoft Project Online.

  • Используйте CSOM для приложений, адаптированных для мобильных устройств и планшетных компьютеров.

  • Используйте CSOM для приложений, доступных как приложения в Магазине Office или в частном каталоге приложений.

  • Для приложений, изменяющих планирование проекта, используйте CSOM или применяйте метод PSI QueueUpdateProject2 в самом приложении.

  • В локальных или веб-приложениях, с помощью которых пользователи входят в разные экземпляры Project Web App, следует использовать программные параметры для конечных точек WCF CSOM или PSI. Эти методы устарели. В приложениях следует использовать проверку подлинности OAuth вместо проверки подлинности форм, а также для Microsoft Project Online. Дополнительные сведения см. в статье Авторизация и проверка подлинности приложений для SharePoint 2013.

  • Приложения, которые зависят от конкретных параметров безопасности Project Server или изменяют их.

    Примечание.

    По умолчанию на локальном сервере Project Server 2013 используется режим разрешений SharePoint, где параметры безопасности Project Server не доступны через PSI. Сведения о переходе в режим разрешений Project см. в разделе Режим разрешений SharePointстатьи Новые возможности для ИТ-специалистов в Project Server 2013.

  • Для многих пользовательских бизнес-процессов Project Server можно создавать декларативные бизнес-процессы с помощью SharePoint Designer 2013. Для пользовательских рабочих процессов, требующих дополнительного программирования, не следует напрямую использовать классы или члены в пространстве имен Microsoft.Office.Project.Server.Workflow . Вместо этого используйте класс Microsoft.ProjectServer.Client.WorkflowActivities в CSOM.

  • Как правило, приложения, использующие олицетворение, следует переписывать для применения интерфейса PSI WCF. Приложения, которые просто обновляют статус для других пользователей, не требуют олицетворения. Они могут использовать метод StatusAssignment.SubmitStatusUpdates в CSOM или метод Statusing.SubmitStatusForResource в PSI.

  • Компоненты промежуточного слоя, которые выполняются на компьютере с Project Server, можно установить только для локального использования, в них нужно применять интерфейс PSI WCF. Например, компонент промежуточного слоя, который использует интерфейс ASMX для обмена данными между локальным Project Web App и внешним приложением расписания, придется переписать для применения интерфейса PSI WCF. Для работы с Microsoft Project Online компонент необходимо изменить, сделав его приложением, и использовать CSOM.

Миграция и совместимость пользовательских решений

Классы и члены общедоступных интерфейсов PSI ASMX и WCF идентичны. Однако количество столбцов и размер таблиц данных, используемых или возвращаемых методами PSI в Project Server 2013, могут быть не такими, как в двух предыдущих версиях Project Server. Кроме того, существуют отличия в таблицах отчетов и представлениях по сравнению с базой данных отчетов в предыдущих версиях.

Важно!

Мы настоятельно рекомендуем тщательно тестировать решения в тестовой установке Project Server 2013 перед их развертыванием на рабочем сервере.

Если решение переносят на Project Server 2013 или если оно не работает должным образом, следует как минимум выполнить указанные ниже действия.

  • Обновите решение, открыв его в Visual Studio 2012. Некоторые решения также могут использовать Visual Studio 2010.

  • Измените целевой объект на .NET Framework 4.

  • Измените ссылки на сборку, чтобы использовались сборки Project Server 2013, такие как Microsoft.Office.Project.Server.Library.dll и Microsoft.Office.Project.Server.Events.Receivers.dll.

  • Создайте список веб-ссылок ASMX или ссылок на службу WCF и имен пространства имен, а затем удалите ссылки Project Server.

  • Добавьте сборку прокси-класса ProjectServerServices.dll, которую можно создать из исходных файлов прокси WCF в загружаемом пакете SDK Project 2013, или добавьте исходные файлы прокси для необходимых служб WCF. Для служб ASMX добавьте ссылки на интерфейсные веб-службы ASMX еще раз, используя имена того же пространства имен, или добавьте сборку прокси-класса ProjectServerServices.dll, которую можно создать из источников WSDL в загружаемом пакете SDK Project 2013.

    Примечание.

    В загружаемом пакете SDK Project 2013 все пространства имен в исходных файлах прокси начинаются с Svc. Например, пространство имен Resource в файлах прокси WCF и ASMX — SvcResource. > Если в приложении используются разные имена пространств имен, можно либо перекомпилировать сборку прокси-сервера для использования пространств имен, либо изменить пространства имен PSI в приложении. Например, можно изменить скрипт CompileWCFProxyAssembly.cmd и перекомпилировать ProjectServerServices.dll из исходных файлов прокси, находящихся в загружаемом пакете SDK.

  • При переходе от использования интерфейса ASMX PSI к интерфейсу WCF можно инициализировать клиентские классы либо программными средствами, либо с помощью конечных точек WCF в app.config. Применяйте инициализацию программными средствами, когда необходимо быстро переключиться на другие экземпляры Project Web App или когда разрабатывается веб-часть, использующая PSI.

  • Существует несколько новых методов и наборов данных в службах PSI в Project Server 2013, некоторые классы DataRow содержат новые свойства. Например, метод QueueUpdateProject2 в PSI использует механизм планирования Project Server для повторного планирования обновленного проекта без необходимости открытия проекта в Project профессиональный 2013, а также позволяет добавлять или удалять сущности проекта в одном и том же вызове.

  • Скомпилируйте и протестируйте решение.

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

В Project Server 2013 два механизма планирования. Более новый механизм планирования такой же, как и тот, что используется в Project профессиональный 2013. Если внести изменения в план и опубликовать их с помощью веб-части "Планирование" (на странице "Сведения о проекте") в Project Web App или на сайте проекта либо с помощью CSOM, вычисление значений даты, затрат, длительности, оставшихся трудозатрат, базовых показателей и другие изменения, связанные с планированием, будут такими же, как если бы вы внесли изменения и опубликовали проект с помощью Project профессиональный 2013. Тем не менее в методах PSI, за исключением QueueUpdateProject2, используется более старый механизм планирования, перенесенный из Project Server 2010. Причина в том, что поведение устаревших приложений в Project Server 2013 не должно измениться.

Примечание.

Для применения обновленного механизма планирования в Project Server 2013 приложения могут использовать CSOM.

И старый, и новый механизмы планирования имеют перечисленные ниже ограничения.

  • Планирование только одного проекта. Планирование влияет только на текущий проект, когда изменения вносятся через обновления состояния задач с помощью PSI, CSOM или Project Web App. Если в текущем проекте есть ссылки на другие проекты, подпроекты или главные проекты, связанные проекты не меняются.

  • Суммарные задачи. Суммарные задачи на Project Server обычно доступны только для чтения. Например, невозможно создать назначения для суммарных задач и изменить процент выполнения. Тем не менее Project Server поддерживает редактирование дат и длительности суммарных задач, запланированных вручную.

    Фактические данные в Project Server не добавляются в назначение суммарной задачи автоматически, поскольку таки образом обходился бы процесс утверждения в Project Server. При добавлении фактических данных в подзадачу в Project Professional эти фактические данные также добавляются для назначения в суммарную задачу. Эта разница в поведении может ввести пользователя в заблуждение.

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

    Предостережение

    Хотя Project Professional может это делать, рекомендуется не выполнять назначения в суммарных задачах.

Далее приводятся проблемы и ограничения при программировании PSI с использованием старого механизма планирования Project Server.

  • Изменение активного состояния задачи Более старая подсистема планирования Project Server может отображать несогласованное время начала или окончания при использовании метода QueueUpdateProject для изменения активного состояния задачи, если в объекте ProjectDataSet для параметра набора данных есть несколько изменений. Если изменено только свойство TASK_IS_ACTIVE в параметре datasetQueueUpdateProject, проект можно обновить.

    Дополнительные сведения о неактивных задачах и старом механизме планирования см. в статьях блога Общие сведения о неактивных задачах в Project 2010 и Project Server 2010: планирование в Интернете, PSI и Project профессиональный. Сравнение планирования в Project профессиональный 2010 и Project Web App в Project Server 2010 см. на странице Сравнение управления планированием через Интернет.

  • Освоенный объем не вычисляется. Старый механизм планирования не вычисляет поля освоенного объема: ФСВР, БПЗ, БСВР, БСЗР, ИОС, ОПС, ОПС%, РС, ИОКП, ОКП, ОКП%, ПЭВ, ОПЗ, Отклонение длительности, Отклонение начала, Отклонение окончания, Отклонение стоимости и Отклонение по трудозатратам. Если в проекте имеются значения для этих полей и проект обновляется с помощью метода QueueUpdateProject, значения полей не изменяются. Чтобы эта проблема не возникала, используйте метод QueueUpdateProject2.

Ограничения планирования PSI можно обойти указанными ниже способами.

  • Если в CSOM имеются методы, необходимые для приложения, используйте CSOM вместо PSI.

  • Открывайте проекты в Project Professional и сохраняйте их обратно в Project Server.

  • Не включайте в отчетах поля, которые PSI не обновляет.

  • Добавляйте в отчеты примечание о данных, которые могут быть устаревшими.

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

  • ProjectWbsIsStale — указывает, является ли структура разбивки работы (иерархия структуры задач) устаревшей.

  • ProjectEarnedValueIsStale — указывает, что поля полученного значения устарели.

  • ProjectRollupsAreStale — указывает, что подпроект обновляется в черновиковой базе данных, но проект master не обновляется. Сведенные значения из подпроекта устарели.

  • ProjectHierarchyNotSynchronized — проект master не синхронизируется со своими дочерними элементами. Это происходит, когда дочерние проекты публикуются явно, а не как часть публикации главного проекта.

  • ProjectCalculationsAreStale — Project профессиональный сохранен проект без вычисления расписания (то есть на вкладке Расписание в диалоговом окне Параметры проекта для режима вычисления устанавливается значение Вручную).

  • ProjectGhostTaskAreStale — аналогично ProjectHierarchyNotSynchronized, но предупреждает о данных связи между проектами. Возможно, главный проект не существует, но данные проекта с одной стороны связи свежее, чем данные с другой стороны.

О доступе к базе данных Project Server

Если у вас есть разрешения Microsoft SQL Server для доступа к базе данных Project Server, вы можете считывать таблицы и представления отчетов. Если у вас есть необходимые разрешения Project Server, вы также можете считывать данные из таблиц отчетов с помощью запросов OData. Разработчикам настоятельно не рекомендуется выполнять прямой доступ к таблицам черновиков, опубликованным или архивным таблицам через запросы SQL Server в базу данных Project Server. Внесение прямых изменений в любую таблицу базы данных Project Server может привести к повреждению целостности данных и создать помехи для доступа к базе данных через службу очереди Project Server.

Важно!

Ничто не препятствует использованию прямого программного доступа к базе данных для обновления данных. Следует помнить, что кэш, опубликованные таблицы и таблицы отчетов Project Professional зависят от протокола синхронизации кэша, который может быть поврежден в результате прямого изменения данных. Если вы повредили базу данных Project Server или испортили клиентские кэши Project Professional, используя прямой доступ для изменения данных, то техническая поддержка по продукту не сможет вам помочь!

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

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

Схемы для таблиц черновиков, опубликованных и архивных таблиц не задокументированы. Таблицы отчетов упрощают создание отчетов, а схемы для таблиц и представлений отчетов задокументированы в загружаемом SDK Project 2013. Для получения информации о схеме данных отчета OData см. статью ProjectData — Справочник по службе Project OData.

См. также