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

Материал из ПланФикс
Перейти к: навигация, поиск
Строка 36: Строка 36:
 
         <!-- ... -->
 
         <!-- ... -->
 
       </groups>
 
       </groups>
     </workers>
+
     </workers>  
    <periodicity>
 
      <!-- ежедневно -->
 
      <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>
Строка 114: Строка 83:
 
|-
 
|-
 
|workers.groups.id ||int || идентификатор группы||
 
|workers.groups.id ||int || идентификатор группы||
|-
 
|periodicity ||node ||задает периодичность выполнения задачи || смотри описание структуры узлов ''daily'', ''weekly'' и ''monthly'' ниже
 
|-
 
|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>
 
  
 
Ответ при удачном выполнении операции:
 
Ответ при удачном выполнении операции:

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

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

<?xml version="1.0" encoding="UTF-8"?>
<request method="task.add">
  <account></account>
  <sid></sid>
  <task>
    <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>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </workers>    
  </task>
  <signature></signature>
</request>
Название Тип Значение Примечание
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.users корневой элемент списка пользователей, которым поставлена задача
workers.users.id int идентификатор пользователя которому поставлена задача
workers.groups корневой элемент списка групп, которым поставлена задача
workers.groups.id int идентификатор группы

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

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

<?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>


Перейти