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> 

        

Related Topics

Project Task
Project Tasks Versus Milestone Tasks
Project Task Supported Operations
Project Task Field Definitions
Project Task Permissions
Adding a Milestone Task Example
Using Project Management
Creating a Project Task Record
Assigning Resources to Project Tasks
Enabling Project Features

General Notices