java.lang.RuntimeException: wXb6Vnl31u :: Ошибка для HTML= 001 003 004
005 006Предусловие: У вас должно иметься БО (Что это такое и как 015 создать?)
016 017
020 POST /api/v1/boi/upsert
021 Content-Type: application/json
022 API-TOKEN/TOKEN: your_token
023
024
025
026 Headers:
034 035
036 Content-Type: application/json
037 API-TOKEN/TOKEN: your_token
038
039
040
051 {
052 "boCode": "код бизнес-объекта",
053 "boiId": "Идентификатор инстанции бизнес-объекта",
054 "fieldValues": {
055 "код поля 1": "новое значение 1",
056 "код поля 2": "новое значение 2",
057 "код поля 3": "новое значение 3"
058 },
059 "removeAfter": true,
060 "fieldRefAdd": [{
061 "fieldCode": "код поля 4",
062 "boCode": "код БО который содержит в себе поле с кодом поля 4",
063 "fieldRefUniqCode": "код уникального поля 1",
064 "apiValues": [
065 "значение 1 уникального поля 1",
066 "значение 2 уникального поля 1"
067 ]
068 }, ...],
069 "fieldRefRemove": [{
070 "fieldCode": "код поля 4",
071 "boCode": "код БО который содержит в себе поле с кодом поля 4",
072 "fieldRefUniqCode": "код уникального поля 1",
073 "apiValues": [
074 "значение 3 уникального поля 1",
075 "значение 4 уникального поля 1"
076 ]
077 }, ...]
078 }
079
080
081
082 ВНИМАНИЕ! Поле boiId можно не 083 указывать, однако если вы укажите, то отработает как UPDATE и если 084 такого boiId не будет, то выйдет ошибка. Поэтому у 085 бизнес-объекта должно быть уникальное поле, тогда введенное 086 значение если будет существовать обновиться, если нет добавиться. 087 Дополнительно, если у вас нет уникального поля в БО, то будет 088 отрабатывать как CREATE.
089 090Атрибут входного JSON | 099Описание | 100
---|---|
boCode | 106(String): Код бизнес-объекта. Как получить 108 boCode? | 109
boiId | 113(String): Идентификатор инстанции 114 бизнес-объекта. Как получить 115 boiId? | 116
fieldValues.key | 120(String): Код определенного поля внутри 121 БО. Как получить Код 122 Поля? | 123
fieldValues.value | 127(String): Значение определенного поля 128 внутри БО. Какие значения для 129 каких полей надо вводить? | 130
removeAfter | 134(Boolean): Указывает что будет раньше 135 добавление или удаление новых инстанции в поле БО. По умолчанию 136 false значит удаление потом добавление. | 137
fieldRefAdd | 141(Массив объектов): Для добавления 142 ссылок в поле БО по значениям уникальных полей вложенного БО | 143
fieldRefRemove | 147(Массив объектов): Для удаления ссылок 148 из поля БО по значениям уникальных полей вложенного БО | 149
fieldRefAdd.fieldCode | 153(String): Код поля БО. Смотрите 154 выше как получить код поля? | 155
fieldRefAdd.boCode | 159(String): Если поле с 160 fieldCode находится внутри СО, то данное поле 161 обязательное к заполнению, так как она будет 162 показывать к какому БО относится ваше поле. | 163
fieldRefAdd.fieldRefUniqCode | 167(String): Код уникального поля БО на 168 которое ссылается ваше поле. Смотрите выше как получить код 169 поля? | 170
fieldRefAdd.apiValues | 174(Массив String): Значения уникальных 175 полей которы надо добавить. Если в fieldRefRemove, то удалить. | 176
Примечание: Вы можете указывать несколько 181 уникальных полей одного и того же БО.
182 183Если указывать boiId, то будет работать как Update (Если указать не существующий boiId 187 выйдет ошибка):
188 189
190 {
191 "boCode": "Customer_Orders",
192 "boiId": "jJY02CrDmAQw1OMz",
193 "fieldValues": {
194 "ORDER_ID": "14",
195 "CUSTOMER_NAME": "Temirlan",
196 "ORDER_TOTAL": "123.0123",
197 "ORDER_DATE": "2023-11-23T14:30:45.123Z",
198 "ORDER_STATUS": "1wgmhNoiLSDpyXY9" // идентификатор значения из выборки
199 }
200 }
201
202
203
204 Если не указывать boiId, то в зависимости от значения 205 уникального поля в вашем БО будет либо Update 206 (если значение существует) либо Create (если не 207 существует):
208 209
210 {
211 "boCode": "Customer_Orders",
212 "fieldValues": {
213 "ORDER_ID": "14",
214 "CUSTOMER_NAME": "Temirlan",
215 "ORDER_TOTAL": "123.0123",
216 "ORDER_DATE": "2023-11-23T14:30:45.123Z",
217 "ORDER_STATUS": "1wgmhNoiLSDpyXY9"
218 }
219 }
220
221
222
223
226 {
227 "boiId": "Идентификатор инстанции БО",
228 "boCode": "Kод БО",
229 "state": "Одно из значений: ALL, REMOVED, ARCHIVED, DEV",
230 "isTouched": "Прочитано ли текущим пользователем данная инстанция? (true/false)",
231 "fieldValues": {
232 "код поля 1": {
233 "apiValue": "значение поля 1",
234 "displayValue": "значение поля для отабражения 1",
235 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
236 },
237 "код поля 2": {
238 "apiValue": "значение поля 2",
239 "displayValue": "значение поля для отабражения 2",
240 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
241 },
242 "код поля 3": {
243 "apiValue": "значение поля 3",
244 "displayValue": "значение поля для отабражения 3",
245 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
246 }
247 }
248 }
249
250
251
252
256
257 Значения поля state:
258 2591) ALL - Рабочее состояние записи
260 2612) REMOVED - Запись удалена
262 2633) ARCHIVED - Запись в архиве
264 2654) DEV - Запись используется для тестирования 266 процессов
267 268
271 {
272 "boiId": "jJY02CrDmAQw1OMz",
273 "boCode": "Customer_Orders",
274 "state": "ALL",
275 "isTouched": true,
276 "fieldValues": {
277 "ORDER_ID": {
278 "apiValue": "14",
279 "displayValue": "14",
280 "type": "INPUT_NUMBER"
281 },
282 "ORDER_DATE": {
283 "apiValue": "2023-11-23T20:30:45.123+06",
284 "displayValue": "2023-11-23 20:30",
285 "type": "FULL_DATE"
286 },
287 "CUSTOMER_NAME": {
288 "apiValue": "Temirlan",
289 "displayValue": "Temirlan",
290 "type": "INPUT_TEXT"
291 },
292 "ORDER_STATUS": {
293 "apiValue": "1wgmhNoiLSDpyXY9",
294 "displayValue": "Delivered",
295 "type": "RADIO_BUTTON_GROUP"
296 },
297 "ORDER_TOTAL": {
298 "apiValue": "123.0123",
299 "displayValue": 123.0123",
300 "type": "INPUT_NUMBER"
301 }
302 }
303 }
304
305
306