Использование опции "Обзор"
Я пишу заявку для Twinfield. Я вхожу в учетную запись с 4 администрациями в нем. Я хотел бы получить всю информацию, относящуюся к неоплаченным счетам.
С опцией поиска я получаю все открытые счета для определенного офиса.
string[][] finderOptions = new string[2][];
switch (office)
{
case 0:
finderOptions[0] = new string[] { "office", "xxxx01-01" };
break;
case 1:
finderOptions[0] = new string[] { "office", "xxxx03-01" };
break;
}
finderOptions[1] = new string[] { "dim1", "1300" };
TwinfieldFinder.MessageOfErrorCodes[] errorCodes = xmlFinder.Search(hdrXml, "IVT", "*", 0, 1, 0, finderOptions, out findResult);
Это работает. Но он возвращает номер счета, и мне также нужен номер транзакции. Поэтому я выполняю Обзор, чтобы найти номер сделки.
Может быть, есть другой способ найти полную транзакцию, используя invoicenumber iso номер транзакции?
Вызов Browse выглядит так:
TwinfieldProcessXml.ProcessXmlSoapClient xmlClient = new
TwinfieldProcessXml.ProcessXmlSoapClient("ProcessXmlSoap", cluster + "/webservices/processxml.asmx?wsdl");
TwinfieldProcessXml.Header hdrXml2 = new TwinfieldProcessXml.Header();
hdrXml2.CompanyCode = finderOptions[0][1];
hdrXml2.AnyAttr = hdr.AnyAttr;
hdrXml2.SessionID = hdr.SessionID;
Не имеет значения, если я использую CompanyCode в заголовках. Он всегда возвращает информацию, относящуюся к первому офису: xxxx01-01.
1 ответ
При использовании кодов просмотра в Twinfield, обязательно сделайте SoapCall, чтобы выбрать правильную компанию, как описано там:
https://c3.twinfield.com/webservices/documentation/
В противном случае вы получите данные для компании по умолчанию:
Q. When using the Browse Data functionality, in the response I get data from a different company. What is wrong?
A. In the browse data request there is no option to set the current company. Before sending the request, make sure the correct company is set by using the SelectCompany function. See also Web Services Authentication.
Чтобы получить открытые счета, лучше всего использовать коды просмотра. Выберите код 100 и добавьте фильтр в столбец matchstatus, вот пример:
https://gist.github.com/alexjeen/d4ef3295820dc98c7f0171e47294dbfe