ПланФикс API task.update — различия между версиями

Материал из ПланФикс
Перейти к: навигация, поиск
(Перейти)
 
(не показана 21 промежуточная версия 2 участников)
Строка 1: Строка 1:
 +
{{#seo:
 +
|title=ПланФикс API task.update
 +
|titlemode=append
 +
|keywords=планфикс, задачи, апи, api
 +
|description=ПланФикс API task.update
 +
}}
 +
 
Функция обновления информации задачи. Формат запроса:
 
Функция обновления информации задачи. Формат запроса:
 
<source lang="xml">
 
<source lang="xml">
Строка 5: Строка 12:
 
   <account></account>
 
   <account></account>
 
   <sid></sid>
 
   <sid></sid>
 +
  <silent></silent>
 
   <task>
 
   <task>
 
     <id></id>
 
     <id></id>
 +
    <general></general>
 
     <title></title>
 
     <title></title>
 
     <description></description>
 
     <description></description>
 
     <importance></importance>
 
     <importance></importance>
 
     <status></status>
 
     <status></status>
 +
    <statusSet></statusSet>
 
     <checkResult></checkResult>
 
     <checkResult></checkResult>
 
     <owner>
 
     <owner>
Строка 24: Строка 34:
 
       <id></id>
 
       <id></id>
 
     </client>
 
     </client>
 +
    <startDateIsSet></startDateIsSet>
 +
    <startDate></startDate>
 +
    <startTimeIsSet></startTimeIsSet>
 
     <startTime></startTime>
 
     <startTime></startTime>
 +
    <endDateIsSet></endDateIsSet>
 +
    <endDate></endDate>
 +
    <endTimeIsSet></endTimeIsSet>
 
     <endTime></endTime>
 
     <endTime></endTime>
 +
    <isSummary></isSummary>
 +
    <duration></duration>
 +
    <durationUnit></durationUnit>
 +
    <durationIsSet></durationIsSet>
 
     <workers>
 
     <workers>
 
       <users>
 
       <users>
Строка 37: Строка 57:
 
         <!-- ... -->
 
         <!-- ... -->
 
       </groups>
 
       </groups>
     </workers>
+
     </workers>    
     <periodicity>
+
     <members>
       <!-- ежедневно -->
+
       <users>
      <daily>
+
         <id></id>
         <type>{EVERY|EVERY_WORKING|AFTER_COMPLETE}</type>
+
         <id></id>
         <shift></shift>
+
        <!-- ... -->
      </daily>
+
       </users>
      <!-- еженедельно -->
+
      <groups>
       <weekly>
+
         <id></id>
         <type>{EVERY|AFTER_COMPLETE}</type>
+
         <id></id>
         <shift></shift>
+
         <!-- ... -->
         <days><!-- список дней через запятую --></days>
+
      </groups>
      </weekly>
+
    </members>    
      <!-- ежемесячно -->
+
    <auditors>
       <monthly>
+
       <users>
         <type>{AFTER_COMPLETE|DAY_OF_MONTH|BY_CONDITION}</type>
+
         <id></id>
         <month></month>
+
         <id></id>
         <day></day>
+
         <!-- ... -->
        <dayType></dayType>
+
      </users>
       </monthly>
+
       <groups>
 
+
        <id></id>
      <startDate></startDate>
+
         <id></id>
      <endCondition>
+
         <!-- ... -->
         <type></type>
+
      </groups>
         <date></date>
+
    </auditors>  
        <repeatCount></repeatCount>
+
    <customData>
      </endCondition>
+
       <customValue>
       <notify>
+
         <id></id>
         <type></type>
+
         <value></value>
         <day></day>
+
       </customValue>
       </notify>
+
      <!-- ... -->
     </periodicity>
+
     </customData>
 
   </task>
 
   </task>
 
   <signature></signature>
 
   <signature></signature>
Строка 76: Строка 96:
 
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание  
 
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание  
 
|-
 
|-
|id||int ||идентификатор обновляемой задачи || обязательный параметр
+
|silent||bool ||при значении 1 - об изменении не рассылаются уведомления, не создаются действия и записи в логе задачи || обязательно значение 1 при массовых периодических обновлениях задач
 +
|-
 +
|id||int ||идентификатор обновляемой задачи ||  
 +
|-
 +
|general||int ||номер задачи (если задан, используется вместо id)||
 
|-
 
|-
 
|title ||string ||название задачи ||
 
|title ||string ||название задачи ||
Строка 84: Строка 108:
 
