Appearance
Особливості оновлення
Оновлення элементів методами /update виконується наступним чином.
Якщо властивість не входить до складу запиту, то система не оновлює її значення в базі даних.
Наприклад:
При виклику /agent/update з тілом запиту
javascript
{
"uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Agent Name"
"code": "112233"
}{
"uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Agent Name"
"code": "112233"
}буде оновлено тільки поля "name" та "code". Всі інші властивості залишаються незмінними.
Це стосується і документів: якщо в /document/update не передати sum або details - сума та рядки документа залишаться без змін.
Щоб явно видалити всі рядки документа, передайте пустий масив:
javascript
{
"uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"type": "invoice",
"details": []
}{
"uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"type": "invoice",
"details": []
}Створення залежних елементів
Якщо в метод передається пов'язаний елемент (наприклад контрагент (Agent) або об'єкт обліку (Entity в документі), система шукає його (по Uid).
Якщо елемент не існує, він створюється, якщо існує - його властивості НЕ ОНОВЛЮЮТЬСЯ (!). Зверніть на це увагу.
Це стосується і складів (storeIn / storeOut в документі): склад з невідомим uid та назвою буде створено як новий склад.