Comments (9)
Hi @Part-A,
this statuscode is invalid for the active state code. Try setting statecode as well:
$task->statecode = 1;
$task->statuscode = 5;
Cheers
George
from php-crm-toolkit.
Unfortunately, statecode is not valid for create or update, as demonstrated here:
(
[logicalName] => statecode
[label] => Activity Status
[description] => Shows whether the task is open, completed, or canceled. Completed and canceled tasks are read-only and can't be edited.
[format] =>
[maxLength] => 0
[isCustom] =>
[imeMode] =>
[isPrimaryId] =>
[isPrimaryName] =>
[type] => State
[isLookup] =>
[isValidForCreate] =>
[isValidForUpdate] =>
[isValidForRead] => 1
[requiredLevel] => SystemRequired
[attributeOf] =>
[optionSet] => AlexaCRM\CRMToolkit\Entity\OptionSet Object
(
[name] => task_statecode
[type] => State
[displayName] => Status of the task.
[description] => Status of the task.
[options] => Array
(
[0] => Open
[1] => Completed
[2] => Canceled
)
[isGlobal] =>
)
[lookupTypes] =>
)
Therefore AlexaCRM\CRMToolkit\Entity rejects the setting of statecode
from php-crm-toolkit.
I just tried it with SDK, it's not possible to create completed tasks. Instead, you should do something like
$tid = $task->create();
$task = $this->dynamics->entity('task', $tid);
$task->statecode = new OptionSetValue(1); // completed
$task->statuscode = new OptionSetValue(5); // completed
$task->update();
return $tid;
from php-crm-toolkit.
Thank you for your suggestion, your help is very much appreciated, unfortunately, it does not work.
Because 'statecode' is not valid for update as shown in the Attribute details above, this code in Entity.php blocks the update:
/* Check that this property can be set in Creation or Update */
if ( $this->attributes[ $property ]->isValidForCreate == false && $this->attributes[ $property ]->isValidForUpdate == false ) {
trigger_error( 'Property ' . $property . ' of the ' . $this->entityLogicalName
. ' entity cannot be set', E_USER_NOTICE );
return;
}
Therefore, this leaves the task with the following two entries, which as you have already stated is an invalid state for 'statuscode' when 'statecode' is set as Open
(
[Value] => AlexaCRM\CRMToolkit\OptionSetValue Object
(
[value] => 0
[label] => Open
)
[Changed] =>
)
(
[Value] => AlexaCRM\CRMToolkit\OptionSetValue Object
(
[value] => 5
[label] => Completed
)
[Changed] => 1
)
This state throws an exception on update.
from php-crm-toolkit.
Temporarily disabling the code in Entity.php, does allow the setting of 'statecode'. Giving the following for the task entity:
[statecode] => Array
(
[Value] => AlexaCRM\CRMToolkit\OptionSetValue Object
(
[value] => 1
[label] => Completed
)
[Changed] => 1
)
However, on update, this still throws an exception:
[Exception]
Unable to retrieve data from Dynamics CRM
from php-crm-toolkit.
Hmmm, statecode should be valid for update and the sample update above should work.
We'll investigate further.
Thanks
George
from php-crm-toolkit.
@Part-A
What's your CRM version?
from php-crm-toolkit.
Microsoft Dynamics® CRM 2015
(7.0.1.129) (DB 7.0.1.129)
from php-crm-toolkit.
that would explain it. You can't update statuscode and statecode in that version, you need to use SetStateRequest. See the docs:
For Microsoft Dynamics CRM Online organizations, this feature is available only if your organization has updated to Dynamics CRM Online 2015 Update 1. This feature is not available for Dynamics CRM (on-premises).
By "on-premises" they meant 2015 on-premises. 2016 and above should be fine. We've tested updating on Dynamics 365 Online instance and it worked just fine.
from php-crm-toolkit.
Related Issues (20)
- Create an email in Dynamics 365 using AlexaCRM php-crm-toolkit HOT 6
- Cannot use “contain-values” operate for multiselect optionsets attribute in FetchXML.
- Datetime type field fetch and not coming correct format HOT 1
- How to catch if the authentication failed HOT 1
- Get records by date or latest records not all HOT 1
- How to retrieve id from this data HOT 3
- Is there any way to fetch opportunities with lineitems HOT 1
- Uncaught exception 'Exception' with message 'Could not retrieve WSDL HOT 6
- Need sample code for pagination HOT 1
- How to create contact with php form on dynamics crm ? HOT 30
- Need Query on contact in crm and put condition on create or sending task to crm user HOT 1
- Error when authenticating: Ws-Trust HOT 22
- Oauth HOT 1
- Performance of creating a contact HOT 3
- Ws-Trust authentication has been deprecated HOT 1
- Create new or Update if exists HOT 1
- Integration broken because disco.crm.dynamics.com is returning 404 HOT 3
- How to authenticate Multi Server URLs Using one azure Application credentials. HOT 5
- Could not find ExecuteResult node in XML returned from Server Error HOT 1
- Exception deserializing entity
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-crm-toolkit.