|
Updates an accounting detail in the document. |
|
|
void UpdateDetail ( 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 |
| 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. |
| If an analytical entry proposal exists for the provided account (parameter bsAccount), the detail is automatically distributed according to this proposal. |
|
|
See Also |
|
|
|
Samples |
|
|
C++ |
|
// Update the remark of the first manual detail of the current document to 'Updated via SDK'
short sManualIndex;
bool bWrite = false;
pSales->PrepareDocument (paUpdate);
sManualIndex = pSales->GetManualIndex ();
if (sManualIndex != -1)
{
VARIANT vAmountDocC, vQuantity, vValue1, vAccount, vRemark, vText1;
if (pSales->GetDetail (sManualIndex, &vAmountDocC, &vQuantity, &vValue1, &vAccount, &vRemark, &vText1))
{
pSales->UpdateDetail (sManualIndex, vAmountDocC.dblVal, vQuantity.dblVal, vValue1.dblVal, vAccount.bstrVal, "Updated via SDK", vText1.bstrVal);
bWrite = true;
}
}
if (bWrite)
pSales->WriteDocument (rmFullReport);
else
pSales->CancelDocument ();
|
|
|
C# |
|
// Update the remark of the first manual detail of the current document to 'Updated via SDK'
short sManualIndex;
bool bWrite = false;
oSales.PrepareDocument (ePrepareAction.paUpdate);
sManualIndex = oSales.GetManualIndex ();
if (sManualIndex != -1)
{
object oAmountDocC, oQuantity, oValue1, oAccount, oRemark, oText1;
if (oSales.GetDetail (sManualIndex, out oAmountDocC, out oQuantity, out oValue1, out oAccount, out oRemark, out oText1))
{
oSales.UpdateDetail (sManualIndex, (double)oAmountDocC, (double)oQuantity, (double)oValue1, oAccount.ToString (), "Updated via SDK", oText1.ToString ());
bWrite = true;
}
}
if (bWrite)
oSales.WriteDocument (eReportMode.rmFullReport);
else
oSales.CancelDocument ();
|
|
|
VBS |
|
' Update the remark of the first manual detail of the current document to 'Updated via SDK'
Dim sManualIndex
Dim bWrite
bWrite = False
Call oSales.PrepareDocument(paUpdate)
sManualIndex = oSales.GetManualIndex()
If sManualIndex <> -1 Then
Dim oAmountDocC, oQuantity, oValue1, oAccount, oRemark, oText1
If oSales.GetDetail(sManualIndex, oAmountDocC, oQuantity, oValue1, oAccount, oRemark, oText1) Then
Call oSales.UpdateDetail(sManualIndex, oAmountDocC, oQuantity, oValue1, oAccount, "Updated via SDK", oText1)
bWrite = True
End If
End If
If bWrite Then
Call oSales.WriteDocument(rmFullReport)
Else
Call oSales.CancelDocument()
End If
|
|
|
VB.NET |
|
' Update the remark of the first manual detail of the current document to 'Updated via SDK'
Dim sManualIndex As Short
Dim bWrite As Boolean
oSales.PrepareDocument(ePrepareAction.paUpdate)
sManualIndex = oSales.GetManualIndex()
bWrite = False
If sManualIndex <> -1 Then
Dim oAmountDocC, oQuantity, oValue1, oAccount, oRemark, oText1 As Object
If oSales.GetDetail(sManualIndex, oAmountDocC, oQuantity, oValue1, oAccount, oRemark, oText1) Then
oSales.UpdateDetail(sManualIndex, oAmountDocC, oQuantity, oValue1, oAccount, "Updated via SDK", oText1)
bWrite = True
End If
End If
If bWrite Then
oSales.WriteDocument(eReportMode.rmFullReport)
Else
oSales.CancelDocument()
End If
|
|