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

Материал из ПланФикс
Перейти к: навигация, поиск
Строка 47: Строка 47:
 
         <!-- ... -->
 
         <!-- ... -->
 
       </delGroups>
 
       </delGroups>
     </workers>
+
     </workers>  
    <periodicity unset="1">
 
      <!-- ежедневно -->
 
      <daily>
 
        <type></type>
 
        <shift></shift>
 
      </daily>
 
      <!-- еженедельно -->
 
      <weekly>
 
        <type></type>
 
        <shift></shift>
 
        <days></days>
 
      </weekly>
 
      <!-- ежемесячно -->
 
      <monthly>
 
        <type></type>
 
        <month></month>
 
        <day></day>
 
        <dayType></dayType>
 
      </monthly>
 
 
 
      <startDate></startDate>
 
      <endCondition>
 
        <type></type>
 
        <date></date>
 
        <repeatCount></repeatCount>
 
      </endCondition>
 
      <notify>
 
        <type></type>
 
        <day></day>
 
      </notify>
 
    </periodicity>
 
 
   </task>
 
   </task>
 
   <signature></signature>
 
   <signature></signature>
Строка 135: Строка 104:
 
|-
 
|-
 
|workers.delGroups.id ||int || идентификатор группы||
 
|workers.delGroups.id ||int || идентификатор группы||
|-
 
|'''periodicity''' ||node ||задает периодичность выполнения задачи || смотри описание структуры узлов ''daily'', ''weekly'' и ''monthly'' ниже
 
|-
 
|'''periodicity''' unset || int || наличие этого атрибута отменяет (удаляет) связанную с задачей периодичность || содержимое внутри узла игнорируется
 
|-
 
|periodicity.startDate || DateTime || начиная с этой даты начинает работать повторение задачи ||
 
|-
 
|periodicity.endCondition || || условия окончания повторения ||
 
|-
 
|periodicity.endCondition.type ||enum || условие окончания || допустимые значения: '''ENDLESS''' - нет конечной даты, '''BYCOUNT''' - После ''repeatCount '' повторений, '''BYENDDATE''' - до даты определенной в '''date'''
 
|-
 
|periodicity.endCondition.date ||DateTime || дата, после которой повторение задачи перестает работать || используется при type=BYENDDATE
 
|-
 
|periodicity.endCondition.repeatCount || int|| количество повторений, после которого задача перестает повторяться || используется при type=BYCOUNT
 
|-
 
|periodicity.notify || ||уведомления ||
 
|-
 
|periodicity.notify.type ||int || тип период, 0 - рабочий день, 1 - неделя ||
 
|-
 
|periodicity.notify.day || int|| размер период || если type=0 и day=2, то еведомление прийдет за 2 рабочих дня до начала задачи
 
 
|-
 
|-
 
|}
 
|}
Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача. Периодичность - не обязательный параметр. Внутри тега '''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
 
|-
 
|shift || int||определяет сдвиг в днях || используется только при значениях type равным  EVERY или AFTER_COMPLETE
 
|-
 
|}
 
Значение 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
 
|-
 
|shift ||int || сдвиг в днях ||
 
|-
 
|days ||set/list || перечень дней недели, разделитель символ запятой (,). понедельник имеет индекс 1, воскресение - 7. || используется только при type=EVERY
 
|-
 
|}
 
Значение 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 или EVERY, или EXACT
 
|-
 
|month ||int ||задает месяц в/через который должно действие/задача повторяться ||
 
|-
 
|day ||int ||задает день в/через который должна задача повторяться || не используется при type=AFTER_COMPLETE
 
|-
 
|dayType ||enum || определяет тип дня || используется при type=EXACT. Допустимые значения смотри в разделе [[ПланФикс API:Тип дня для повторяющейся задачи|тип дня для повторяющейся задачи]]
 
|-
 
|}
 
EXACT - ежемесячно в '''day''' день '''dayType''' каждого '''month''' месяца;<br>
 
EVERY - ежемесячно повторять '''day''' числа каждого '''month''' месяца;<br>
 
AFTER_COMPLETE - ежемесячно ставить новую задачу через '''month''' месяц после каждого завершения.<br>
 
 
Все параметры, за исключением '''id''', являются не обязательными и если они опущены, то не происходит обновление информации данного параметра
 
Все параметры, за исключением '''id''', являются не обязательными и если они опущены, то не происходит обновление информации данного параметра
 
  
 
Ответ при удачном выполнении функции:
 
Ответ при удачном выполнении функции:

Версия 09:09, 26 мая 2012

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

<?xml version="1.0" encoding="UTF-8"?>
<request method="task.update">
  <account></account>
  <sid></sid>
  <task>
    <id></id>
    <title></title>
    <description></description>
    <importance></importance>
    <status></status>
    <checkResult></checkResult>
    <owner>
      <id></id>
    </owner>
    <parent>
      <id></id>
    </parent>
    <project>
      <id></id>
    </project>
    <client>
      <id></id>
    </client>
    <startTime></startTime>
    <endTime></endTime>
    <workers>
      <addUsers>
        <id></id>
        <id></id>
        <!-- ... -->
      </addUsers>
      <addGroups>
        <id></id>
        <id></id>
        <!-- ... -->
      </addGroups>
      <delUsers>
        <id></id>
        <id></id>
        <!-- ... -->
      </delUsers>
      <delGroups>
        <id></id>
        <id></id>
        <!-- ... -->
      </delGroups>
    </workers>    
  </task>
  <signature></signature>
</request>
Название Тип Значение Примечание
id int идентификатор обновляемой задачи обязательный параметр
title string название задачи
description string о чем задача, описание
importance enum срочность перечень допустимых значений смотри в разделе срочность задач
status enum статус задачи перечень допустимых значений смотри в разделе статусы задач
checkResult bool является ли задача задачей с обязательной проверкой результата
owner создатель задачи необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция
owner.id int идентификатор пользователя
parent над задача необязательное поле
parent.id int идентификатор задачи, которая будет являться над задачей допустимо значение 0 (ноль)
project в рамках какого проекта поставлена задача
project.id int идентификатор проекта
client контрагент необязательный параметр
client.id int идентификатор контрагента допустимо значение 0
startTime DateTime время начала работы в интерфейсе ПланФикс поле приступить к работе
endTime DateTime время окончания задачи в интерфейсе ПланФикс поле закончить работу До
workers корневой элемент списка исполнителей задачи
workers.addUsers корневой элемент списка пользователей, которые подключаются к задаче
workers.addUsers.id int идентификатор пользователя, который подключается к задаче
workers.addGroups корневой элемент списка групп, которые подключаются к задаче поставлена задача
workers.addGroups.id int идентификатор группы
workers.delUsers корневой элемент списка пользователей, которые удаляются из списка исполнителей
workers.delUsers.id int идентификатор пользователя, который удаляется из списка исполнителей
workers.delGroups корневой элемент списка групп, которые удаляются из списка исполнителей
workers.delGroups.id int идентификатор группы

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

Все параметры, за исключением 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>

Перейти