Я изо всех сил пытался заставить Точный Онлайн API работать. Должна быть возможность создавать предметы через API, но API не позволяет мне делать 1.
В результате более ранней проблемы я получил рекомендацию переключиться на неофициальную библиотеку Picquer: Нашел здесь.
Я получил следующий код:
$itemModel->CostPriceNew = $newPrice;
$itemModel->CostPriceStandard = $standardPrice;
$itemModel->Description = $description;
$itemModel->Code = $code;
$itemModel->SearchCode = $searchCode;
$itemModel->IsSalesItem = false;
$itemModel->IsPurchaseItem = true;
$itemModel->Unit = 'pc';
$itemModel->IsTime = false;
$itemModel->CostPriceCurrency = 'EUR';
$itemModel->IsStockItem = false;
$itemModel->IsSubcontractedItem = false;
$itemModel->IsPackageItem = false;
$itemModel->IsSerialItem = false;
$itemModel->IsSerialNumberItem = false;
$itemModel->IsFractionAllowedItem = false;
$itemModel->StartDate = $startDate;
$itemModel->EndDate = $endDate;
$itemModel->ItemGroup = $itemGroup;
$itemModel->save();
Я нахожу это неприятным, что так много требуется, когда документация (Точный Api Информация о предмете) говорит только 2 обязательных.
Во всяком случае, код идет не так:
$itemModel->Unit = 'pc';
Ошибка 500: возникла проблема. Причина этой проблемы будет расследована как можно скорее.
Я дважды проверил, если код существует, изменился на другой. Сделал пользовательский код для тестирования.
Если я удаляю строку, это дает мне ошибку
Ошибка 500: Требуется: Единица
Если я изменю код на несуществующий код:
Ошибка 500: Неверная ссылка: Единицы
Чтобы проверить, я сделал продукт на сайте Exact. Я получил его через API и передал модуль моему новому продукту. Появилась та же ошибка.
Я сделал билет, но Точный не может найти ничего плохого на их стороне.
Кто-нибудь сталкивался с этим раньше и есть решение для этого?
редактировать: мой JSON:
{
"ExtraDescription": "Child from 75 . Number 24 out of 25",
"CostPriceNew": 170,
"CostPriceStandard": 170,
"Description": "Vrouwentongen",
"Code": "3255",
"SearchCode": "3255",
"IsSalesItem": false,
"IsPurchaseItem": true,
"Unit": "pc",
"IsTime": false,
"CostPriceCurrency": "EUR",
"IsStockItem": false,
"IsSubcontractedItem": false,
"IsPackageItem": false,
"IsSerialItem": false,
"IsSerialNumberItem": false,
"IsFractionAllowedItem": false,
"StartDate": "2005-01-01T12:00",
"EndDate": "2030-12-12T12:00",
"ItemGroup": "4078e7a5-a61c-4751-8875-875f36810554",
"IsBatchNumberItem": 0,
"Class_01": null,
"Class_02": null,
"Class_03": null,
"Class_04": null,
"Class_05": null,
"CopyRemarks": 0,
"Created": null,
"CreatorFullName": null,
"Creator": null,
"Division": null,
"FreeBoolField_01": null,
"FreeBoolField_02": null,
"FreeBoolField_03": null,
"FreeBoolField_04": null,
"FreeBoolField_05": null,
"FreeDateField_01": null,
"FreeDateField_02": null,
"FreeDateField_03": null,
"FreeDateField_04": null,
"FreeDateField_05": null,
"FreeNumberField_01": null,
"FreeNumberField_02": null,
"FreeNumberField_03": null,
"FreeNumberField_04": null,
"FreeNumberField_05": null,
"FreeNumberField_06": null,
"FreeNumberField_07": null,
"FreeNumberField_08": null,
"FreeTextField_01": null,
"FreeTextField_02": null,
"FreeTextField_03": null,
"FreeTextField_04": null,
"FreeTextField_05": null,
"FreeTextField_06": null,
"FreeTextField_07": null,
"FreeTextField_08": null,
"FreeTextField_09": null,
"FreeTextField_10": null,
"GLCostsCode": null,
"GLCostsDescription": null,
"GLCosts": null,
"GLRevenueCode": null,
"GLRevenueDescription": null,
"GLRevenue": null,
"GLStockCode": null,
"GLStockDescription": null,
"GLStock": null,
"ID": "eece9df4-bf5d-4986-8429-76beb6e519cc",
"IsBatchItem": 0,
"IsMakeItem": 0,
"IsNewContract": 0,
"IsOnDemandItem": 0,
"IsRegistrationCodeItem": 0,
"IsWebshopItem": 0,
"ItemGroupCode": null,
"ItemGroupDescription": null,
"Modified": null,
"ModifierFullName": null,
"Modifier": null,
"Notes": null,
"SalesVatCodeDescription": null,
"SalesVatCode": null,
"SecurityLevel": null,
"UnitDescription": null
}
Вы получаете это сообщение об ошибке, потому что SecurityLevel имеет неправильный тип.
Сообщение об ошибке должно было быть более четким. Если вы попробуете это сейчас, вы должны получить сообщение об ошибке, которое дает вам более подробную информацию (по крайней мере, для меня). Это было изменено с обновлением Exact Online.
Других решений пока нет …