SuiteTalk: найти внутренний идентификатор элемента неизвестного типа
Заданные элементы, найденные по этому запросу
var items = netSuiteService.search(new ItemSearch()
{
basic = new ItemSearchBasic()
{
feedName = new SearchStringField()
{
searchValue = "Item Name",
@operator = SearchStringFieldOperator.@is,
operatorSpecified = true
}
}
});
Как я могу получить internalId
каждого из предметов без знания типа каждого предмета?
Конечно, существует обходной путь: сделать большой переход со всеми возможными типами элементов или использовать отражение. Ищете более элегантное решение.
Возможно, другой, более общий запрос?
Я намерен использовать эти internalIds
для создания счетов, как это:
var invoice = new Invoice()
{
entity = new RecordRef()
{
type = RecordType.customer,
internalId = customerInternalId
},
account = new RecordRef()
{
type = RecordType.account,
internalId = "1100"
},
amountRemaining = 123.5,
tranDate = DateTime.Parse("2002-10-01"),
tranDateSpecified = true,
itemList = new InvoiceItemList
{
item = new[]
{
new InvoiceItem()
{
rate = "123.3",
description = "First invoice item",
quantity = 5,
quantitySpecified = true,
@class = new RecordRef()
{
name = "Building"
},
item = new RecordRef()
{
internalId = "298",
typeSpecified = false
}
}
}
},
externalId = "45678",
tranId = "45678"
};
var result = netSuiteService.add(invoice);