|
XDTO в веб сервисе | ☑ | ||
---|---|---|---|---|
0
ejikbeznojek
15.03.18
✎
10:36
|
Привет всем.
У меня есть самописное конфа на мобильной платформе. Которая обменивается данными с обычной базой через веб сервис. Но я там навелосипедил. У меня в WS функция с набором примитивных параметров (с типами строка, число, base64 для передачи фоточек). Для того чтобы передать список товаров из приложения, я собираю длинную текстовую строчку с разделителями. И передаю в 1 из параметров с типом строка. А для картинок я сделал цикл, в котором для каждой картинки вызывается фунция WS и перезаписывается документ. Для каждого СтрСписка из СписокКартинок цикл DD=СтрСписка.значение; ДанныеЗаявки=Прокси.Save("DD",Документ.Адрес.Контрагент,DD,Строка(Документ.дата),Префикс,Документ.Номер,ТекАдрес,Документ.Адрес.Родитель.Наименование,Документ.Адрес.Город,Документ.Адрес.Улица,Документ.Адрес.Дом,Организация,ВремяРаботы,ЮрАдрес); КонецЦикла; Сейчас это всё работает и жалоб ни у кого нет. Но у меня появилось свободное время и я решил переделать по человечески. Я сделал в базе на сервере пакет XDTO. В котором описал некую структуру https://prnt.sc/irfnxs пока что упрощённо. Но этот пакет он же только в базе на сервере. В мобильной конфе я не могу создавать такие пакеты. Как мне создать некую структуру, чтобы передать с мобильной конфы на сервер всё одной кучей? |
|||
1
Ц_У
15.03.18
✎
10:49
|
отдай json
|
|||
2
Ц_У
15.03.18
✎
10:55
|
Что-то вроде этого
{ number: 1 picture: "base64" items: { {name: code: count: }, {name: code: count: }, } } |
|||
3
arsik
гуру
15.03.18
✎
10:58
|
(0) Все там можно.
Вот тут посмотри https://xn----1-bedvffifm4g.xn--p1ai/мобильная-платформа/бесплатный-курс-по-мобильной-1с/ |
|||
4
arsik
гуру
15.03.18
✎
10:59
|
||||
5
ejikbeznojek
15.03.18
✎
11:09
|
(4) Может обманывают?)
https://prnt.sc/irg21h |
|||
6
arsik
гуру
15.03.18
✎
11:11
|
(5) Ты его создать не можешь на уровне конфигурации, но программно нормально все работает. В ссылке, в модуле 2, как раз показано как это делать.
|
|||
7
ejikbeznojek
15.03.18
✎
11:22
|
(2) Блин, он двоичные данные картинки в строке передаёт. Когда я их пытался передавать текстом у меня не очень быстро всё работало.
У меня вот такой текст получился. Для документа с 2мя фотками. Даже пробовать боюсь на сервере это всё читать)) { "Номер": "000000001", "дата": "2018-03-15T11:20:39", "МассивТоваров": [ { "КодНоменклатуры": "0000000001", "Количество": 1 }, { "КодНоменклатуры": "0000000002", "Количество": 3 } ], "МассивКартинок": [ "FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 48 00 48 00 00 FF E1 00 58 45 78 69 66 00 00 4D 4D 00 2A 00 00 00 08 00 02 01 12 00 03 00 00 00 01 00 01 00 00 87 69 00 04 00 00 00 01 00 00 00 26 00 00 00 00 00 03 A0 01 00 03 00 00 00 01 00 01 00 00 A0 02 00 04 00 00 00 01 00 00 09 90 A0 03 00 04 00 00 00 01 00 00 0C C0 00 00 00 00 FF ED 00 38 50 68 6F 74 6F 73 68 6F 70 20 33 2E 30 00 38 42 49 4D 04 04 00 00 00 00 00 00 38 42 49 4D 04 25 00 00 00 00 00 10 D4 1D 8C D9 8F 00 B2 04 E9 80 09 98 EC F8 42 7E FF C0 00 11 08 0C C0 09 90 03 01 22 00 02 11 01 03 11 01 FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B FF C4 00 B5 10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 7D 01 02 03 00 04 11 05 12 21 31 41 06 13 51 61...", "FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 48 00 48 00 00 FF E1 00 58 45 78 69 66 00 00 4D 4D 00 2A 00 00 00 08 00 02 01 12 00 03 00 00 00 01 00 01 00 00 87 69 00 04 00 00 00 01 00 00 00 26 00 00 00 00 00 03 A0 01 00 03 00 00 00 01 00 01 00 00 A0 02 00 04 00 00 00 01 00 00 09 90 A0 03 00 04 00 00 00 01 00 00 0C C0 00 00 00 00 FF ED 00 38 50 68 6F 74 6F 73 68 6F 70 20 33 2E 30 00 38 42 49 4D 04 04 00 00 00 00 00 00 38 42 49 4D 04 25 00 00 00 00 00 10 D4 1D 8C D9 8F 00 B2 04 E9 80 09 98 EC F8 42 7E FF C0 00 11 08 0C C0 09 90 03 01 22 00 02 11 01 03 11 01 FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B FF C4 00 B5 10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 7D 01 02 03 00 04 11 05 12 21 31 41 06 13 51 61..." ] } |
|||
8
ejikbeznojek
15.03.18
✎
11:23
|
(6) Ща попробую)))
|
|||
9
Ц_У
15.03.18
✎
11:25
|
(7) это в base64?
|
|||
10
cw014
15.03.18
✎
11:28
|
"В мобильной конфе я не могу создавать такие пакеты."
Ничего не понял. А разве пакеты нужны в обоих базах? |
|||
11
ejikbeznojek
15.03.18
✎
11:30
|
СписокКартинок=Документ.Фото.Получить();
МассивКартинок=новый Массив; Для каждого СтрСписка из СписокКартинок цикл МассивКартинок.Добавить(строка(СтрСписка.значение)); КонецЦикла; СтруктураДокумента.Вставить("МассивКартинок",МассивКартинок); записьJSON = новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(записьJSON,СтруктураДокумента); СтрСписка.значение это двоичные данные. Когда я их пытался вставлять без преобразования к строке, он мне при ЗаписатьJSON ругался на недопустимый тип данных. |
|||
12
ejikbeznojek
15.03.18
✎
11:32
|
(10) Я пока не понял ещё. Я с ними 1й раз работаю)))
|
|||
13
Ц_У
15.03.18
✎
11:33
|
Глобальный контекст (Global context)
Base64Строка (Base64String) Синтаксис: Base64Строка(<Значение>) Параметры: <Значение> (обязательный) Тип: ДвоичныеДанные. Двоичные данные, которые необходимо закодировать по алгоритму base64. Возвращаемое значение: Тип: Строка. Описание: Получает строку, закодированную по алгоритму base64. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
14
cw014
15.03.18
✎
11:33
|
(12) А как у тебя сейчас устроено? В обоих базах одинаковые пакеты XDTO что ли?
|
|||
15
Ц_У
15.03.18
✎
11:34
|
И если это картинка товара, то передавай ее вместе с товаром а не отдельным массивом
|
|||
16
ejikbeznojek
15.03.18
✎
11:45
|
(14) Сейчас без всяких XDTO. Просто примитивными типами всё передаю в функцию на WS. В несколько заходов.
(15) Это картинка полки, на которой что-то лежит. Она не относится к самой номенклатуре. |
|||
17
ejikbeznojek
15.03.18
✎
13:12
|
(13) Вроде бы всё нормально заработало.
Спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |