[英]Programmatically edit approval status of vendor bills using NetSuite SOAP API
[英]NetSuite SOAP API (SuiteTalk) to dump General Ledger
谁能给我如何读取使用总账建议SuiteTalk
的SOAP
从API NetSuite
?
例如,如果您查看NetSuite
UI上的帐户或事务,则可以选择“ GL Impact
”。 这将生成相关总帐分录的列表。
但是,我无法找到使用SuiteTalk
获取相同列表的方法。 我尝试调用的一个最初很有前途的SOAP
操作是getPostingTransactionSummary()
,但这只是一个摘要,缺少交易日期等细节。 另一种方法是调用search()
传递TransactionSearchBasic
对象。 这会返回太多类型的交易,我不确定哪些实际上对总账有影响。
我正在使用Java
和Axis
工具包进行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.