|importance || enum||срочность || перечень допустимых значений смотри в разделе [[ПланФикс API:Срочность задачи|срочность задач]]
 
|importance || enum||срочность || перечень допустимых значений смотри в разделе [[ПланФикс API:Срочность задачи|срочность задач]]
 
|-
 
|-
|status ||enum ||статус задачи || перечень допустимых значений смотри в разделе [[ПланФикс API:Статусы задач|статусы задач]]
+
|status ||enum/int ||статус задачи || Допустимы значения из раздела [[ПланФикс API:Системные статусы задач|Системные статусы задач]] или идентификаторы статусов, полученные в результате вызова функции [[ПланФикс API taskStatus.getListOfSet|taskStatus.getListOfSet]]
 +
|-
 +
|statusSet ||int ||процесс задачи || Идентификаторы процессов можно получить в результате вызова функции [[ПланФикс API taskStatus.getSetList|taskStatus.getSetList]]
 
|-
 
|-
 
|checkResult ||bool ||является ли задача задачей с обязательной проверкой результата ||
 
|checkResult ||bool ||является ли задача задачей с обязательной проверкой результата ||
Строка 104: Строка 130:
 
|client.id ||int ||идентификатор контрагента ||допустимо значение 0
 
|client.id ||int ||идентификатор контрагента ||допустимо значение 0
 
|-
 
|-
|startTime ||DateTime || время начала работы || в интерфейсе ПланФикс поле ''приступить к работе''
+
|startDateIsSet ||bool || задана ли дата начала работы ||  
 
|-
 
|-
|endTime ||DateTime || время окончания задачи ||в интерфейсе ПланФикс поле ''закончить работу До''
+
|startDate ||Date || дата начала работы || в интерфейсе ПланФикс поле ''приступить к работе''
 
|-
 
|-
|workers || ||корневой элемент списка исполнителей задачи ||
+
|startTimeIsSet ||bool || задано ли время начала работы ||  
 
|-
 
|-
|workers.users || || корневой элемент списка пользователей, которым поставлена задача ||
+
|startTime ||Time || время начала работы || в интерфейсе ПланФикс поле ''приступить к работе''
 
|-
 
|-
|workers.users.id ||int ||идентификатор пользователя которому поставлена задача ||
+
|endDateIsSet ||bool || задана ли дата завершения работы ||  
 
|-
 
|-
|workers.groups || ||корневой элемент списка групп, которым поставлена задача ||
+
|endDate ||Date || дата завершения работы || в интерфейсе ПланФикс поле ''закончить работу До''
 
|-
 
|-
|workers.groups.id ||int || идентификатор группы||
+
|endTimeIsSet ||bool || задано ли время завершения работы ||  
 
|-
 
|-
|periodicity ||node ||задает периодичность выполнения задачи || смотри описание структуры узлов ''daily'', ''weekly'' и ''monthly'' ниже
+
|endTime ||Time || время завершения работы || в интерфейсе ПланФикс поле ''закончить работу До''
 
|-
 
|-
|periodicity.startDate || DateTime || начиная с этой даты начинает работать повторение задачи ||
+
|isSummary ||bool  - 0/1|| задача является суммарной ||  
 
|-
 
|-
|periodicity.endCondition || || условия окончания повторения ||
+
|durationIsSet||bool - 0/1|| задана ли длительность ||  
 
|-
 
|-
|periodicity.endCondition.type ||enum || условие окончания || допустимые значения: '''ENDLESS''' - нет конечной даты, '''BYCOUNT''' - После ''repeatCount '' повторений, '''BYENDDATE''' - до даты определенной в '''date'''
+
|duration||int|| длительность ||  
 
|-
 
|-
|periodicity.endCondition.date ||DateTime || дата, после которой повторение задачи перестает работать || используется при type=BYENDDATE
+
|durationUnit||int|| 0 - минуты, 1 - часы, 2 - дни ||  
 
|-
 
|-
|periodicity.endCondition.repeatCount || int|| количество повторений, после которого задача перестает повторяться || используется при type=BYCOUNT
+
|workers || ||корневой элемент списка исполнителей задачи ||
 
|-
 
|-
|periodicity.notify || ||уведомления ||
+
|workers.users || || корневой элемент списка пользователей, которым поставлена задача ||
 
|-
 
|-
|periodicity.notify.type ||int || тип период, 0 - рабочий день, 1 - неделя ||
+
|workers.users.id ||int ||идентификатор пользователя которому поставлена задача ||
 
|-
 
|-
|periodicity.notify.day || int|| размер период || если type=0 и day=2, то еведомление прийдет за 2 рабочих дня до начала задачи
+
|workers.groups || ||корневой элемент списка групп, которым поставлена задача ||
 
|-
 
|-
|}
+
|workers.groups.id ||int || идентификатор группы||
Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача. Периодичность - не обязательный параметр. Внутри тега '''periodicity''' может быть только один из перечисленных элементов: ''daily'', ''weekly'', ''monthly''.
 
 
 
=== описание параметра periodicity ===
 
Описание параметра ''daily'', параметры ''weekly'' и ''monthly'' в этом случае не могут быть заданы. Указывает что задача должна повторяться ежедневно, согласно установленным критериям:
 
{| class="wikitable" style="margin-top: 1em; width:100% "
 
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание
 
 
|-
 
|-
|type ||enum||определяет периодичность || допустимые значения EVERY или EVERY_WORKING, или AFTER_COMPLETE
+
|members || ||корневой элемент списка участников задачи ||
 
|-
 
|-
|shift || int||определяет сдвиг в днях || используется только при значениях type равным  EVERY или AFTER_COMPLETE
+
|members.users || || корневой элемент списка участников задачи ||
 
|-
 
|-
|}
+
|members.users.id ||int ||идентификатор участника задачи ||
Значение EVERY интерпретируется как каждый N-й день, заданный в параметре '''shift'''. EVERY_WORKING - каждый рабочий день. Значение AFTER_COMPLETE интерпретируется как ставить новую задачу через N-й день после каждого завершения, заданный в параметре '''shift'''.
 
 
 
Описание параметра ''weekly'', параметры ''daily'' и ''monthly'' в этом случае не могут быть заданы. Указывает что задача должна повторяться еженедельно, согласно установленным критериям:
 
{| class="wikitable" style="margin-top: 1em; width:100% "
 
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание
 
 
|-
 
|-
|type ||enum || определяет периодичность || допустимые значения EVERY или AFTER_COMPLETE
+
|members.groups || ||корневой элемент списка групп участников ||
 
|-
 
|-
|shift ||int || сдвиг в днях ||  
+
|members.groups.id ||int || идентификатор группы участников ||
 
|-
 
|-
|days ||set/list || перечень дней недели, разделитель символ запятой (,). понедельник имеет индекс 1, воскресение - 7. || используется только при type=AFTER_COMPLETE
+
|auditors || ||корневой элемент списка аудиторов задачи, содержимое аналогично workers и members ||
 
|-
 
|-
|}
+
|customData|| ||значения пользовательских полей задачи ||
Значение AFTER_COMPLETE интерпретируется как: ставить задачу через N-й неделю после каждого завершения, заданную в параметре '''shift'''.
 
 
 
Описание параметра ''monthly'', параметры ''daily'' и ''weekly'' в этом случае не могут быть заданы. Указывает что задача должна повторяться ежемесяно, согласно установленным критериям:
 
{| class="wikitable" style="margin-top: 1em; width:100% "
 
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание
 
|-
 
|type ||enum || периодичность || допустимые значения AFTER_COMPLETE или DAY_OF_MONTH, или BY_CONDITION
 
|-
 
|month ||int ||задает месяц в/через который должно действие/задача повторяться ||
 
 
|-
 
|-
|day ||int ||задает день в/через который должна задача повторяться || не используется при type=AFTER_COMPLETE
+
|customData.customValue.id|| ||идентификатор пользовательского поля задачи ||
 
|-
 
|-
|dayType ||enum || определяет тип дня || используется при type=BY_CONDITION. Допустимые значения смотри в разделе [[ПланФикс API:Тип дня для повторяющейся задачи|тип дня для повторяющейся задачи]]
+
|customData.customValue.value|| ||значение пользовательского поля задачи || (для полей типа набор задач, список сотрудников, набор записей справочника - идентификаторы через запятую в квадратных скобках)
 
|-
 
|-
 
|}
 
|}
Все параметры, за исключением '''id''', являются не обязательными и если они опущены, то не происходит обновление информации данного параметра
+
Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача.
  
 +
Не указанные параметры (за исключением '''id''') заменяются значениями по умолчанию.
 +
В результате выполнения запроса данные задачи обновляются на указанные в запросе.
  
 
Ответ при удачном выполнении функции:
 
Ответ при удачном выполнении функции:
Строка 204: Строка 212:
 
</response>
 
</response>
 
</source>
 
