Retrieves a list of changed sales invoice key objects for the sales invoices that have been acted on during the specified interval. A sales invoice has been acted on if it has been created, updated, or deleted. Entity change tracking must be enabled for this method to return valid results.
Parameter |
Type |
Description |
---|---|---|
criteria |
The sales invoice changed key criteria object that specifies which changed sales invoice key objects to return. |
|
context |
Specifies information about how the method will be called. |
Value |
Type |
Description |
---|---|---|
GetChangedSalesInvoiceKeyListResult |
The list of changed sales invoice key objects that match the specified criteria. |
The following C# example retrieves the list of the changed sales invoice key objects for all of the sales invoices that were created, updated, or deleted over the last week. A message box displays the number of sales invoices that had each action type performed on them.
Legacy endpoint
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using DynamicsGPWebServiceSample.DynamicsGPService; namespace DynamicsGPWebServiceSample { class Program { static void Main(string[] args) { CompanyKey companyKey; Context context; SalesInvoiceChangedKeyCriteria salesInvoiceCriteria; ChangedSalesInvoiceKey[] changedSalesInvoiceKeyObjects; BetweenRestrictionOfNullableOfDateTime restriction; // Create an instance of the service DynamicsGP wsDynamicsGP = new DynamicsGP(); // Be sure the 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 restriction that defines the interval examined for changes // The following restriction includes the last week restriction = new BetweenRestrictionOfNullableOfDateTime(); restriction.From = DateTime.Today.Date.AddDays(-7); restriction.To = DateTime.Today.Date.AddDays(1); // Create the criteria to return sales invoice objects that changed salesInvoiceCriteria = new SalesInvoiceChangedKeyCriteria(); salesInvoiceCriteria.LastModifiedDate = restriction; // Retrieve the changed sales invoice key objects changedSalesInvoiceKeyObjects = wsDynamicsGP.GetChangedSalesInvoiceKeyList(salesInvoiceCriteria, context); // Display the numbers of sales invoices that were acted on this week int created = 0; int updated = 0; int deleted = 0; foreach (ChangedSalesInvoiceKey key in changedSalesInvoiceKeyObjects) { if (key.Action == DataModificationAction.Created) created++; if (key.Action == DataModificationAction.Updated) updated++; if (key.Action == DataModificationAction.Deleted) deleted++; } string message; message = "Sales invoices: \n"; message = message + "Created: " + created.ToString() + "\n"; message = message + "Updated: " + updated.ToString() + "\n"; message = message + "Deleted: " + deleted.ToString() + "\n"; MessageBox.Show(message); } } }
Native endpoint
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using DynamicsGPWebServiceSample.DynamicsGPService; namespace DynamicsGPWebServiceSample { class Program { static void Main(string[] args) { CompanyKey companyKey; Context context; SalesInvoiceChangedKeyCriteria salesInvoiceCriteria; ChangedSalesInvoiceKey[] changedSalesInvoiceKeyObjects; BetweenRestrictionOfNullableOfdateTime restriction; // 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 restriction that defines the interval examined for changes // The following restriction includes the last week restriction = new BetweenRestrictionOfNullableOfdateTime(); restriction.From = DateTime.Today.Date.AddDays(-7); restriction.To = DateTime.Today.Date.AddDays(1); // Create the criteria to return sales invoice objects that changed salesInvoiceCriteria = new SalesInvoiceChangedKeyCriteria(); salesInvoiceCriteria.LastModifiedDate = restriction; // Retrieve the changed sales invoice key objects changedSalesInvoiceKeyObjects = wsDynamicsGP.GetChangedSalesInvoiceKeyList(salesInvoiceCriteria, context); // Display the numbers of sales invoices that were acted on this week int created = 0; int updated = 0; int deleted = 0; foreach (ChangedSalesInvoiceKey key in changedSalesInvoiceKeyObjects) { if (key.Action == DataModificationAction.Created) created++; if (key.Action == DataModificationAction.Updated) updated++; if (key.Action == DataModificationAction.Deleted) deleted++; } string message; message = "Sales invoices: \n"; message = message + "Created: " + created.ToString() + "\n"; message = message + "Updated: " + updated.ToString() + "\n"; message = message + "Deleted: " + deleted.ToString() + "\n"; MessageBox.Show(message); // Close the service if(wsDynamicsGP.State != CommunicationState.Faulted) { wsDynamicsGP.Close(); } } } }