Quickbooks - ошибка при создании нового счета - PullRequest
0 голосов
/ 06 сентября 2018

CompanyID: 123146108771499

Я пытаюсь добавить новый элемент Invoice, но застрял, так как получаю ошибки при создании запроса на добавление Invoice с помощью dotConnect sdk.

Код ошибки: 2020

ErrorMessage:"Обязательный параметр Line.SalesItemLineDetail отсутствует в запросе"

Ниже приводится объект JSON для LINE:

"[{\"Amount\": 100.00,\"DetailType\": 
\"SalesItemLineDetail\",\"SalesItemLineDetail\": {\"ItemRef\":             
{\"value\": \"1\",\"name\": \"Services\"}, \"UnitPrice\": 10.00, \"Qty\": 
1,\"TaxCodeRef\": {\"value\": \"NON\"}}}]"

Затем я попробовал API Explorer , но я получил еще одну ошибку:

"Fault":{"Error":[{"Message":"A business validation error has occurred while processing your request","Detail":"Business Validation Error: Make sure all your transactions have a sales tax rate before you save.","code":"6000","element":""}],"type":"ValidationFault"},"time":"2018-09-06T08:35:52.534-07:00"}

Ниже приведен мой код запроса (JSON):

    {
      "Line": [
        {
          "Amount": 100.00,
          "DetailType": "SalesItemLineDetail",
          "SalesItemLineDetail": {
            "ItemRef": {
              "value": "1",
              "name": "Services"
            },
            "TaxCodeRef": {"value": "NON"}
          }
        }
      ],
      "CustomerRef": {
        "value": "1"
      }
    }

Я не совсем понимаю источник этой проблемы. Там могут быть настройки администратора для этого. Я пытался проверить, но не смог.

Редактировать 1: Я заметил, что моя учетная запись Quickbook предназначена для региона Индии & TaxCodeRef = "NON" не поддерживается для региона США. Затем я нашел идентификатор для этого и запустил запрос в API Explore, и это сработало. Я изменил Api Explorer JSON на следующий:

{
  "Line": [
    {
      "Amount": 100.00,
      "DetailType": "SalesItemLineDetail",
      "SalesItemLineDetail": {
        "ItemRef": {
          "value": "1",
          "name": "Services"
        },
        "TaxCodeRef": {"value": "23"}
      }
    }
  ],
  "CustomerRef": {
    "value": "1"
  }
}

Но когда я внес эти изменения в код DotConnect SDK для .ne t, выполните следующие действия:

"[{\"Amount\": 100.00,\"DetailType\": 
\"SalesItemLineDetail\",\"SalesItemLineDetail\": {\"ItemRef\":             
{\"value\": \"1\",\"name\": \"Services\"}, \"UnitPrice\": 10.00, \"Qty\": 
1,\"TaxCodeRef\": {\"value\": \"23\"}}}]"

Я все еще получил следующую ошибку:

Код ошибки: 2020

Источник ошибки: Devart.Data.SqlShim

ErrorMessage:"Обязательный параметр Line.SalesItemLineDetail отсутствует в запросе"

Ниже приведен пример запроса Ado.net:

INSERT INTO Invoice
(PrivateNote, BillAddr_Line3, BillAddr_Line4, CustomerRefId, 
BillAddr_Line1, BillAddr_Line2, BillAddr_City, BillAddr_Country, 
BillAddr_CountrySubDivisionCode, 
BillAddr_PostalCode, ShipAddr_Line1, ShipAddr_Line2, ShipAddr_City, 
ShipAddr_Country, ShipAddr_CountrySubDivisionCode, ShipAddr_PostalCode, 
ShipAddr_Note, BillEmail_Address, Line)
 VALUES        ('a', 'b', 'c', '1', 'd', 'e', 'f', 'US', 'AN', '110011',
 's1', 's2', 's3', 's4', 's5', 's6', 's7', 'bil@test.com', 
  '[{"Amount": 86.00,   "Description": "AMERICAN2",   "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {           "ItemRef": {"value": "1", "name": "A AMERICAN2"       }, "UnitPrice": 86.00, "Qty": 1,"TaxCodeRef": {"value": "23"}}}]')

Спасибо

...