Идентифицировать продукт в счете с уникальным идентификатором - Xero API - PullRequest
1 голос
/ 04 апреля 2019

Я пытаюсь импортировать счета из учетной записи xero с помощью API Xero в c #. Коллекция LineItems в объекте счета представляет элементы счета, которые являются частью счета. Я хочу идентифицировать товары в счете с уникальным идентификатором, например

Invoice1 имеет 2 позиции, например, P1 и P2. Кроме того, Invoice2 имеет 2 позиции снова, скажем, P1 и P2. Пока я перебираю коллекцию счетов-фактур, я хочу идентифицировать продукт P1 и P2 с уникальным идентификатором и сохранять их в своей базе данных. Затем, во время итерационного цикла, всякий раз, когда я сталкиваюсь с элементом P1 / P2, я должен знать, что этот продукт уже был сохранен в базе данных с уникальным идентификатором, и нет необходимости снова сохранять эти продукты, поскольку они уже были сохранены.

Я думал, что LineItemId и ItemCode могут помочь, но LineItemId - это новый Id, сгенерированный каждый раз, и я заметил, что Itemcode является нулевым много раз. Так есть ли способ присвоить уникальный идентификатор продукта для позиций?

Спасибо за помощь,

1 Ответ

0 голосов
/ 10 апреля 2019

LineItemId - это уникальный идентификатор для отдельной позиции в счете-фактуре, не имеющий отношения к продукту, поэтому это не то, что вам нужно.

Если ItemCode отсутствует или имеет значение NULL, это означает, что продукт не сохранен в базе данных продуктов Xero и только что был добавлен как «один раз», и теоретически его больше никогда не увидят. Так что просто нет способа идентифицировать продукт, который не существует. Если эти элементы на самом деле не просто «разовые», то их следует добавить в базу данных и присвоить ItemCode. Так что проблема в том, как используется Xero.

После того, как он добавлен как Предмет, вы можете использовать конечную точку Предметов (/api.xro/2.0/Items), чтобы также получить ItemID, который является GUID и должен использоваться для хранения в вашей базе данных с ItemCode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...