java.lang.RuntimeException: wXb6Vnl31u :: Ошибка для HTML= 001 003 004
005 006Предусловие: У вас должно иметься БО (Что это такое и как 015 создать?)
016 017
020 POST /api/v1/boi/upsert-with-id
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
---|---|
boId | 106(String): Идентификатор бизнес-объекта. 107 Как получить идентификаторы БО? | 108
boiId | 112(String): Идентификатор инстанции 113 бизнес-объекта. Как получить 114 boiId? | 115
fieldValues.key | 119(String): Код определенного поля внутри 120 БО. Как получить идентификаторы 121 полей? | 122
fieldValues.value | 126(String): Значение определенного поля 127 внутри БО. Какие значения для 128 каких полей надо вводить? | 129
removeAfter | 133(Boolean): Указывает что будет раньше 134 добавление или удаление новых инстанции в поле БО. По умолчанию 135 false значит удаление потом добавление. | 136
fieldRefAdd | 140(Массив объектов): Для добавления 141 ссылок в поле БО по значениям уникальных полей вложенного БО | 142
fieldRefRemove | 146(Массив объектов): Для удаления ссылок 147 из поля БО по значениям уникальных полей вложенного БО | 148
fieldRefAdd.fieldCode | 152(String): Код поля БО. Смотрите 153 выше как получить код поля? | 154
fieldRefAdd.boCode | 158(String): Если поле с 159 fieldCode находится внутри СО, то данное поле 160 обязательное к заполнению, так как она будет 161 показывать к какому БО относится ваше поле. | 162
fieldRefAdd.fieldRefUniqCode | 166(String): Код уникального поля БО на 167 которое ссылается ваше поле. Смотрите выше как получить код 168 поля? | 169
fieldRefAdd.apiValues | 173(Массив String): Значения уникальных 174 полей которы надо добавить. Если в fieldRefRemove, то удалить. | 175
Примечание: Вы можете указывать несколько 180 уникальных полей одного и того же БО.
181 182Если указывать boiId, то будет работать как Update (Если указать не существующий boiId 186 выйдет ошибка):
187 188
189 {
190 "boId": "gWmNg9ec3yI0wv4V",
191 "boiId": "jJY02CrDmAQw1OMz",
192 "fieldValues": {
193 "UweuNeV8aG3~Tuvf": "14",
194 "CV~4boDWzp2SpQ@U": "ASd",
195 "84uP6Ml@gq87Fs2u": "123.0123",
196 "eK3Owd6xaY7YCODc": "2023-12-23T14:30:45.123Z",
197 "DybDzyYFS9csQLoJ": "cOtDX2KPeLv3nrjS" // идентификатор значения из выборки
198 }
199 }
200
201
202
203 Если не указывать boiId, то в зависимости от значения 204 уникального поля в вашем БО будет либо Update 205 (если значение существует) либо Create (если не 206 существует):
207 208
209 {
210 "boId": "gWmNg9ec3yI0wv4V",
211 "fieldValues": {
212 "UweuNeV8aG3~Tuvf": "222",
213 "CV~4boDWzp2SpQ@U": "AsdqQwe",
214 "84uP6Ml@gq87Fs2u": "123.0123",
215 "eK3Owd6xaY7YCODc": "2023-12-23T14:30:45.123Z",
216 "DybDzyYFS9csQLoJ": "cOtDX2KPeLv3nrjS" // идентификатор значения из выборки
217 }
218 }
219
220
221
222
225 {
226 "boiId": "Идентификатор инстанции БО",
227 "boId": "Идентификатор БО",
228 "state": "Одно из значений: ALL, REMOVED, ARCHIVED, DEV",
229 "isTouched": "Прочитано ли текущим пользователем данная инстанция? (true/false)",
230 "fieldValues": {
231 "идентификатор поля 1": {
232 "apiValue": "значение поля 1",
233 "displayValue": "значение поля для отабражения 1",
234 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
235 },
236 "идентификатор поля 2": {
237 "apiValue": "значение поля 2",
238 "displayValue": "значение поля для отабражения 2",
239 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
240 },
241 "идентификатор поля 3": {
242 "apiValue": "значение поля 3",
243 "displayValue": "значение поля для отабражения 3",
244 "type": "Тип поля" // Подробнее о типах поля можете узнать по ссылке ниже
245 }
246 }
247 }
248
249
250
251
255
256 Значения поля state:
257 2581) ALL - Рабочее состояние записи
259 2602) REMOVED - Запись удалена
261 2623) ARCHIVED - Запись в архиве
263 2644) DEV - Запись используется для тестирования 265 процессов
266 267
270 {
271 "boiId": "qgFMuNL8tRYyIX1W",
272 "boId": "gWmNg9ec3yI0wv4V",
273 "state": "ALL",
274 "isTouched": false,
275 "fieldValues": {
276 "UweuNeV8aG3~Tuvf": {
277 "apiValue": "222",
278 "displayValue": "222",
279 "type": "INPUT_NUMBER"
280 },
281 "DybDzyYFS9csQLoJ": {
282 "apiValue": "cOtDX2KPeLv3nrjS",
283 "displayValue": "New",
284 "type": "RADIO_BUTTON_GROUP"
285 },
286 "eK3Owd6xaY7YCODc": {
287 "apiValue": "2023-12-23T20:30:45.123+06",
288 "displayValue": "2023-12-23 20:30",
289 "type": "FULL_DATE"
290 },
291 "84uP6Ml@gq87Fs2u": {
292 "apiValue": "123.0123",
293 "displayValue": "123.0123",
294 "type": "INPUT_NUMBER"
295 },
296 "CV~4boDWzp2SpQ@U": {
297 "apiValue": "AsdqQwe",
298 "displayValue": "AsdqQwe",
299 "type": "INPUT_TEXT"
300 }
301 }
302 }
303
304
305