-
Notifications
You must be signed in to change notification settings - Fork 2
PostInvoicesGetBackTransactionIDs
PatrickLane edited this page Oct 30, 2014
·
1 revision
The PostInvoicesGetBackTransactionIDs
function posts existing invoices to the transaction table and return their unique transaction IDs.
public WSResultStatus PostInvoicesGetBackTransactionIDs(string token, int[] invoiceIDs, out int[] transactionIDs[])
Public Function PostInvoicesGetBackTransactionIDs(ByVal token As String, ByVal invoiceIDs As Integer(), <Out> ByRef transactionIDs As Integer()) As WSResultStatus()
Parameter | Type | Description |
---|---|---|
token | String | The session token retrieved during authentication. |
invoiceIDs | Int32[] | Array of unique invoice identifiers to post to the transaction journal. |
out transactionIDs | Int32[] | Array of unique transaction identifiers posted to the transaction journal. |
Integration ws = new Integration();
String auth = ws.Login(entityID, partnerKey, userKey);
if (auth != null)
{
int i;
string[] customerCodes = new string[100];
for (i = 0; i < customerCodes.Length; i++)
{
customerCodes[i] = "TESTINTEGR";
}
DateTime sdt = DateTime.Now;
WSResult2OfArrayOfInvoice results = this.ws.GetNewSalesInvoices(this.auth, customerCodes);
for (i = 0; i < 100; i++)
{
InvoiceLine line = new InvoiceLine();
line.StockItemID = "MYTEST";
line.StockItemPrice = 100M;
line.TaxCode = "NT";
line.TaxRate = 0.21M;
line.StockItemDescription = "From default";
line.StockItemCost = 50M;
line.InvoicedQuantity = 10M;
line.NetAmount = 1000M;
line.TaxAmount = line.NetAmount * line.TaxRate;
line.GrossAmount = decimal.op_Increment(line.TaxRate) * line.NetAmount;
line.GLAccountCode = "1000";
line.ActualPrice = 100M;
line.LocationID = "1";
line.SublocationID = "GEN";
line.GLAccountCode = "1000";
line.OpeningStockGLAccountCode = "2000";
results.Result[i].AccountName = "Test integration";
results.Result[i].ExternalReference = "External reference 2";
results.Result[i].Lines = new InvoiceLine[] { line };
results.Result[i].ExchangeRate = 1M;
}
int[] invoiceIDs = new int[100];
WSResult2OfArrayOfWSResultStatus results2 = this.ws.CreateInvoicesGetBackInvoiceIDs(this.auth, results.Result, out invoiceIDs);
DateTime edt = DateTime.Now;
for (i = 0; i < 100; i++)
{
Assert.IsTrue(results2.Result[i].Status == OperationStatus.Created);
Assert.AreNotEqual<int>(-1, invoiceIDs[i]);
}
int[] transactionIDs = new int[100];
WSResultStatus[] finalResults = this.ws.PostInvoicesGetBackTransactionIDs(this.auth, invoiceIDs, out transactionIDs);
for (i = 0; i <100; i++)
{
Assert.IsTrue(finalResults[i].Status == OperationStatus.Created);
Assert.AreNotEqual<int>(-1, transactionIDs[i]);
}
}
Dim ws As New Integration
Dim auth As String = ws.Login(entityID, partnerKey, userKey)
If (Not Me.auth Is Nothing) Then
Dim i As Integer
Dim customerCodes As String() = New String(100 - 1) {}
i
For i = 0 To customerCodes.Length - 1
customerCodes(i) = "TESTINTEGR"
Next i
Dim sdt As DateTime = DateTime.Now
Dim results As WSResult2OfArrayOfInvoice = Me.ws.GetNewSalesInvoices(Me.auth, customerCodes)
i
For i = 0 To 100 - 1
Dim line As New InvoiceLine
line.StockItemID = "MYTEST"
line.StockItemPrice = 100
line.TaxCode = "NT"
line.TaxRate = 0.21
line.StockItemDescription = "From default"
line.StockItemCost = 50
line.InvoicedQuantity = 10
line.NetAmount = 1000
line.TaxAmount = (line.NetAmount * line.TaxRate)
line.GrossAmount = (Decimal.op_Increment(line.TaxRate) * line.NetAmount)
line.GLAccountCode = "1000"
line.ActualPrice = 100
line.LocationID = "1"
line.SublocationID = "GEN"
line.GLAccountCode = "1000"
line.OpeningStockGLAccountCode = "2000"
results.Result(i).AccountName = "Test integration"
results.Result(i).ExternalReference = "External reference 2"
results.Result(i).Lines = New InvoiceLine() { line }
results.Result(i).ExchangeRate = 1
Next i
Dim invoiceIDs As Integer() = New Integer(100 - 1) {}
Dim results2 As WSResult2OfArrayOfWSResultStatus = Me.ws.CreateInvoicesGetBackInvoiceIDs(Me.auth, results.Result, invoiceIDs)
Dim edt As DateTime = DateTime.Now
i
For i = 0 To 100 - 1
Assert.IsTrue((results2.Result(i).Status = OperationStatus.Created))
Assert.AreNotEqual(Of Integer)(-1, invoiceIDs(i))
Next i
Dim transactionIDs As Integer() = New Integer(100 - 1) {}
Dim finalResults As WSResultStatus() = Me.ws.PostInvoicesGetBackTransactionIDs(Me.auth, invoiceIDs, transactionIDs)
i
For i = 0 To 100 - 1
Assert.IsTrue((finalResults(i).Status = OperationStatus.Created))
Assert.AreNotEqual(Of Integer)(-1, transactionIDs(i))
Next i
End If