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
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.
Parameters
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. |
Return Value:
Value |
Type |
Description |
|---|---|---|
GetChangedSalesInvoiceKeyListResult |
The list of changed sales invoice key objects that match the specified criteria. |
Interfaces
- Dynamics GP
Examples
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.ServiceModel;
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();
}
}
}
}