Создание Проекта и Задач в проекте из 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 обычные формы

См. также

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

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

120000 руб.

19.08.2020    26468    26    1    

28

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

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

28500 руб.

15.11.2022    22950    24    49    

39

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

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

94999 руб.

11.07.2024    1305    1    0    

3

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

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

13200 руб.

19.12.2016    48668    98    106    

70

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

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

84000 руб.

24.04.2017    52677    104    165    

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