Создание Проекта и Задач в проекте из 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С 8.3 в MS Project 2016:
.epf 12,36Kb
11
.epf 8.3/2016 12,36Kb 11 Скачать

Основное по работе с обработкой:
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 обычные формы

См. также

Перенос данных из Парус 8 в ЗГУ 3

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

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

84000 руб.

19.08.2020    22660    19    1    

22

Экстрактор данных 1С в BI - выгрузка данных из 1С в BI-аналитику

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

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

15.11.2022    13898    12    SQV0    47    

30

Перенос данных из Парус 10 в ЗГУ ред.3

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

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

60000 руб.

05.10.2022    9326    9    8    

11

Перенос данных из Парус 7.хх в ЗГУ ред.3

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

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

24000 руб.

24.04.2017    48914    97    163    

86

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

24000 руб.

16.11.2018    30104    20    31    

21

Загрузка в БГУ из УРМ "Криста"

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

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Есть Демо доступ на вкладке Бесплатные файлы на 1 месяц со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    38572    136    90    

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