</source>
 
 
  
 
== Перейти ==
 
== Перейти ==

Текущая версия на 11:12, 11 июня 2020

Функция обновления информации задачи. Формат запроса:

<?xml version="1.0" encoding="UTF-8"?>
<request method="task.update">
  <account></account>
  <sid></sid>
  <silent></silent>
  <task>
    <id></id>
    <general></general>
    <title></title>
    <description></description>
    <importance></importance>
    <status></status>
    <statusSet></statusSet>
    <checkResult></checkResult>
    <owner>
      <id></id>
    </owner>
    <parent>
      <id></id>
    </parent>
    <project>
      <id></id>
    </project>
    <client>
      <id></id>
    </client>
    <startDateIsSet></startDateIsSet>
    <startDate></startDate>
    <startTimeIsSet></startTimeIsSet>
    <startTime></startTime>
    <endDateIsSet></endDateIsSet>
    <endDate></endDate>
    <endTimeIsSet></endTimeIsSet>
    <endTime></endTime>
    <isSummary></isSummary>
    <duration></duration>
    <durationUnit></durationUnit>
    <durationIsSet></durationIsSet>
    <workers>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </workers>      
    <members>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </members>      
    <auditors>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </auditors> 
    <customData>
      <customValue>
        <id></id>
        <value></value>
      </customValue>
      <!-- ... -->
    </customData>
  </task>
  <signature></signature>
</request>
Название Тип Значение Примечание
silent bool при значении 1 - об изменении не рассылаются уведомления, не создаются действия и записи в логе задачи обязательно значение 1 при массовых периодических обновлениях задач
id int идентификатор обновляемой задачи
general int номер задачи (если задан, используется вместо id)
title string название задачи
description string о чем задача, описание
importance enum срочность перечень допустимых значений смотри в разделе срочность задач
status enum/int статус задачи Допустимы значения из раздела Системные статусы задач или идентификаторы статусов, полученные в результате вызова функции taskStatus.getListOfSet
statusSet int процесс задачи Идентификаторы процессов можно получить в результате вызова функции taskStatus.getSetList
checkResult bool является ли задача задачей с обязательной проверкой результата
owner создатель задачи необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция
owner.id int идентификатор пользователя
parent над задача необязательное поле
parent.id int идентификатор задачи, которая будет являться над задачей допустимо значение 0 (ноль)
project в рамках какого проекта поставлена задача
project.id int идентификатор проекта
client контрагент необязательный параметр
client.id int идентификатор контрагента допустимо значение 0
startDateIsSet bool задана ли дата начала работы
startDate Date дата начала работы в интерфейсе ПланФикс поле приступить к работе
startTimeIsSet bool задано ли время начала работы
startTime Time время начала работы в интерфейсе ПланФикс поле приступить к работе
endDateIsSet bool задана ли дата завершения работы
endDate Date дата завершения работы в интерфейсе ПланФикс поле закончить работу До
endTimeIsSet bool задано ли время завершения работы
endTime Time время завершения работы в интерфейсе ПланФикс поле закончить работу До
isSummary bool - 0/1 задача является суммарной
durationIsSet bool - 0/1 задана ли длительность
duration int длительность
durationUnit int 0 - минуты, 1 - часы, 2 - дни
workers корневой элемент списка исполнителей задачи
workers.users корневой элемент списка пользователей, которым поставлена задача
workers.users.id int идентификатор пользователя которому поставлена задача
workers.groups корневой элемент списка групп, которым поставлена задача
workers.groups.id int идентификатор группы
members корневой элемент списка участников задачи
members.users корневой элемент списка участников задачи
members.users.id int идентификатор участника задачи
members.groups корневой элемент списка групп участников
members.groups.id int идентификатор группы участников
auditors корневой элемент списка аудиторов задачи, содержимое аналогично workers и members
customData значения пользовательских полей задачи
customData.customValue.id идентификатор пользовательского поля задачи
customData.customValue.value значение пользовательского поля задачи (для полей типа набор задач, список сотрудников, набор записей справочника - идентификаторы через запятую в квадратных скобках)

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

Не указанные параметры (за исключением id) заменяются значениями по умолчанию. В результате выполнения запроса данные задачи обновляются на указанные в запросе.

Ответ при удачном выполнении функции:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <task>
    <id></id>
  </task>
</response>
Название Тип Значение Примечание
task.id int идентификатор обновляемой задачи


В противном случае будет возвращен ответ с ошибкой:

<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
  <code></code>
</response>

Перейти