繁体   English   中英

NetSuite SOAP API(SuiteTalk)转储总帐

[英]NetSuite SOAP API (SuiteTalk) to dump General Ledger

谁能给我如何读取使用总账建议SuiteTalkSOAP从API NetSuite

例如,如果您查看NetSuite UI上的帐户或事务,则可以选择“ GL Impact ”。 这将生成相关总帐分录的列表。

但是,我无法找到使用SuiteTalk获取相同列表的方法。 我尝试调用的一个最初很有前途的SOAP操作是getPostingTransactionSummary() ,但这只是一个摘要,缺少交易日期等细节。 另一种方法是调用search()传递TransactionSearchBasic对象。 这会返回太多类型的交易,我不确定哪些实际上对总账有影响。

我正在使用JavaAxis工具包进行SOAP操作,但是可以理解任何语言(或原始SOAP XML )的示例。

通过交易搜索,您走在正确的轨道上。 您正在寻找张贴是真实的以及该行有帐户的位置。 但是我会在保存的搜索编辑器中设置它,至少在你弄清楚如何过滤到可管理的行数之前。 然后使用TransactionSearchAdvanced和savedSearchId通过SuiteTalk提取该信息

我可以使用以下代码搜索GL交易,这可以帮助您。

public void GetTransactionData()
{
    DataTable dtData = new DataTable();
    string errorMsg = "";
    LoginToService(ref errorMsg);

    TransactionSearch objTransSearch = new TransactionSearch();
    TransactionSearchBasic objTransSearchBasic = new TransactionSearchBasic();
    SearchEnumMultiSelectField semsf = new SearchEnumMultiSelectField();

    semsf.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
    semsf.operatorSpecified = true;
    semsf.searchValue = new string[] { "Journal" };
    objTransSearchBasic.type = semsf;


    objTransSearchBasic.postingPeriod = new RecordRef() { internalId = "43" };

    objTransSearch.basic = objTransSearchBasic;


    //Set Search Preferences
    SearchPreferences _searchPreferences = new SearchPreferences();
    Preferences _prefs = new Preferences();
    _serviceInstance.preferences = _prefs;
    _serviceInstance.searchPreferences = _searchPreferences;
    _searchPreferences.pageSize = 1000;
    _searchPreferences.pageSizeSpecified = true;
    _searchPreferences.bodyFieldsOnly = false;

    //Set Search Preferences

    try
    {
        SearchResult result = _serviceInstance.search(objTransSearch);

        List<JournalEntry> lstJEntry = new List<JournalEntry>();
        List<JournalEntryLine> lstLineItems = new List<JournalEntryLine>();

        if (result.status.isSuccess)
        {
            for (int i = 0; i <= result.recordList.Length - 1; i += 1)
            {

                JournalEntry JEntry = (JournalEntry)result.recordList[i];
                lstJEntry.Add((JournalEntry)result.recordList[i]);

                if (JEntry.lineList != null)
                {

                    foreach (JournalEntryLine line in JEntry.lineList.line)
                    {
                        lstLineItems.Add(line);
                    }
                }
            }
        }


        try
        {
            _serviceInstance.logout();
        }
        catch (Exception ex)
        {

        }
    }

    catch (Exception ex)
    {
        throw ex;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM