C# 我可以通过网络服务Acumatica获得下一个topCount吗?
我想得到一个逐顶的数据,“先100个,然后101到200个”,因为我只看到API的“topCount”参数,我只能得到静态数据数量,所以在Acumatica?上使用webservice可以得到这样的数据C# 我可以通过网络服务Acumatica获得下一个topCount吗?,c#,php,api,acumatica,C#,Php,Api,Acumatica,我想得到一个逐顶的数据,“先100个,然后101到200个”,因为我只看到API的“topCount”参数,我只能得到静态数据数量,所以在Acumatica?上使用webservice可以得到这样的数据 请帮助我,我不知道这是否适用于web服务Acumatica始终通过API导出记录,按关键字段升序排序。为了批量导出记录,您只需将$top参数与上次检索到的关键字字段的附加GreaterThen条件组合起来即可: 使用组合的$top和$skip参数,Acumatica始终首先请求$top参数指定的
请帮助我,我不知道这是否适用于web服务Acumatica始终通过API导出记录,按关键字段升序排序。为了批量导出记录,您只需将
$top
参数与上次检索到的关键字字段的附加GreaterThen
条件组合起来即可:
使用组合的$top
和$skip
参数,Acumatica始终首先请求$top
参数指定的记录数,然后从结果集的开头排除$skip
参数指定的记录数:
http://localhost/051989/entity/Default/6.00.001/StockItem?$top=10$skip=5
Skip参数不适用于SOAP。要使用SOAP批量导出记录,您应该将
RowNumber
属性的LessThan条件与上次检索到的关键字字段的GreaterThen条件相结合:
Acumatica始终通过按关键字段升序排序的API导出记录。为了批量导出记录,您只需将
$top
参数与上次检索到的关键字字段的附加GreaterThen
条件组合起来即可:
使用组合的$top
和$skip
参数,Acumatica始终首先请求$top
参数指定的记录数,然后从结果集的开头排除$skip
参数指定的记录数:
http://localhost/051989/entity/Default/6.00.001/StockItem?$top=10$skip=5
Skip参数不适用于SOAP。要使用SOAP批量导出记录,您应该将
RowNumber
属性的LessThan条件与上次检索到的关键字字段的GreaterThen条件相结合:
是否可以将$skip与SOAP一起使用?Thankskip参数在SOAP中不可用。有关详细信息,请参阅上面的更新答案。感谢您提供的
RowNumber
提示!我一直在搜索。是否可以将$skip与SOAP一起使用?Thankskip参数在SOAP中不可用。有关详细信息,请参阅上面的更新答案。感谢您提供的RowNumber
提示!我一直在寻找。
using (DefaultSoapClient client = new DefaultSoapClient())
{
client.Login("login", "password", null, null, null);
try
{
var items = client.GetList(
new StockItem
{
RowNumber = new LongSearch
{
Condition = LongCondition.IsLessThan,
Value = 10
}
},
false);
int count = items.Length;
Console.WriteLine("InventoryID | Description | ItemClass | BaseUOM | LastModified");
foreach (StockItem stockItem in items)
{
Console.WriteLine(
string.Format("{0} | {1} | {2} | {3} | {4}",
stockItem.InventoryID.Value,
stockItem.Description.Value,
stockItem.ItemClass.Value,
stockItem.BaseUOM.Value,
stockItem.LastModified.Value));
}
while (items.Length == 10)
{
StockItem filter = new StockItem
{
RowNumber = new LongSearch
{
Condition = LongCondition.IsLessThan,
Value = 10
},
InventoryID = new StringSearch
{
Condition = StringCondition.IsGreaterThan,
Value = (items[items.Length - 1] as StockItem).InventoryID.Value
}
};
items = client.GetList(filter, false);
count = count + items.Length;
foreach (StockItem stockItem in items)
{
Console.WriteLine(
string.Format("{0} | {1} | {2} | {3} | {4}",
stockItem.InventoryID.Value,
stockItem.Description.Value,
stockItem.ItemClass.Value,
stockItem.BaseUOM.Value,
stockItem.LastModified.Value));
}
}
Console.WriteLine();
Console.WriteLine(string.Format("Stock Items exported: {0}", count));
Console.WriteLine();
}
finally
{
client.Logout();
}
}