Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Description
Updates a policy instance for the specified role. Changes made to the behaviors for the policy instance will be saved.
Parameters
Parameter |
Type |
Description |
|---|---|---|
policy |
The policy for the policy instance that is being updated. |
|
roleKey |
The role key object that specifies the role for the policy instance being updated. |
|
context |
Specifies information about how the method will be called. |
Interfaces
- Dynamics GP
- Common
- Field Service
- Financials
- Human Resources/Payroll
- Inventory
- Manufacturing
- Project Accounting
- Purchasing
- Sales
Examples
The following C# example retrieves the Update Customer policy for the default role. It modifies the selected behavior option for the Create Active behavior, and then updates the default instance of the policy.
** Legacy endpoint**
using System;
using System.Collections.Generic;
using System.Text;
using DynamicsGPWebServiceSample.DynamicsGPService;
namespace DynamicsGPWebServiceSample
{
class Program
{
static void Main(string[] args)
{
CompanyKey companyKey;
Context context;
Policy createCustomerPolicy;
PolicyKey policyKey;
RoleKey roleKey;
Behavior createActiveBehavior;
BehaviorOption setToInactiveBehaviorOption;
Guid behaviorGUID;
int behaviorOptionID;
// Create an instance of the service
DynamicsGP wsDynamicsGP = new DynamicsGP();
// Be sure that default credentials are used
wsDynamicsGP.UseDefaultCredentials = true;
// Create a context with which to call the service
context = new Context();
// Specify which company to use (sample company)
companyKey = new CompanyKey();
companyKey.Id = (-1);
// Set up the context object
context.OrganizationKey = (OrganizationKey)companyKey;
// Create the role key for the role (default role)
roleKey = new RoleKey();
roleKey.Id = "00000000-0000-0000-0000-000000000000";
// Get the complete policy for Create Customer
policyKey = new PolicyKey();
policyKey.Id = new Guid("94880780-186c-43c8-b484-efcdd03cbdbe");
createCustomerPolicy = wsDynamicsGP.GetCompletePolicyByKey(policyKey, roleKey, context);
// Set the behavior for the 'Create Active' behavior
// Find the behavior in the list (from Web Service Reference)
behaviorGUID = new Guid("5c098de9-952c-478c-ad4b-cf992b55ea46");
createActiveBehavior = new Behavior();
foreach (Behavior b in createCustomerPolicy.Behaviors)
{
if (b.Key.Id == behaviorGUID)
{
// Behavior was found
createActiveBehavior = b;
break;
}
}
// Find the behavior option (from Web Service Reference)
behaviorOptionID = 2;
setToInactiveBehaviorOption = new BehaviorOption();
foreach (BehaviorOption bo in createActiveBehavior.Options)
{
if (bo.Key.Id == behaviorOptionID)
{
// Behavior option was found
setToInactiveBehaviorOption = bo;
break;
}
}
// Set selected behavior option to create inactive customers
createActiveBehavior.SelectedOption = setToInactiveBehaviorOption;
// Update the policy instance for the default role
wsDynamicsGP.UpdatePolicy(createCustomerPolicy, roleKey, context);
}
}
}
** Native endpoint **
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using DynamicsGPWebServiceSample.DynamicsGPService;
namespace DynamicsGPWebServiceSample
{
class Program
{
static void Main(string[] args)
{
CompanyKey companyKey;
Context context;
Policy createCustomerPolicy;
PolicyKey policyKey;
RoleKey roleKey;
Behavior createActiveBehavior;
BehaviorOption setToInactiveBehaviorOption;
Guid behaviorGUID;
int behaviorOptionID;
// Create an instance of the service
DynamicsGPClient wsDynamicsGP = new DynamicsGPClient();
// Create a context with which to call the service
context = new Context();
// Specify which company to use (sample company)
companyKey = new CompanyKey();
companyKey.Id = (-1);
// Set up the context object
context.OrganizationKey = (OrganizationKey)companyKey;
// Create the role key for the role (default role)
roleKey = new RoleKey();
roleKey.Id = "00000000-0000-0000-0000-000000000000";
// Get the complete policy for Create Customer
policyKey = new PolicyKey();
policyKey.Id = new Guid("94880780-186c-43c8-b484-efcdd03cbdbe");
createCustomerPolicy = wsDynamicsGP.GetCompletePolicyByKey(policyKey, roleKey, context);
// Set the behavior for the 'Create Active' behavior
// Find the behavior in the list (from Web Service Reference)
behaviorGUID = new Guid("5c098de9-952c-478c-ad4b-cf992b55ea46");
createActiveBehavior = new Behavior();
foreach (Behavior b in createCustomerPolicy.Behaviors)
{
if (b.Key.Id == behaviorGUID)
{
// Behavior was found
createActiveBehavior = b;
break;
}
}
// Find the behavior option (from Web Service Reference)
behaviorOptionID = 2;
setToInactiveBehaviorOption = new BehaviorOption();
foreach (BehaviorOption bo in createActiveBehavior.Options)
{
if (bo.Key.Id == behaviorOptionID)
{
// Behavior option was found
setToInactiveBehaviorOption = bo;
break;
}
}
// Set selected behavior option to create inactive customers
createActiveBehavior.SelectedOption = setToInactiveBehaviorOption;
// Update the policy instance for the default role
wsDynamicsGP.UpdatePolicy(createCustomerPolicy, roleKey, context);
// Close the service
if(wsDynamicsGP.State != CommunicationState.Faulted)
{
wsDynamicsGP.Close();
}
}
}
}