ПланФикс API task.update — различия между версиями
Seva (обсуждение | вклад)  (Новая страница: «Функция обновления информации задачи. Формат запроса: <source lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <reque...»)  | 
				Seva (обсуждение | вклад)   | 
				||
| Строка 70: | Строка 70: | ||
     </periodicity>  |      </periodicity>  | ||
   </task>  |    </task>  | ||
| + |   <signature></signature>  | ||
</request>  | </request>  | ||
</source>  | </source>  | ||
| + | {| class="wikitable" style="margin-top: 1em; width:100% "  | ||
| + | !width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание   | ||
| + | |-  | ||
| + | |id||int ||идентификатор обновляемой задачи || обязательный параметр  | ||
| + | |-  | ||
| + | |title ||string ||название задачи ||  | ||
| + | |-  | ||
| + | |description || string||о чем задача, описание ||  | ||
| + | |-  | ||
| + | |importance || enum||срочность || перечень допустимых значений смотри в разделе [[ПланФикс API:Срочность задачи|срочность задач]]  | ||
| + | |-  | ||
| + | |status ||enum ||статус задачи || перечень допустимых значений смотри в разделе [[ПланФикс API:Статусы задач|статусы задач]]  | ||
| + | |-  | ||
| + | |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 || идентификатор группы||  | ||
| + | |-  | ||
| + | |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=AFTER_COMPLETE  | ||
| + | |-  | ||
| + | |}  | ||
| + | Значение 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  | ||
| + | |-  | ||
| + | |dayType ||enum || определяет тип дня || используется при type=BY_CONDITION. Допустимые значения смотри в разделе [[ПланФикс API:Тип дня для повторяющейся задачи|тип дня для повторяющейся задачи]]  | ||
| + | |-  | ||
| + | |}  | ||
| + | Все параметры, за исключением '''id''', являются не обязательными и если они опущены, то не происходит обновление информации данного параметра  | ||
| + | |||
Ответ при удачном выполнении функции:  | Ответ при удачном выполнении функции:  | ||
Версия 06:51, 23 августа 2010
Функция обновления информации задачи. Формат запроса:
<?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>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </workers>
    <periodicity>
      <!-- ежедневно -->
      <daily>
        <type>{EVERY|EVERY_WORKING|AFTER_COMPLETE}</type>
        <shift></shift>
      </daily>
      <!-- еженедельно -->
      <weekly>
        <type>{EVERY|AFTER_COMPLETE}</type>
        <shift></shift>
        <days><!-- список дней через запятую --></days>
      </weekly>
      <!-- ежемесячно -->
      <monthly>
        <type>{AFTER_COMPLETE|DAY_OF_MONTH|BY_CONDITION}</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>
  <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.users | корневой элемент списка пользователей, которым поставлена задача | ||
| workers.users.id | int | идентификатор пользователя которому поставлена задача | |
| workers.groups | корневой элемент списка групп, которым поставлена задача | ||
| 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 в этом случае не могут быть заданы. Указывает что задача должна повторяться ежедневно, согласно установленным критериям:
| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| 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 в этом случае не могут быть заданы. Указывает что задача должна повторяться еженедельно, согласно установленным критериям:
| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| type | enum | определяет периодичность | допустимые значения EVERY или AFTER_COMPLETE | 
| shift | int | сдвиг в днях | |
| days | set/list | перечень дней недели, разделитель символ запятой (,). понедельник имеет индекс 1, воскресение - 7. | используется только при type=AFTER_COMPLETE | 
Значение AFTER_COMPLETE интерпретируется как: ставить задачу через N-й неделю после каждого завершения, заданную в параметре shift.
Описание параметра monthly, параметры daily и weekly в этом случае не могут быть заданы. Указывает что задача должна повторяться ежемесяно, согласно установленным критериям:
| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| type | enum | периодичность | допустимые значения AFTER_COMPLETE или DAY_OF_MONTH, или BY_CONDITION | 
| month | int | задает месяц в/через который должно действие/задача повторяться | |
| day | int | задает день в/через который должна задача повторяться | не используется при type=AFTER_COMPLETE | 
| dayType | enum | определяет тип дня | используется при type=BY_CONDITION. Допустимые значения смотри в разделе тип дня для повторяющейся задачи | 
Все параметры, за исключением 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>| Значение code | Расшифровка | 
|---|---|
| 0000 | неизвестная ошибка | 
