DID YOU KNOW? You can update owner and status with a single Update request in CRM 2015 with Update 1

Before CRM 2015 Update 1 release, specialized messages were required to update certain entity attribute values. These were AssignRequest to change owner of a record, SetStateRequest to change status of a record, SetParentSystemUserRequest, etc. In this release, UpdateRequest can now be used to set these attributes.

Thus with Update 1 release following specialized message will be deprecated.

  1. AssignRequest
  2. SetStateRequest
  3. SetParentSystemUserRequest
  4. SetParentTeamRequest
  5. SetParentBusinessUnitRequest
  6. SetBusinessUnitRequest
  7. SetBusinessEquipmentRequest
  8. SetBusinessSystemUserRequest

These specialized messages will continue to work with the 2011 endpoint. However, the recommendation is to use the UpdateRequest or Update method when possible to set these attributes. The Update message simplifies the SDK API and makes it easier to code standard data integration tools used with Dynamics CRM. In addition, it is easier to code and register a plug-in to execute for a single Update message instead of multiple specialized messages. The AttributeMetadata.IsValidForUpdate property for the above listed attributes has been changed to true in this release to enable this capability.

For plug-ins, when update requests are processed that include both owner fields plus other standard fields for business owned entities, plug-ins registered for the Update message in pipeline stage 20 and/or stage 40 execute once for all non-owner fields, and then once for the owner fields.

For workflows, when update requests are processed that include both owner fields plus other standard fields, workflows registered for the Update message execute once for all non-owner fields, and then once for the owner fields. Workflows registered for the Assign message by users continue to be triggered by updates to owner fields. When update requests are processed that include both state/status fields plus other standard fields, workflows registered for the Update message execute once for all non-state/status fields, and then once for the state/status fields. Workflows registered for the Change Status step continue to be triggered by updates to state/status fields.

Advertisements

CRM 2015: New and Deprecated messages in the Organization web service

New

CRM 2015 SDK have introduced following new messages to support tasks we can do using the Organization web service. These are supported by CRM 2015 on-premises and on-line.

 

Request class name Description More information
CalculatePriceRequest Defines custom pricing for your products in opportunities, quotes, orders, and invoices. Use custom pricing for products
CalculateRollupFieldRequest Calculates a rollup attribute value on demand. Rollup attributes
CloneProductRequest Clones a product family, product, or bundle record, and creates a copy of the record under the same parent node. Clone a product family, product, or bundle
ExportFieldTranslationRequest Exports localizable attributes for translation. Translate localizable attributes
GetDefaultPriceLevelRequest Used internally by CRM to determine the default price level (price list) for an opportunity, quote, order, and invoice based on the current user and his/her territory relationship with the price level. Set default price level for opportunity, quote, order, invoice
ImportFieldTranslationRequest Imports localizable attributes for translation. Translate localizable attributes
PublishProductHierarchyRequest Publishes a product family hierarchy including the child products and bundles. Publish a product family, product, or bundle
RetrieveCurrentOrganizationRequest Retrieves organization information from the organization service rather than the discovery service. Retrieve organization information from the organization service instead of using the discovery service.
RetrievePrincipalSyncAttributeMappingsRequest Retrieves the synchronization attribute mapping information, which defines the flow of data from the server to the client application. This message doesn’t have any extensibility scenarios in this release.
RetrieveProductPropertiesRequest Retrieves all the property instances (dynamic property instances) for a product added to an opportunity, quote, order, or invoice. DynamicPropertyInstance (property instance) methods and messages
RevertProductRequest Reverts a product family, product, or bundle record to its last Active state. All the product property (attribute) changes done to the record since it was last published (Active state) will be lost. Revert a product family, product, or bundle
UpdateProductPropertiesRequest Updates the value of property instances (dynamic property instances) for a product added to an opportunity, quote, order, or invoice. DynamicPropertyInstance (property instance) methods and messages

 

Deprecated

CRM 2015 deprecated messages are:

 

