CreateTask

Opération qui permet de créer une tâche dans ProgressionLIVE.
 
CreateTaskRequest
 
Propriété Type Valeur
Credentials Credentials Informations d'authentification
Task Task Informations sur la tâche à créer
Location Location Informations de localisation lors de la création de la tâche (mobile)
Dispatch boolean Répartir la tâche? Si oui, une HumanResourceRef doit être configurée sur la tâche


Exemples Java, PHP

Java

Task task = new Task();

RecordRef typeRef = new RecordRef();

typeRef.setType(RecordType.TASK_TYPE);

typeRef.setLabel("SVC"); // Code du type de tâche

task.setTypeRef(typeRef);

RecordRef priorityRef = new RecordRef();

priorityRef.setType(RecordType.TASK_PRIORITY);

priorityRef.setLabel("Normal"); // Nom de la priorité

task.setPriorityRef(priorityRef);

task.setSummary("Test");

task.setDescription("Ceci est un test");

// Configuration du RV

final GregorianCalendar gregorianCalendar = new GregorianCalendar();

gregorianCalendar.setTime(new Date());

task.setRv(DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar));

// Assignation

RecordRef hrRef = new RecordRef();

hrRef.setType(RecordType.HUMAN_RESOURCE);

hrRef.setLabel("John Doe"); // Nom de la ressource humaine

task.setHumanResourceRef(hrRef);

// Client (peut ne pas être disponible dans certaines configurations)

// Le client sera créé automatiquement s'il n'existe pas

RecordRef clientRef = new RecordRef();

clientRef.setType(RecordType.CLIENT);

clientRef.setLabel("Diffusion"); // Nom du client (unique)

task.setClientRef(clientRef);

Address clientAddress = new Address();

clientAddress.setAddress("51 allard");

clientAddress.setCity("Saint-alexis des monts");

clientAddress.setProvince("QC"); // ISO code

clientAddress.setCountry("CA"); // ISO code

clientAddress.setPostalCode("J0K 1V0");

task.setClientAddress(clientAddress);

// Emplacement (peut ne pas être disponible dans certaines configurations)

// Le client doit être rempli pour permettre la configuration d'un emplacement

// L'emplacement sera créé s'il n'existe pas

RecordRef nodeRef = new RecordRef();

nodeRef.setType(RecordType.NODE);

nodeRef.setLabel("Diffusion Granby"); // Nom de l'emplacement (unique)

task.setNodeRef(nodeRef);

Address nodeAddress = new Address();

nodeAddress.setAddress("10-4 Place du lac");

nodeAddress.setCity("Granby");

nodeAddress.setProvince("QC"); // ISO code

nodeAddress.setCountry("CA"); // ISO code

nodeAddress.setPostalCode("J2G 4C3");

task.setNodeAddress(nodeAddress);

// Propriétés personnalisables (le nom des propriétés dépend du type de tâche)

task.setProperties(new ArrayOfProperty());

Property p = new Property();

p.setName("test.test1");

p.setValue("test1");

task.getProperties().getProperty().add(p);

p = new Property();

p.setName("test.test2");

p.setValue("test2");

task.getProperties().getProperty().add(p);

// Liste Items

TaskItemList taskItemList = new TaskItemList();

// Créer 2 items

TaskItem taskItem = new TaskItem();

taskItem.setQuantity(1);

taskItem.setLabel("Ordinateur");

taskItem.setPrice(499.99);

taskItemList.getTaskItems().getRecord().add(taskItem);

taskItem = new TaskItem();

taskItem.setQuantity(2);

taskItem.setLabel("Écran");

taskItem.setPrice(199.99);

taskItemList.getTaskItems().getRecord().add(taskItem);

taskItemList.setSubTotal(899.97);

taskItemList.setTotal(899.97);

task.setTaskItemList(taskItemList);

// Metas Propriétés

task.setMetas(new ArrayOfProperty());

Property meta = new Property();

meta.setName("MonIdInterne");

meta.setValue("123456");

task.getMetas().getProperty().add(meta);

// Créer la tâche

CreateTaskRequest request = new CreateTaskRequest();

request.setCredentials(credentials); // voir opération login

request.setTasl(task);

request.setDispatch(true);

RecordRef taskRef = progressionPortType.createTask(request).getTaskRef();

Long taskId = taskRef.getId(); // Donne le ID interne de la tâche qui vient d'être créé

 

PHP

$task = new stdClass();

$task->TypeRef->Type = 'TASK_TYPE';

$task->TypeRef->Label = 'SVC';

