Purch::DeleteDetail (Interface: Purch)
 
Deletes an accounting detail from the document.
 
void DeleteDetail (
    SHORT sIndex
)
 
Parameters
sIndex
[in] The index of the detail, starting from 0.
 
Remarks
If the parameter sIndex is an invalid index (refers to a not existing detail) an exception is thrown. You can use GetDetail to check whether an index is valid, in which case it returns true.
 
See Also
CreatePurch
Handling accounting documents using the SDK
PrepareDocument
GetNumDetails
GetDetail
WriteDocument
CancelDocument
 
Samples
 
C++
 
// Delete the detail with remark = 'Remove this line!' of the current document
VARIANT vRemark;
short sNumDets;
bool bNext = true, bWrite = false;

pPurch->PrepareDocument (paUpdate);

sNumDets = pPurch->GetNumDetails ();

for (short sDetail = 0; bNext && sDetail < sNumDets; sDetail++)
{
    if (pPurch->GetDetail (sDetail, NULL, NULL, NULL, NULL, &vRemark, NULL) && CString (vRemark.bstrVal) == "Remove this line!")
    {
        pPurch->DeleteDetail (sDetail);
        bWrite = true;
        bNext = false;
    }
}

if (bWrite)
    pPurch->WriteDocument (rmFullReport);
else
    pPurch->CancelDocument ();

C#
 
// Delete the detail with remark = 'Remove this line!' of the current document
object oRemark, oDummy;
short sNumDets;
bool bNext = true, bWrite = false;

oPurch.PrepareDocument (ePrepareAction.paUpdate);

sNumDets = oPurch.GetNumDetails ();

for (short sDetail = 0; bNext && sDetail < sNumDets; sDetail++)
{
    if (oPurch.GetDetail (sDetail, out oDummy, out oDummy, out oDummy, out oDummy, out oRemark, out oDummy) && oRemark.ToString () == "Remove this line!")
    {
        oPurch.DeleteDetail (sDetail);
        bWrite = true;
        bNext = false;
    }
}

if (bWrite)
    oPurch.WriteDocument (eReportMode.rmFullReport);
else
    oPurch.CancelDocument ();

VBS
 
' Delete the detail with remark = 'Remove this line!' of the current document
Dim oRemark, oDummy
Dim sDetail, sNumDets
Dim bWrite

bWrite = False

Call oPurch.PrepareDocument(paUpdate)

sNumDets = oPurch.GetNumDetails()

For sDetail = 0 To sNumDets - 1
    If oPurch.GetDetail(sDetail, oDummy, oDummy, oDummy, oDummy, oRemark, oDummy) And oRemark = "Remove this line!" Then
        Call oPurch.DeleteDetail(sDetail)
        bWrite = True
        Exit For
    End If
Next

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

VB.NET
 
' Delete the detail with remark = 'Remove this line!' of the current document
Dim oRemark, oDummy As Object
Dim sNumDets As Short
Dim bWrite As Boolean

bWrite = False

oPurch.PrepareDocument(ePrepareAction.paUpdate)

sNumDets = oPurch.GetNumDetails()

For sDetail As Short = 0 To sNumDets - 1
    If oPurch.GetDetail(sDetail, oDummy, oDummy, oDummy, oDummy, oRemark, oDummy) And oRemark = "Remove this line!" Then
        oPurch.DeleteDetail(sDetail)
        bWrite = True
        Exit For
    End If
Next

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