Class Description
AddProductToKitRequest Deprecated. Use the ProductAssociation entity. Contains the data that is needed to add a product to a kit.
AddProductToKitResponse Deprecated. Use the ProductAssociation entity. Contains the response from the AddProductToKitRequest class.
AddSubstituteProductRequest Deprecated. Use the AssociateRequest class. Adds a link between two entity instances in a many-to-many relationship.
AddSubstituteProductResponse Deprecated. Use the AssociateRequest class and its associated response class. Contains the response from theAddSubstituteProductRequest class.
AssociateEntitiesRequest Deprecated. Use the AssociateRequest class. Contains the data that is needed to add a link between two entity instances in a many-to-many relationship.
AssociateEntitiesResponse Deprecated. Use the AssociateRequest class and its associated response class. Contains the response from theAssociateEntitiesRequest class.
CompoundCreateRequest Deprecated. Use the CreateRequest class. Creates a compound entity, such as a sales order (order), invoice, quote, or duplicate rule (duplicate detection rule); and its related entity, such as a sales order detail (order product), invoice detail (invoice product), quote detail (quote product), or duplicate rule condition.
CompoundCreateResponse Deprecated. Use the CreateRequest class and its associated response class.
CompoundUpdateRequest Deprecated. Use the CreateRequest class. Contains the data that is needed to update a compound record, such as a sales order (order), invoice, quote, or duplicate rule (duplicate detection rule); and its related detail record, such as a sales order detail (order product), invoice detail (invoice product), quote detail (quote product), or duplicate rule condition.
CompoundUpdateResponse Deprecated. Use the CreateRequest class and its associated response class. Contains the response from theCompoundUpdateRequest class.
ConvertKitToProductRequest Deprecated. Contains the data that is needed to convert akit to a product.
ConvertKitToProductResponse Deprecated. Contains the response from the ConvertKitToProductRequest class.
ConvertProductToKitRequest Deprecated. Contains the data that is needed to convert a product to a kit.
ConvertProductToKitResponse Deprecated. Contains the response from the ConvertProductToKitRequest class.
DisassociateEntitiesRequest Deprecated. Use the DisassociateRequest class. Contains the data that is needed to remove a link between two entity instances in a many-to-many relationship.
DisassociateEntitiesResponse Deprecated. Use the DisassociateRequest class and its associated response class. Contains the response from theDisassociateEntitiesRequest class.
ExecuteFetchRequest Deprecated. Use the RetrieveMultipleRequest class.
ExecuteFetchResponse Deprecated. Use the RetrieveMultipleRequest class and its associated response class.
IsBackOfficeInstalledRequest Deprecated. Checks whether Microsoft Dynamics GP 9.0 is installed.
IsBackOfficeInstalledResponse Deprecated.
MakeAvailableToOrganizationReportRequest Deprecated. Use the UpdateRequest class.
MakeAvailableToOrganizationReportResponse Deprecated. Use the UpdateRequest class and its associated response class.
MakeAvailableToOrganizationTemplateRequest Deprecated. Use the UpdateRequest class.
MakeAvailableToOrganizationTemplateResponse Deprecated. Use the UpdateRequest class and its associated response class.
MakeUnavailableToOrganizationReportRequest Deprecated. Use the UpdateRequest class.
MakeUnavailableToOrganizationReportResponse Deprecated. Use the UpdateRequest class and its associated response class.
MakeUnavailableToOrganizationTemplateRequest Deprecated. Use the UpdateRequest class.
MakeUnavailableToOrganizationTemplateResponse Deprecated. Use the UpdateRequest class and its associated response class.
RemoveProductFromKitRequest Deprecated. Use the ProductAssociation entity. Contains the data that is needed to remove a product from a kit.
RemoveProductFromKitResponse Deprecated. Use the ProductAssociation entity. Contains the response from the RemoveProductFromKitRequest.
RemoveSubstituteProductRequest Deprecated. Use the ProductSubstitute entity.
RemoveSubstituteProductResponse Deprecated. Use the ProductSubstitute entity.
RetrieveMembersTeamRequest Deprecated. Use the RetrieveMultipleRequest class.
RetrieveMembersTeamResponse Deprecated. Use the RetrieveMultipleRequest class and its associated response class. Contains the response from theRetrieveMembersTeamRequest class.
RetrieveSubsidiaryTeamsBusinessUnitRequest Deprecated. Use the RetrieveMultipleRequest class.Contains the data needed to retrieve a collection of entity instances based on the specified query criteria.
RetrieveSubsidiaryTeamsBusinessUnitResponse Deprecated. Use the RetrieveMultipleRequest class and its associated response class.
RetrieveSubsidiaryUsersBusinessUnitRequest Deprecated. Use the RetrieveMultipleRequest class.Contains the data needed to retrieve all user information from the child business units of the specified business unit.
RetrieveSubsidiaryUsersBusinessUnitResponse Deprecated. Use the RetrieveMultipleRequest class and its associated response class.Contains the response from theRetrieveSubsidiaryUsersBusinessUnitRequest message.
RetrieveTeamsSystemUserRequest Deprecated. Use the RetrieveMultipleRequest class.Contains the data needed to retrieve the list of teams of which the specified user is a member.
RetrieveTeamsSystemUserResponse Deprecated. Use the RetrieveMultipleRequest class and its associated response class.Contains the response from theRetrieveTeamsSystemUserRequest message.
RetrieveUserSettingsSystemUserRequest Deprecated. Use the RetrieveMultipleRequest class.Contains the data needed to retrieve the user settings for the specified system user (user).
RetrieveUserSettingsSystemUserResponse Deprecated. Use the RetrieveMultipleRequest class and its associated response class.
UpdateUserSettingsSystemUserRequest Deprecated. Use the UpdateRequest class.
UpdateUserSettingsSystemUserResponse Deprecated. Use the UpdateRequest class and its associated response class.