Sndry::InsertDetail2 (Interface: Sndry)
 
Inserts a new extended accounting detail in the document.
 
void InsertDetail2 (
    SHORT sIndex,
    DOUBLE dAmountDocC,
    DOUBLE dQuantity,
    DOUBLE dValue1,
    BSTR bsAccount,
    BSTR bsRemark,
    BSTR bsText1,
    DOUBLE dAmountDetC,
    BSTR bsDetC,
    LONG lTickSysNum,
    VARIANT_BOOL bInterCompany,
    BSTR bsCutOffAccount,
    DATE dteCutOffStart,
    DATE dteCutOffEnd
)
 
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.
dAmountDetC
[in] The amount (in detail currency) of the detail.
bsDetC
[in] The currency of the detail.
lTickSysNum
[in] The system number of the detail that is ticked by this line, 0 if nothing is ticked.
bInterCompany
[in] The inter-company flag of the detail.
bsCutOffAccount
[in] The cut off account number of the detail.
dteCutOffStart
[in] The cut off start date of the detail.
dteCutOffEnd
[in] The cut off end date 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.
To find a valid system number for the parameter lTickSysNum, you can use the Entry object (e.g. SeekByDocNum).
 
See Also
CreateSndry
Handling accounting documents using the SDK
InsertDetail
PrepareDocument
GetManualIndex
WriteDocument
CancelDocument
 
Samples
 
C++
 
// Insert a new text line before the first manual detail of the current document
short sManualIndex;

pSndry->PrepareDocument (paUpdate);

sManualIndex = pSndry->GetManualIndex ();

if (sManualIndex != -1)
{
    pSndry->InsertDetail2 (sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "", 0.0, "", 0, VARIANT_FALSE, "", COleDateTime (0, 0, 0, 0, 0, 0).m_dt, COleDateTime (0, 0, 0, 0, 0, 0).m_dt);

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

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

oSndry.PrepareDocument (ePrepareAction.paUpdate);

sManualIndex = oSndry.GetManualIndex ();

if (sManualIndex != -1)
{
    oSndry.InsertDetail2 (sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "", 0.0, "", 0, false, "", new DateTime (), new DateTime ());

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

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

Call oSndry.PrepareDocument(paUpdate)

sManualIndex = oSndry.GetManualIndex()

If sManualIndex <> -1 Then
    Call oSndry.InsertDetail2(sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "", 0.0, "", 0, False, "", dtDate, dtDate)

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

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

oSndry.PrepareDocument(ePrepareAction.paUpdate)

sManualIndex = oSndry.GetManualIndex()

If sManualIndex <> -1 Then
    oSndry.InsertDetail2(sManualIndex, 0.0, 0.0, 0.0, "", "Inserted via SDK", "", 0.0, "", 0, False, "", dtDate, dtDate)

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