Venice
PInvceDet::SeekBySupArt
 
Seeks a Purchase Invoice Detail line by its supplier number and article.
 
VARIANT_BOOL SeekBySupArt (
    enum eSeekMode eSeekMode,
    LONG lSupNum,
    LONG lSubNum,
    BSTR bsArticleNumber,
    DATE dDocDate,
    BSTR bsBook,
    LONG lDocNum,
    SHORT sLineNum
)
 
Key information
This method uses key number 4 (See SwapKey).
This is a unique key.
 
Key segment information
Segment NameTypeOrderCollation
pSupNumLONG (unsigned)Ascending-
pSupSubNumLONG (unsigned)Ascending-
pArtNumBSTRAscendingHierarchy
pDocDateDATE (date)Ascending-
pBookBSTRAscendingCase insensitive
pDocNumLONG (unsigned)Ascending-
pLineNumSHORT (unsigned)Ascending-
 
Parameters
eSeekMode
[in] A value of the 'eSeekMode' enumeration.
lSupNum
[in] The supplier number of the Purchase Invoice of which you want to seek a detail line.
lSubNum
[in] The supplier subnumber of the Purchase Invoice of which you want to seek a detail line.
bsArticleNumber
[in] The article number of the Purchase Invoice Detail line you want to seek.
dDocDate
[in] The document date of the Purchase Invoice of which you want to seek a detail line.
bsBook
[in] The book code of the Purchase Invoice of which you want to seek a detail line.
lDocNum
[in] The document number of the Purchase Invoice of which you want to seek a detail line.
sLineNum
[in] The line number of the Purchase Invoice Detail line you want to seek.
 
Remarks
This number is a 0-based index, i.e. it starts from 0. Therefore the value of this parameter is 1 less than the numbers shown in the Venice grids and 1 less than the value returned by the property vLine (see properties)!
 
Return value
True if the record with the given properties was found, otherwise false.
 
See Also
CreatePInvceDet
GetDBStatus
GetNext
 
Samples
 
C++
 
// Seek the data of all detail lines for the article with number = 'Art_001' of all purchase invoices for the supplier with number 125/0
long lSupNum = 125, lSubNum = 0;
CString strArtNum = "Art_001";
pPInvceDet->SeekBySupArt (smGreaterOrEqual, lSupNum, lSubNum, (LPCSTR)strArtNum, COleDateTime (0, 0, 0, 0, 0, 0).m_dt, "", 0, 0);
while (pPInvceDet->GetDBStatus () == 0 && (long)pPInvceDet->pSupNum == lSupNum && (long)pPInvceDet->pSupSubNum == lSubNum && (CString)pPInvceDet->pArtNum == strArtNum)
{
    // Process record data
    
    pPInvceDet->GetNext ();
}

C#
 
// Seek the data of all detail lines for the article with number = 'Art_001' of all purchase invoices for the supplier with number 125/0
int iSupNum = 125, iSubNum = 0;
string strArtNum = "Art_001";
oPInvceDet.SeekBySupArt (eSeekMode.smGreaterOrEqual, iSupNum, iSubNum, strArtNum, new DateTime (), "", 0, 0);
while (oPInvceDet.GetDBStatus () == 0 && (int)oPInvceDet.pSupNum == iSupNum && (int)oPInvceDet.pSupSubNum == iSubNum && oPInvceDet.pArtNum.ToString () == strArtNum)
{
    // Process record data
    
    oPInvceDet.GetNext ();
}

VBS
 
' Seek the data of all detail lines for the article with number = 'Art_001' of all purchase invoices for the supplier with number 125/0
Dim iSupNum, iSubNum
Dim strArtNum
Dim dtDocDate
iSupNum = 125
iSubNum = 0
strArtNum = "Art_001"
Call oPInvceDet.SeekBySupArt(smGreaterOrEqual, iSupNum, iSubNum, strArtNum, dtDocDate, "", 0, 0)
While oPInvceDet.GetDBStatus() = 0 And oPInvceDet.pSupNum = iSupNum And oPInvceDet.pSupSubNum = iSubNum And oPInvceDet.pArtNum = strArtNum
    ' Process record data

    Call oPInvceDet.GetNext()
Wend

VB.NET
 
' Seek the data of all detail lines for the article with number = 'Art_001' of all purchase invoices for the supplier with number 125/0
Dim iSupNum, iSubNum As Integer
Dim strArtNum As String
Dim dtDocDate As Date
iSupNum = 125
iSubNum = 0
strArtNum = "Art_001"
oPInvceDet.SeekBySupArt(eSeekMode.smGreaterOrEqual, iSupNum, iSubNum, strArtNum, dtDocDate, "", 0, 0)
While oPInvceDet.GetDBStatus() = 0 And oPInvceDet.pSupNum = iSupNum And oPInvceDet.pSupSubNum = iSubNum And oPInvceDet.pArtNum = strArtNum
    ' Process record data

    oPInvceDet.GetNext()
End While