Создание Проекта и Задач в проекте из 1С 8.3 в MS Project 2016 (обычные формы)

04.12.18

Интеграция - Внешние источники данных

Внешняя обработка (используя методы HTTP запросов и Json) для создания из 1С Проекта в MS Project Server 2016 и создание Задачи в Проекте. Обработка тестировалась на конфигурации 1С:УПП+CRM (SQL) 1.3.112/1.4.11 платформа 1С Предприятие: 8.3.10.2252, обычные формы.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Создание Проекта и Задач в проекте из 1С 8.3 в MS Project 2016:
.epf 12,36Kb ver:8.3/2016
12
12 Скачать (2 SM) Купить за 2 150 руб.

Основное по работе с обработкой:
1. Для создания проекта обязательны для заполнения поля:

  • Сервер
  • Login
  • Password
  • Наименование проекта

2.Для создания задачи в проекте обязательны для заполнения поля:

  • Сервер
  • Login
  • Password
  • Наименование задачи
  • MSProject- ссылка на проект с ID проекта (пример:-https://Сервер/_api/ProjectServer/Projects('857b301a-c9ec-e811-ab63-66a60938dcd6')- где 857b301a-c9ec-e811-ab63-66a60938dcd6- ID)
  • Длительность задачи - иначе длительность равна 0, также от указанной буквы, зависит в чем измеряется длительность (в моем примере 80ч=10 рабочим дням).

3. Можно последовательно создать проект и создать в нем задачу, достаточно заполнить поля шапки:

  • Сервер
  • Login
  • Password
  • Наименование проекта
  • Наименование задачи
  • Длительность задачи - иначе длительность равна 0, также от указанной буквы, зависит в чем измеряется длительность (в моем примере 80ч=10 рабочим дням)
    Далее последовательно нажимаем Создать Проект и Добавить задачу.

Очень мало информации есть по REST API в Project Server, еще меньше ее на русском языке. Грусть печаль, но для умеющих читать английскую техническую документацию и умеющих читать/писать в JavaScript все проще (вот чем я пользовалась Создание, получение, обновление и удаление проектов с использованием JavaScript Project Server здесь все касается PS 2013, Project-REST-Basic-Operations/createproject.ps1- пример кода для его анализа, CSOM and REST samples showing task indent and insertCalling SharePoint REST API with POST from FiddlerDraftProject class- помогло с решение последнего нюанса).
Использую HTTPЗапрос+Json. Нашла прекрасную процедуру+функцию для парсинга Json и возможности получения необходимых данных в данной статье: Импорт из Json в 1с. Так же очень понравилась статья про Таймамуты: Паузы при исполнении кода (Sleep для 1С) - паузы в моем коде установлены с учетом нашего Сервера (паузы нужны не везде, но все же выбран не нагружающий вариант). Для чтения ошибок очень хорошо помогли данные ссылки: Коды ошибок Project Server и Справочник по кодам статуса HTTP,  ДЕКOДИРОВАТЬ ТЕКСТ \U0XXX ОНЛАЙН- очень помогает, тк многие ошибки возвращаются со строками такого плана "\u041d\u043e\u0432\u043e\u0435 \u0432"
 .
И ГЛАВНОЕ СПАСИБО коллегам на работе- нюансы со статикой подключения и пример работы в Java были предоставлены ими (пример взятый у коллег выложить не могу, но схожее указано в ссылках выше).

И так по шагам разбираю действия обработки:

Создание Проекта:
1."/_api/contextinfo" - метод получения информации о подключении.
Я бы сказала метод фиксации подключения, мы в ответ получаем текст json, выбираем "FormDigestValue" полностью с датой, временем и с цифрами в конце, определяем как ID подключения и в дальнейшем при работе указываем в заголовке "X-RequestDigest". Это очень важный момент, мало где можно найти информацию о необходимости такой статистики подключения.
Заголовки:
"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true"   
         

2. "/_api/ProjectServer/Projects/Add()" - метод добавления проекта. К данному методу формируется временный файл json с параметрами, которые обязательны при заполнении, id проекта при этом формируется автоматически уже в самом Project-е. Дата старта, если ее не указывать будет равна текущей дате.
Заголовки:
"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true"
   

"X-HTTP-Method", "POST" - можно не указывать
"X-RequestDigest","FormDigestValue" - id подключения

Пример json:
      {
      'parameters':{
      'Name':'"1C тест test',
      'Start':2018-11-07T14:37:08'}
       }

 

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

Создание задачи в Проекте:
1." /_api/contextinfo"- аналогично действиям выше.
Заголовки:
"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true" 

2. "/_api/ProjectServer/Projects('%s')/checkout()" - где %s-  id проекта, метод получения Проекта (в Project проект будет извлечен для изменений). Без извлечения проекта, добавлять и изменять в нем данные не получится. Так же извлекать проект необходимо при работе с Дополнительными параметрами проекта. 
Заголовки:

"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true"   

"X-HTTP-Method", "POST" - можно не указывать
"X-RequestDigest","FormDigestValue" - id подключения

3."/_api/ProjectServer/Projects('%s')/Draft/Tasks/Add()" - метод добавления задачи. К данному методу формируется временный файл json с параметрами, которые обязательны при заполнении, id задачи при этом формируется автоматически уже в самом Project-е. Дата старта, если ее не указывать будет равна дате старта проекта. Продолжительность если не указать букву, будет автоматически измеряться в стандартной единице измерения (в моем примере стандартная единица измерения "день"-соответствует букве "д", так же можно указать в "часах", соответственно указав после цифр букву "ч", при этом учитывается рабочее время 8 часовой рабочий день 5/7 дней в неделю.)
Заголовки:

"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true"   

"X-HTTP-Method", "POST" - можно не указывать
"X-RequestDigest","FormDigestValue" - id подключения

Пример json:
      {
      'parameters':{
      'Name':'"1C test',
      'Start':2018-11-07T14:37:08',
      'Duration':'5'}
       }

4. "/_api/ProjectServer/Projects('%s')/Draft/update()" -  метод обновления данных в проекте. Необходимо зафиксировать внесенные данные в очереди на публикацию.
Заголовки:

"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true"   

"X-HTTP-Method", "POST" - можно не указывать
"X-RequestDigest","FormDigestValue" - id подключения

5. "/_api/ProjectServer/Projects('%s')/Draft/Publish(true)" - метод публикации проекта. Вот тут была своя "заковырка". Вроде и передаю уже в самом ресурсе (True), но оказалось не достаточно. Необходимо формировать временный файл json с указанием  checkIn=true.
Заголовки:

"Accept","application/json;odata=verbose"
"Content-Type", "application/json"
"odata","verbose"
"X-RequestForceAuthentication","true"   

"X-HTTP-Method", "POST" - можно не указывать
"X-RequestDigest","FormDigestValue" - id подключения

Пример json:
      {
      'checkIn':'true'
       }

Все, далее опубликуется проект с задачей. 


Хочу заметить, что в процессе тестирования создалось много задач не опубликованных и не видимых для пользователей.  И хотя проект был принудительно возвращен, задачи не появлялись в списке и при этом ни куда не пропали. При первой же удачной попытке публикации проекта из 1С с задачами, все эти ранее созданные  задачи так же отобразились!!!!

Видимо, здесь акцент идет на очередь публикации из метода Update. Но пока точно не проверено.

ЗЫ: Надеюсь, для кого-то сделала доброе дело)))

ProjectServer Rest API Json обычные формы

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    23567    28    49    

42

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    26885    26    1    

28

Внешние источники данных Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Готовая интеграция для управляемых форм. Встраивается в вашу 1С как расширение. Реализует автоматический обмен данными между 1С (1С:Фитнес клуб и аналогов) и СКУД RusGuard, автоматизирует бизнес-процессы по созданию и учету сотрудников в СКУД. Значительно упрощает работу специалистов отдела кадров и отдела безопасности: избавляет от двойного ввода информации в 1С и СКУД.

94999 руб.

11.07.2024    1414    1    0    

3

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    48958    101    106    

72
Оставьте свое сообщение