$task->PriorityRef = new stdClass();

$task->PriorityRef->Type = 'TASK_PRIORITY';

$task->PriorityRef->Label = 'Normal';

$task->Summary = 'Test';

$task->Description = 'Ceci est un test !';

// Assignation

$task->HumanResourceRef = new StdClass();

$task->HumanResourceRef->Type = 'HUMAN_RESOURCE';

$task->HumanResourceRef->Label = "Test"; // Nom de la ressource humaine

// Client (peut ne pas être disponible dans certaines configurations)

// Le client sera créé automatiquement s'il n'existe pas

$clientRef = new StdClass();

$clientRef->Type = 'CLIENT';

$clientRef->Label = "Diffusion"; // Nom du client (unique)

$task->ClientRef = $clientRef;

$clientAddress = new StdClass();

$clientAddress->Address = "51 allard";

$clientAddress->City = "Saint-alexis des monts";

$clientAddress->Province = "QC"; // ISO code

$clientAddress->Country = "CA"; // ISO code

$clientAddress->PostalCode = "J0K 1V0";

$task->ClientAddress = $clientAddress;

// Emplacement (peut ne pas être disponible dans certaines configurations)

// Le client doit être rempli pour permettre la configuration d'un emplacement

// L'emplacement sera créé s'il n'existe pas

$nodeRef = new StdClass();

$nodeRef->Type = 'NODE';

$nodeRef->Label = "Diffusion Granby"; // Nom de l'emplacement (unique)

$task->NodeRef = $nodeRef;

$nodeAddress = new StdClass();

$nodeAddress->Address = "10-4 Place du lac";

$nodeAddress->City = "Granby";

$nodeAddress->Province = "QC"; // ISO code

$nodeAddress->Country = "CA"; // ISO code

$nodeAddress->PostalCode = "J2G 4C3";

$task->NodeAddress = $nodeAddress;

// Propriétés personnalisables (le nom des propriétés dépend du type de tâche)

$task->Properties = new StdClass();

$task->Properties->Property = array();

$task->Properties->Property[0] = new StdClass();

$task->Properties->Property[0]->Name = 'info1.NO_FACTURE';

$task->Properties->Property[0]->Value = new SoapVar('1234567890', XSD_STRING, 'string', 'http://www.w3.org/2001/XMLSchema');

$task->Properties->Property[1] = new StdClass();

$task->Properties->Property[1]->Name = 'test.test2';

$task->Properties->Property[1]->Value = new SoapVar('test2', XSD_STRING, 'string', 'http://www.w3.org/2001/XMLSchema');

// Liste Items

$taskItemList = new stdClass();

$taskItemList->TaskItems = new stdClass();

$taskItemList->TaskItems->Record = array();

// Créer 2 items

$taskItem = new StdClass();

$taskItem->Quantity = 1;

$taskItem->Label = "Ordinateur";

$taskItem->Price = 499.99;

$taskItem->Taxable = true;

$taskItemList->TaskItems->Record[0] = new SoapVar($taskItem, SOAP_ENC_OBJECT, 'TaskItem', "http://task.v1.ws.progression.diffusion.cc");

$taskItem = new StdClass();

$taskItem->Quantity = 2;

$taskItem->Label = "Écran";

$taskItem->Price = 199.99;

$taskItemList->TaskItems->Record[1] = new SoapVar($taskItem, SOAP_ENC_OBJECT, 'TaskItem', "http://task.v1.ws.progression.diffusion.cc");

//Le calcul de SubTotal, Total et TaxesAmount doivent être fait manuellement

$taskItemList->SubTotal = 899.97;

$taskItemList->Total = 899.97;

$task->TaskItemList = $taskItemList;

// Metas Propriétés

$task->Metas = new StdClass();

$task->Metas->Property = array();

$task->Metas->Property[0] = new StdClass();

$task->Metas->Property[0]->Name = 'MonIdInterne';

$task->Metas->Property[0]->Value = new SoapVar('123456', XSD_STRING, 'string', 'http://www.w3.org/2001/XMLSchema');

$createTaskRequest = new StdClass();

$createTaskRequest->credentials = $credentials;

$createTaskRequest->task = $task;

$createTaskRequest->dispatch = false;

$response = null;

try {

    $response = $service->CreateTask($createTaskRequest);

    echo "Tâche crée ";

    echo $response->taskRef->Id;

    echo "<br/>";

} catch (Exception $e){

    echo "Erreur à la création de la tâche";

    echo "<br/>";

}