Adding a Project Task Example
The following example shows how to add a project task record with one record in the Assignees sublist.
C#
private void addProjectTask()
{
//Create object
ProjectTask newProjectTask = new ProjectTask();
// Set a value for title, which is required, and externalId, which is preferred.
newProjectTask.title = "Migrate Data";
newProjectTask.externalId = "125W";
//Optionally, set a value for the startDate field.
newProjectTask.constraintType = ProjectTaskConstraintType._fixedStart;
newProjectTask.constraintTypeSpecified = true;
DateTime nextWeek = new DateTime(2013, 9, 30);
newProjectTask.startDate = nextWeek;
newProjectTask.startDateSpecified = true;
// Optionally, set a value for the finishByDate field.
DateTime nextMonth = new DateTime(2013, 11, 11);
newProjectTask.finishByDate = nextMonth;
newProjectTask.finishByDateSpecified = true;
// Create values in the Assignees sublist.
newProjectTask.assigneeList = new ProjectTaskAssigneeList();
newProjectTask.assigneeList.projectTaskAssignee = new ProjectTaskAssignee[2];
newProjectTask.assigneeList.projectTaskAssignee[0] = new ProjectTaskAssignee();
newProjectTask.assigneeList.projectTaskAssignee[0].resource = new RecordRef();
newProjectTask.assigneeList.projectTaskAssignee[0].resource.internalId = "1149";
newProjectTask.assigneeList.projectTaskAssignee[0].estimatedWork = 30;
newProjectTask.assigneeList.projectTaskAssignee[0].estimatedWorkSpecified = true;
newProjectTask.assigneeList.projectTaskAssignee[0].unitCost = 60;
newProjectTask.assigneeList.projectTaskAssignee[0].unitCostSpecified = true;
newProjectTask.assigneeList.projectTaskAssignee[1] = new ProjectTaskAssignee();
newProjectTask.assigneeList.projectTaskAssignee[1].resource = new RecordRef();
newProjectTask.assigneeList.projectTaskAssignee[1].resource.internalId = "1147";
newProjectTask.assigneeList.projectTaskAssignee[1].estimatedWork = 15;
newProjectTask.assigneeList.projectTaskAssignee[1].estimatedWorkSpecified = true;
newProjectTask.assigneeList.projectTaskAssignee[1].unitCost = 75;
newProjectTask.assigneeList.projectTaskAssignee[1].unitCostSpecified = true;
// Every project task must be associated with a project record. Identify that record here.
RecordRef projectRef = new RecordRef();
projectRef.internalId = "1146";
newProjectTask.company = projectRef;
_service.add(newProjectTask);
}
SOAP Request
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<passport xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<email xmlns="urn:core_2017_1.platform.webservices.netsuite.com">user@netsuite.com</email>
<password xmlns="urn:core_2017_1.platform.webservices.netsuite.com">**********</password>
<account xmlns="urn:core_2017_1.platform.webservices.netsuite.com">12345</account>
<role internalId="3" xmlns="urn:core_2017_1.platform.webservices.netsuite.com"/>
</passport>
<preferences xmlns="urn:messages_2017_1.platform.webservices.netsuite.com"/>
</soap:Header>
<soap:Body>
<add xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<record externalId="125W" xsi:type="q1:ProjectTask" xmlns:q1="urn:scheduling_2017_1.activities.webservices.netsuite.com">
<q1:title>Migrate Data</q1:title>
<q1:company internalId="1146"/>
<q1:constraintType>_fixedStart</q1:constraintType>
<q1:startDate>2013-09-30T00:00:00</q1:startDate>
<q1:finishByDate>2013-11-11T00:00:00</q1:finishByDate>
<q1:assigneeList>
<q1:projectTaskAssignee>
<q1:resource internalId="1149"/>
<q1:estimatedWork>30</q1:estimatedWork>
<q1:unitCost>60</q1:unitCost>
</q1:projectTaskAssignee>
<q1:projectTaskAssignee>
<q1:resource internalId="1147"/>
<q1:estimatedWork>15</q1:estimatedWork>
<q1:unitCost>75</q1:unitCost>
</q1:projectTaskAssignee>
</q1:assigneeList>
</record>
</add>
</soap:Body>
</soap:Envelope>
SOAP Response
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2017_1.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_1013519_0917201373149825972664381_be111cd446b940</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<addResponse xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<writeResponse>
<platformCore:status isSuccess="true" xmlns:platformCore="urn:core_2017_1.platform.webservices.netsuite.com"/>
<baseRef xsi:type="platformCore:RecordRef" type="projectTask" externalId="125W" internalId="3218" xmlns:platformCore="urn:core_2017_1.platform.webservices.netsuite.com"/>
</writeResponse>
</addResponse>
</soapenv:Body>
</soapenv:Envelope>