Purch::InsertDetail (Interface: Purch)
 
Inserts a new accounting detail in the document.
 
void InsertDetail (
    SHORT sIndex,
    DOUBLE dAmountDocC,
    DOUBLE dQuantity,
    DOUBLE dValue1,
    BSTR bsAccount,
    BSTR bsRemark,
    BSTR bsText1
)
 
Parameters
sIndex
[in] The index of the detail, starting from 0.
dAmountDocC
[in] The amount (in document currency) of the detail.
dQuantity
[in] The quantity of the detail.
dValue1
[in] The free value of the detail.
bsAccount
[in] The account number of the detail.
bsRemark
[in] The remark of the detail.
bsText1
[in] The free text of the detail.
 
Remarks
The parameter sIndex can have the value -1. In this case the new detail is inserted after the existing details.
If sIndex refers to an existing index, the new detail is inserted at this index and all following details are moved to the next index.
If an analytical entry proposal exists for the provided account (parameter bsAccount), the detail is automatically distributed according to this proposal.
 
See Also
CreatePurch
Handling accounting documents using the SDK
InsertDetail2
PrepareDocument
GetManualIndex
WriteDocument
CancelDocument
 
Samples
 
C++
 
// Insert a new text line before the first manual detail of the current document
short sManualIndex;

pPurch->PrepareDocument (paUpdate);

sManualIndex = pPurch->GetManualIndex ();

if (sManualIndex != -1)
{
    pPurch->InsertDetail (sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "");

    pPurch->WriteDocument (rmFullReport);
}
else
    pPurch->CancelDocument ();

C#
 
// Insert a new text line before the first manual detail of the current document
short sManualIndex;

oPurch.PrepareDocument (ePrepareAction.paUpdate);

sManualIndex = oPurch.GetManualIndex ();

if (sManualIndex != -1)
{
    oPurch.InsertDetail (sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "");

    oPurch.WriteDocument (eReportMode.rmFullReport);
}
else
    oPurch.CancelDocument ();

VBS
 
' Insert a new text line before the first manual detail of the current document
Dim sManualIndex

Call oPurch.PrepareDocument(paUpdate)

sManualIndex = oPurch.GetManualIndex()

If sManualIndex <> -1 Then
    Call oPurch.InsertDetail(sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "")

    Call oPurch.WriteDocument(rmFullReport)
Else
    Call oPurch.CancelDocument ()
End If

VB.NET
 
' Insert a new text line before the first manual detail of the current document
Dim sManualIndex As Short

oPurch.PrepareDocument(ePrepareAction.paUpdate)

sManualIndex = oPurch.GetManualIndex()

If sManualIndex <> -1 Then
    oPurch.InsertDetail(sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "")

    oPurch.WriteDocument(eReportMode.rmFullReport)
Else
    oPurch.CancelDocument()
End If