Modifié le : Mer, 9 Août, 2017 à 10:16 H
Opération qui permet de créer une tâche dans Progression.
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/>"; } |
Cette réponse a-t-elle été utile ?
Oui
Non
Envoyer vos commentaires Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.