Docs

Docs

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Интеграция MS Project

Интеграция MS Project

Назначение

Раздел описывает загрузку и выгрузку данных проекта при обмене с Microsoft Project. В каталоге отмечено, что явная реализация обмена с MS Project в текущих приложениях (apps/) не найдена; базовый проектный контур Dinext (Project, Task) служит основой для возможного обмена и для анализа требований к интеграции.

Цели и задачи

  • При необходимости синхронизировать иерархию задач и проектов между Dinext и MS Project.
  • Выгружать проекты и задачи в формате, пригодном для импорта в MS Project (например, XML, MPP через конвертеры).
  • Загружать данные из MS Project в проекты и задачи Dinext с сохранением связей и сроков.
  • Сохранять единообразие планов при работе части команды в MS Project и части в Dinext.
  • Использовать каталог и описание как отправную точку для анализа требований и проектирования интеграции.

Для кого

  • Руководители проектов и планировщики, использующие MS Project для планирования.
  • Администраторы и интеграторы при проектировании и внедрении обмена.
  • Разработчики при реализации экспорта/импорта (форматы MS Project, API или файловый обмен).

Основные понятия

  • MS Project — продукт Microsoft для управления проектами; форматы MPP, XML (Project XML).
  • Project, Task — базовые объекты проекта и задачи в Dinext; структура полей (название, сроки, предшественники, ресурсы) может быть сопоставлена с полями MS Project для обмена.
  • Экспорт — формирование файла (XML, CSV или иной) из данных Project и Task с иерархией и зависимостями.
  • Импорт — разбор файла из MS Project и создание/обновление Project и Task в Dinext с маппингом полей.
  • Явная реализация в репозитории приложений не указана; внешние источники и требования к интеграции собираются отдельно.

Основные сущности / объекты

  • Project, Task — базовый контур для возможного обмена.
  • Форматы MS Project: MPP (бинарный), Project XML; сторонние библиотеки и конвертеры для чтения/записи.
  • Кастомные приложения или скрипты для экспорта/импорта — при разработке интеграции в рамках проекта.

Основные сценарии / процессов

Анализ требований к интеграции

  1. Зафиксировать сценарии: только экспорт из Dinext в MS Project, только импорт из MS Project, двусторонняя синхронизация.
  2. Определить маппинг полей: название задачи, даты начала/окончания, предшественники, длительность, ответственный, проект, иерархия (родительская задача).
  3. Выбрать формат обмена: Project XML предпочтителен для программной обработки; MPP может потребовать сторонних библиотек или ручного экспорта из MS Project в XML/CSV.
  4. Учесть ограничения: кастомные поля в Dinext , типы ресурсов и единицы в MS Project — не все могут быть перенесены без потерь; документировать потери и обходные пути.

Экспорт из Dinext в формат для MS Project

  1. Реализовать отчет или скрипт: выбор проекта, выборка Task с полями (name, subject, start_date, end_date, depends_on, parent_task и т.д.) и иерархией.
  2. Сформировать файл Project XML (или CSV с колонками, импортируемыми в MS Project) с учетом формата выбранной версии MS Project.
  3. Пользователь скачивает файл и открывает в MS Project; при необходимости выполняет ручную настройку полей при первом импорте шаблона.
  4. При повторных экспортах решать вопрос идентификации существующих задач (по name или внешнему id) для обновления в MS Project, если поддерживается сценарий обновления.

Импорт из MS Project в Dinext

  1. Пользователь экспортирует проект из MS Project в XML (или CSV) по инструкции.
  2. В Dinext реализовать загрузку: разбор файла, маппинг полей в Project и Task, создание иерархии задач и связей depends_on/parent.
  3. Валидация: обязательные поля, даты, уникальность. При ошибках — отчет по строкам; успешные строки импортировать.
  4. Учесть права доступа и владельца создаваемых документов; привязка к проекту и ролям по правилам компании.

Двусторонняя синхронизация (при реализации)

  1. Хранить внешний идентификатор (например, UID из MS Project) в кастомном поле Task или в отдельной таблице.
  2. При экспорте подставлять актуальные даты и статусы из Dinext; при импорте обновлять только разрешенные поля и только те задачи, для которых найден внешний id.
  3. Избегать конфликтов (одновременное изменение в обеих системах); определить главный источник по этапам или по регламенту (например, план — в MS Project, факт — в Dinext).
  4. Документировать сценарии и ограничения для пользователей.

Правила и ограничения

  • В текущем каталоге и перечне приложений явный модуль интеграции с MS Project не указан; реализация выполняется в рамках проекта или отдельного приложения.
  • Форматы MS Project (особенно MPP) могут меняться между версиями; предпочтительно использовать открытый Project XML и тестировать на целевых версиях MS Project.
  • Большие проекты (тысячи задач) могут требовать пакетной загрузки и ограничения по таймауту; выполнять импорт фоновой задачей при необходимости.

Результаты / отчетность

  • Файлы экспорта (XML/CSV) для открытия в MS Project.
  • Импортированные проекты и задачи в Dinext с сохраненной структурой и сроками.
  • Документация по маппингу полей и известным ограничениям интеграции.
  • При внедрении — регламент использования обмена (кто экспортирует/импортирует, как часто, как разрешать конфликты).

Типовые вопросы и ошибки (FAQ)

Где в Dinext реализован обмен с MS Project?

По каталогу явная реализация в приложениях не указана. Базовый контур — Project и Task в Dinext; интеграция может быть реализована отдельным приложением, скриптами экспорта/импорта или отчетами, формирующими файл для MS Project. Ищите в репозиториях проекта или закажите разработку по требованиям.

Какой формат использовать для импорта из MS Project?

Project XML (экспорт из MS Project: File > Save As > XML Format) удобен для разбора и маппинга. CSV с выбранными колонками тоже возможен, если в Dinext реализован парсер CSV и маппинг колонок к полям Task/Project.

Сохраняются ли зависимости между задачами при импорте?

Зависимости (предшественники) в MS Project соответствуют полям типа depends_on или связям в Task . При импорте нужно маппировать предшественников на ссылки на задачи в Dinext (по имени или по временному id при создании в нужном порядке). Реализация зависит от выбранного формата и кода импорта.

Связанные темы

Last updated 3 months ago
Was this helpful?
Thanks!