java.lang.RuntimeException: wXb6Vnl31u :: Ошибка для HTML= 001 003 004
005 006Существует два способа IN миграции вложенных бизнес-объектов 014 через Kafka: стандартный и 015 рекурсивный.
016 017Стандартный способ позволяет переносить по одной записи за раз, 020 и для производительности лучше сначала перенести вложенный bo, а 021 затем основной bo.
022Рекурсивный способ позволяет эффективно переносить множество 026 записей одновременно, но при этом необходимо создать древовидную 027 структуру.
028Ниже вы можете увидеть примеры каждого подхода:
032 0331) Добавляем школу
036 037
038 {
039 "recordId": "random-value",
040 "externalId": "MVLFsYhLv5eVbkXE",
041 "boCode": "school",
042 "fields": [
043 {
044 "code": "number",
045 "apiValue": "133"
046 },
047 {
048 "code": "name",
049 "apiValue": "среднеобразовательная школа"
050 }
051 ],
052 "boFields": [
053 {
054 "fieldCode": "class",
055 "toBoCode": "class",
056 "toFieldCode": "class_id",
057 "apiValue": "1"
058 }
059 ],
060 "state": "ACTUAL"
061 }
062
063
064
065 2) Добавляем класс
066 067
068 {
069 "recordId": "random-value",
070 "externalId": "MVLFsYhLv5eVbkXE",
071 "boCode": "class",
072 "fields": [
073 {
074 "code": "number",
075 "apiValue": "9G"
076 },
077 {
078 "code": "name",
079 "apiValue": "Класс №"
080 },
081 {
082 "code": "class_id",
083 "apiValue": "1"
084 }
085 ],
086 "boFields": [
087 {
088 "fieldCode": "student",
089 "toBoCode": "student",
090 "toFieldCode": "student_id",
091 "apiValue": "1"
092 },
093 {
094 "fieldCode": "student",
095 "toBoCode": "student",
096 "toFieldCode": "student_id",
097 "apiValue": "2"
098 }
099 ],
100 "state": "ACTUAL"
101 }
102
103
104
105 3) Добавляем студентов
106 107
108 {
109 "recordId": "random-value",
110 "externalId": "7fq@eZ1kpg0iwHVV",
111 "boCode": "student",
112 "fields": [
113 {
114 "code": "name",
115 "apiValue": "Армэн"
116 },
117 {
118 "code" : "surname",
119 "apiValue" : "Турсынбек"
120 },
121 {
122 "code" : "student_id",
123 "apiValue" : "1"
124 }
125 ],
126 "state": "ACTUAL"
127 }
128
129
130
131
132 {
133 "recordId": "random-value",
134 "externalId": "Iqn5iMZcg~M1I5o0",
135 "boCode": "student",
136 "fields": [
137 {
138 "code": "name",
139 "apiValue": "Азамат"
140 },
141 {
142 "code" : "surname",
143 "apiValue" : "Утелхан"
144 },
145 {
146 "code" : "student_id",
147 "apiValue" : "2"
148 }
149 ],
150 "state": "ACTUAL"
151 }
152
153
154
155
163 {
164 "recordId": "random-value",
165 "externalId": "MVLFsYhLv5eVbkXE",
166 "boCode": "school",
167 "fields": [
168 {
169 "code": "number",
170 "apiValue": "133"
171 },
172 {
173 "code": "name",
174 "apiValue": "среднеобразовательная школа"
175 }
176 ],
177 "boFields": [
178 {
179 "fieldCode": "class",
180 "boiInput": {
181 "recordId": "random-value",
182 "externalId": "MVLFsYhLv5eVbkXE",
183 "boCode": "class",
184 "fields": [
185 {
186 "code": "number",
187 "apiValue": "9G"
188 },
189 {
190 "code": "name",
191 "apiValue": "Класс №"
192 },
193 {
194 "code": "class_id",
195 "apiValue": "1"
196 }
197 ],
198 "boFields": [
199 {
200 "fieldCode": "student",
201 "boiInput": {
202 "recordId": "random-value",
203 "externalId": "7fq@eZ1kpg0iwHVV",
204 "boCode": "student",
205 "fields": [
206 {
207 "code": "name",
208 "apiValue": "Армэн"
209 },
210 {
211 "code": "surname",
212 "apiValue": "Турсынбек"
213 },
214 {
215 "code": "student_id",
216 "apiValue": "1"
217 }
218 ],
219 "boFields": [],
220 "state": "ACTUAL"
221 }
222 },
223 {
224 "fieldCode": "student",
225 "boiInput": {
226 "recordId": "random-value",
227 "externalId": "Iqn5iMZcg~M1I5o0",
228 "boCode": "student",
229 "fields": [
230 {
231 "code": "name",
232 "apiValue": "Азамат"
233 },
234 {
235 "code": "surname",
236 "apiValue": "Утелхан"
237 },
238 {
239 "code": "student_id",
240 "apiValue": "2"
241 }
242 ],
243 "state": "ACTUAL"
244 }
245 }
246 ],
247 "state": "ACTUAL"
248 }
249 }
250 ],
251 "state": "ACTUAL"
252 }
253
254
255