Вопрос

У меня есть требование клиента экспортировать чеки, написанные в QuickBooks, в определенный формат, поскольку их банк позволяет предотвратить мошенничество, загружая файл, и они сверяют имя на чеке с тем, что вы им даете, прежде чем очистить его.

Я просмотрел SDK QuickBooks (в целом мы используем XML для связи), и он ссылается на поле проверки под названием PayeeEntityRef со свойством FullName, но обычно в QuickBooks эта структура данных указывает на то, как называется объект, а не на то, что отображается на нем. чек (например, у поставщиков есть свойство NameOnCheck, которое может быть чем-то отличным от их имени).

Не создавая здесь несколько тестовых примеров для демонстрации поведения QuickBooks, есть ли у кого-нибудь опыт получения имени, которое было напечатано на чеке?Как лучше всего это сделать?

Это было полезно?

Решение

Получить то, что вы хотите, в некоторой степени возможно, но могут возникнуть некоторые проблемы, о которых вам нужно будет сообщить клиенту.Основная проблема заключается в том, что невозможно узнать настоящее имя, напечатанное на чеке.

Сначала вам нужно будет запросить чеки/оплату счетов — чеки для банковского счета.Затем, используя PayeeEntityRef (я бы использовал компонент ListID), выясните, в каком «Списке» находится объект;Клиент, Продавец, Сотрудник или другое.Я не знаю другого способа определить, из какого списка находится PayeeEntityRef, кроме выполнения запроса для каждого из списков.

Если PayeeEntityRef является поставщиком или сотрудником, вы можете получить значение NameOnCheck.Единственное, что вам нужно иметь в виду, это то, что если NameOnCheck был изменен ПОСЛЕ печати чека, имена не будут совпадать.

Если PayeeEntityRef — это имя клиента или другое имя, вам придется сделать немного больше.Значение, которое QuickBooks использует для печатного имени, зависит от того, какие поля заполняются для записи клиента.Сначала будет использоваться поле CompanyName, если оно не равно нулю.Затем он попытается использовать поля «Имя», «Среднее имя», «Фамилия», если они не равны нулю.Наконец, в крайнем случае будет использоваться поле «Имя».Имейте в виду, что это не поле «Полное имя», а только поле «Имя».

Я не проверял это с именем «Другое», так как мои клиенты стараются не использовать этот список, но я предполагаю, что это похоже на то, как работают Клиенты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top