NetSuite - удаление записей о времени - PullRequest
0 голосов
/ 02 мая 2018

Кто-нибудь придумал, как удалить запись записи времени из записи расписания без фактического удаления расписания? Мой пример использования заключается в том, что я синхронизирую рабочее время от JIRA до NetSuite уже более года. Когда возникает ошибка или им нужно обновить свое время, моя интеграция просто удаляет ее и создает заново все. Никогда не проблема, так как табели рабочего времени еще не представлены или не утверждены, на данный момент.

Теперь мы установили этот пакет SuitePeople (к сожалению, работающие над этим менеджеры проектов ничего не тестировали ...: /), который полностью изменил отслеживание времени. Помимо настраиваемых полей, которые больше не отображаются в столбцах (совершенно другая проблема), теперь они генерируют общие расписания для людей, чтобы показать выходной. Эти табели не могут быть удалены, а их временные записи не могут быть даже отредактированы (предположительно, так как они были созданы системой - по крайней мере, так говорит NetSuite).

Моя последняя надежда состоит в том, чтобы добавлять / редактировать / удалять записи ввода времени, когда добавлены дополнительные сгенерированные системой табели учета времени. Но всякий раз, когда я пытаюсь удалить запись времени, мне выдается сообщение о том, что timeentry не является допустимым типом записи (так как это подзапись).

Есть мысли? Чувство полной растерянности здесь ...

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Оказалось, что мне нужно было выполнить это через RESTlet, где SuiteScript может напрямую искать и удалять записи ввода времени. Вот важные части этого сценария, на случай, если кто-то тоже столкнется с этим.

var timeEntrySearch=search.create({
  type:'timeentry',
  columns:[{name:'employee'},{name:'hours'},{name:'internalid'},{name:'memo'}],
  filters:[{name:'date',operator:'within',values:[startDate,endDate]},{name:'employee',operator:'is',values:[userID]}]
}).run().each(function(result){
  log.debug('results',JSON.stringify(result));
  var memoField=result.getValue({name:'memo'});
  if(memoField.indexOf('JIRA Time')!=-1){responseArray.push(result);}
  return true;
});

for(var el in responseArray){
  try{
    log.debug('Deleting',JSON.stringify(responseArray[el].id));
    record.delete({type:'timeentry',id:responseArray[el].id});
  }catch(deleteErr01){
    log.debug('ERROR[deleteErr01]',JSON.stringify(deleteErr01));
    continue;
  }
}
0 голосов
/ 02 мая 2018

Это полезно знать, поскольку у меня есть прямая интеграция с рабочими журналами JIRA, но нет SuitePeople.

Можете ли вы отменить / отклонить расписание?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...