You need to sign in to do that
Don't have an account?
Dan M
Case Task versus Log A Call
I need to understand the differences between 'Log A Call' and 'New Task'.
When I do 'Log A Call' it actually creates a 'Task' record.
When I do 'New Task' it also creates a 'Task' record.
When on a case screen and I click 'Tasks and Events' I see only the item I created as 'New Task. When I click on 'Call Logs' I see only the item I created as 'Log A Call'.
Both of these items are actual task records but they are different in some way such that they only show on their respective lists when selecting Call Logs or Tasks and Events.
So, I used a SOQL statement to show me all task records for a case and of course, I get both records. Life is good. My question is, which field in the task record differentiates one as a call log and the other as a task. I've printed all the fields and their values and the 2 records appear to be identical with the exception of the Subject and Description/Comment.
Any ideas how to determine the differences, or more importantly, I'm using a C# WSDL service to write records and I would like to know how to insert one task as a task and one task as a call log.
Thanks.
When I do 'Log A Call' it actually creates a 'Task' record.
When I do 'New Task' it also creates a 'Task' record.
When on a case screen and I click 'Tasks and Events' I see only the item I created as 'New Task. When I click on 'Call Logs' I see only the item I created as 'Log A Call'.
Both of these items are actual task records but they are different in some way such that they only show on their respective lists when selecting Call Logs or Tasks and Events.
So, I used a SOQL statement to show me all task records for a case and of course, I get both records. Life is good. My question is, which field in the task record differentiates one as a call log and the other as a task. I've printed all the fields and their values and the 2 records appear to be identical with the exception of the Subject and Description/Comment.
Any ideas how to determine the differences, or more importantly, I'm using a C# WSDL service to write records and I would like to know how to insert one task as a task and one task as a call log.
Thanks.
Thanks for the reply. Okay, so you are saying the only difference is "Task.Type=Call" versus "Task.Type=??SomeValue" and the "Task.Status=Completed" versus "Task.Status=??SomeValue".
I still have issues. The problem is that in the SF user interface using web site, under develope, Schema Builder, I see that the Tasks table indeed has a "Type" Field and a "Status" Field. However, when using the Enterprise or Partner WSDL, and using a .net to insert rows, The Task object does not havea "Type" field, just "CallType" and its a picklist with values or "Inbound,Outbound...".
How can the SF user interface have one schema and the WSDL have another. I exported a new copy of the WSDL and have the same issue. Does this have anything to do with "CallCenter"?
<element name="Type" nillable="true" minOccurs="0" type="xsd:string"/>
Partner WSDL is a bit different - it's designed to be quite generic so it won't have individual field types.
See images below.
<complexType name="Task">
<complexContent>
<extension base="ens:sObject">
<sequence>
<element name="ALE_Activity__c" nillable="true" minOccurs="0" type="xsd:boolean"/>
<element name="ANI_Match__c" nillable="true" minOccurs="0" type="xsd:boolean"/>
<element name="Account" nillable="true" minOccurs="0" type="ens:Account"/>
... ...
<element name="Status" nillable="true" minOccurs="0" type="xsd:string"/>
<element name="Subject" nillable="true" minOccurs="0" type="xsd:string"/>
<element name="SystemModstamp" nillable="true" minOccurs="0" type="xsd:dateTime"/>
<element name="TDSF__TimeDriver_Id__c" nillable="true" minOccurs="0" type="xsd:double"/>
<element name="Tags" nillable="true" minOccurs="0" type="tns:QueryResult"/>
<element name="Team__c" nillable="true" minOccurs="0" type="xsd:string"/>
<element name="TimeTrade_Appointment_Set__c" nillable="true" minOccurs="0" type="xsd:boolean"/>
<element name="Total_Calls__c" nillable="true" minOccurs="0" type="xsd:double"/>
<element name="Type" nillable="true" minOccurs="0" type="xsd:string"/>
<element name="Week__c" nillable="true" minOccurs="0" type="xsd:string"/>
<element name="What" nillable="true" minOccurs="0" type="ens:Name"/>
<element name="WhatId" nillable="true" minOccurs="0" type="tns:ID"/>
<element name="Who" nillable="true" minOccurs="0" type="ens:Name"/>
... ...
<element name="qbdialer__SMSReminder__c" nillable="true" minOccurs="0" type="xsd:boolean"/>
</sequence>
</extension>
</complexContent>
</complexType>
You can compare your XML to verify. Note that all custom members (fields) end with __c. Anything without would be a standard field, which Type is.
<xsd:complexType name="Task">
<xsd:complexContent mixed="false">
<xsd:extension base="ens:sObject">
<xsd:sequence>
<xsd:element minOccurs="0" name="Account" nillable="true" type="ens:Account" />
<xsd:element minOccurs="0" name="AccountId" nillable="true" type="tns:ID" />
<xsd:element minOccurs="0" name="ActivityDate" nillable="true" type="xsd:date" />
<xsd:element minOccurs="0" name="AttachedContentDocuments" nillable="true" type="tns:QueryResult" />
<xsd:element minOccurs="0" name="Attachments" nillable="true" type="tns:QueryResult" />
<xsd:element minOccurs="0" name="CallDisposition" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="CallDurationInSeconds" nillable="true" type="xsd:int" />
<xsd:element minOccurs="0" name="CallObject" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="CallType" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="CombinedAttachments" nillable="true" type="tns:QueryResult" />
<xsd:element minOccurs="0" name="CreatedBy" nillable="true" type="ens:User" />
<xsd:element minOccurs="0" name="CreatedById" nillable="true" type="tns:ID" />
<xsd:element minOccurs="0" name="CreatedDate" nillable="true" type="xsd:dateTime" />
<xsd:element minOccurs="0" name="Description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="FeedSubscriptionsForEntity" nillable="true" type="tns:QueryResult" />
<xsd:element minOccurs="0" name="Feeds" nillable="true" type="tns:QueryResult" />
<xsd:element minOccurs="0" name="IsArchived" nillable="true" type="xsd:boolean" />
<xsd:element minOccurs="0" name="IsClosed" nillable="true" type="xsd:boolean" />
<xsd:element minOccurs="0" name="IsDeleted" nillable="true" type="xsd:boolean" />
<xsd:element minOccurs="0" name="IsRecurrence" nillable="true" type="xsd:boolean" />
<xsd:element minOccurs="0" name="IsReminderSet" nillable="true" type="xsd:boolean" />
<xsd:element minOccurs="0" name="LastModifiedBy" nillable="true" type="ens:User" />
<xsd:element minOccurs="0" name="LastModifiedById" nillable="true" type="tns:ID" />
<xsd:element minOccurs="0" name="LastModifiedDate" nillable="true" type="xsd:dateTime" />
<xsd:element minOccurs="0" name="Owner" nillable="true" type="ens:sObject" />
<xsd:element minOccurs="0" name="OwnerId" nillable="true" type="tns:ID" />
<xsd:element minOccurs="0" name="Priority" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="RecurrenceActivityId" nillable="true" type="tns:ID" />
<xsd:element minOccurs="0" name="RecurrenceDayOfMonth" nillable="true" type="xsd:int" />
<xsd:element minOccurs="0" name="RecurrenceDayOfWeekMask" nillable="true" type="xsd:int" />
<xsd:element minOccurs="0" name="RecurrenceEndDateOnly" nillable="true" type="xsd:date" />
<xsd:element minOccurs="0" name="RecurrenceInstance" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="RecurrenceInterval" nillable="true" type="xsd:int" />
<xsd:element minOccurs="0" name="RecurrenceMonthOfYear" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="RecurrenceStartDateOnly" nillable="true" type="xsd:date" />
<xsd:element minOccurs="0" name="RecurrenceTimeZoneSidKey" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="RecurrenceType" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="RecurringTasks" nillable="true" type="tns:QueryResult" />
<xsd:element minOccurs="0" name="ReminderDateTime" nillable="true" type="xsd:dateTime" />
<xsd:element minOccurs="0" name="Status" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="Subject" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="SystemModstamp" nillable="true" type="xsd:dateTime" />
<xsd:element minOccurs="0" name="What" nillable="true" type="ens:sObject" />
<xsd:element minOccurs="0" name="WhatId" nillable="true" type="tns:ID" />
<xsd:element minOccurs="0" name="Who" nillable="true" type="ens:sObject" />
<xsd:element minOccurs="0" name="WhoId" nillable="true" type="tns:ID" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
You are correct. The "Type" field was not visible in field level security. I enabled it and regenerated my WSDL file. Now in my .NET app intellisense shows that "Type" is a member of "Task".
I thought I was in the clear, but I'm not. I used my .NET app to create a task for a case using Type=Call and Status=Completed but in the case, my new task is showing under "Tasks and Events" and not "Call Logs".
Something is still fishy and it aint the clams.
I created a new case manually in the SF webiste 00001062. Then I manually added one task and logged one call. They are seen below as normal under the proper settings. Then I added a task [CREATED IN CODE] thru my .NET app for this case as "Call" and "Completed" and it shows under tasks and events instead of call logs.
Last but not least, I did a SOQL of all tasks for this case and of course there are 3. I did a print of every field and I cannot see what makes the manual logged a call and the one generated thru code different. How is SF making the destinction.
Here are printed data fields for the 3 tasks.
WhatId: 500i000000786t3AAA
Subject: Manually Logged A Call
ActivityDate: 3/27/2014 12:00:00 AM
Status: Completed
Priority: Normal
OwnerId: 005i0000002g6PSAAY
Description: Manually Logged a Call thru the SF website.
IsDeleted: False
IsClosed: True
CreatedDate: 3/27/2014 2:05:11 PM
CreatedById: 005i0000002g6PSAAY
LastModifiedDate: 3/27/2014 2:05:11 PM
LastModifiedBy: 005i0000002g6PSAAY
SystemModStamp: 3/27/2014 2:05:11 PM
IsArchived: False
IsReminder: False
RIsRecurrence: False
WhatId: 500i000000786t3AAA
Subject: CREATED IN CODE AT: 2014-03-27 10:13:46
ActivityDate: 3/27/2014 12:00:00 AM
Status: Completed
Priority: Normal
OwnerId: 005i0000002g6PSAAY
Description: Desc1
IsDeleted: False
IsClosed: True
CreatedDate: 3/27/2014 2:13:09 PM
CreatedById: 005i0000002g6PSAAY
LastModifiedDate: 3/27/2014 2:13:09 PM
LastModifiedBy: 005i0000002g6PSAAY
SystemModStamp: 3/27/2014 2:13:09 PM
IsArchived: False
IsReminder: False
RIsRecurrence: False
WhatId: 500i000000786t3AAA
Subject: Manually created a task thru SF Website
Status: Not Started
Priority: Normal
OwnerId: 005i0000002g6PSAAY
IsDeleted: False
IsClosed: False
CreatedDate: 3/27/2014 2:05:33 PM
CreatedById: 005i0000002g6PSAAY
LastModifiedDate: 3/27/2014 2:05:33 PM
LastModifiedBy: 005i0000002g6PSAAY
SystemModStamp: 3/27/2014 2:05:33 PM
IsArchived: False
IsReminder: False
RIsRecurrence: False
SELECT Type, id, title FROM FeedItem where parentid ='00T5000003EGayB'
you're going to see the Type to be "CallLogPost". I think that's how it appears different in the case feed. However I don't know how you can manipulate it though when you inserting tasks. I'd try catching the FeedItem generated from your inserted task and set the Type to CallLogPost.
I am also having this issue. I am wondering if a solution has been found?
Thanks,
-Julio Hernandez
Only difference is TaskSubtype = 'Call' while creating Task object.
This task will be show as "You logged a call".