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/>";
}
|