簡體   English   中英

NetSuite SuiteTalk-從“ SearchColumnSelectField”檢索值字符串

[英]NetSuite SuiteTalk - Retrieve Value String From “SearchColumnSelectField”

假設您正在嘗試訪問SuiteTalk中以“ SearchColumnSelectField”類型返回的值:

((TransactionSearchRow)row).basic.postingPeriod?[0].searchValue.name

注意:我以postingPeriod為例,但是還有許多其他記錄返回相同類型的“ RecordRef”類型的“ searchValue”。

This(“ searchValue.name”)將為null,類似於此處詳述的問題,但與CustomFields不同,我看不到任何基於返回的“ searchValue”的“ internalId”檢索查找值的記錄方法(通常填充)。 使事情更加復雜的是,返回的對象似乎沒有指定“ typeId”。 看起來像這樣:

在此處輸入圖片說明

所以我再次想知道,如何從SuiteTalk(“ searchValue.name”)的NetSuite界面訪問文本值? 缺少NetSuite文檔,在這種情況下,顯然是“ period”類型的 ,但是如何枚舉呢? 還是在這種情況下,可能有另一種方法來獲取價值?

我一直在環顧四周,但是關於這一點並沒有寫很多。 我認為這篇文章中提到了這個問題。 除此之外,我真的找不到任何東西。 我已經檢查過API文檔, 在這里這里 ,並沒有太大幫助,我想知道是否有關於我沒有看到的關於該主題的內部文檔,但是從我閱讀的內容來看,確實沒有多少

通過嘗試SuiteTalk中的所有get和search方法,我發現了似乎是答案的方法,告訴我找到了一種能夠返回正確類型的結果的方法:

NetSuiteService nsService = ... //Your NetSuiteService
IEnumerable<TransactionSearchRow> rows = ... //The results of your query

var lookup = nsService.getList(rows.
                Where(a => a.basic.postingPeriod.Any())
                .Select(a =>
                {
                    var value = a.basic.postingPeriod[0].searchValue;
                    value.type = RecordType.accountingPeriod;
                    value.typeSpecified = true;
                    return value;
                })
                .GroupBy(a => a.internalId)
                .Select(a => a.First())
                .ToArray()).readResponse
                .ToDictionary(a => ((AccountingPeriod)a.record).internalId, 
                    a => ((AccountingPeriod)a.record).periodName);

var allPeriods = rows
    .Select(a => a.basic.postingPeriod.Any() ? 
         lookup[a.basic.postingPeriod[0].searchValue.internalId] : "")
    .ToArray();

此處列出了此方法,但實際上並沒有提供足夠的細節。 另外,我不確定為什么:

Period(Column)= a.basic.postingPeriod(Property)= RecordType.accountingPeriod(Property)= AccountingPeriod(Type)

我猜想一種也必須猜測每種類型對應什么。 在一段時間內,它還不錯,但是對於其他一些而言,可能會有些混亂。

我希望這可以幫助其他人,對我來說這是一個艱難的過程。 如果還有其他解決方案,我仍然歡迎您提出建議。 我仍然不確定這是最有效的數據檢索方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM