|
Можно ли через веб сервис передать из одной базы в другую структуру? | ☑ | ||
---|---|---|---|---|
0
i37391
14.04.22
✎
15:43
|
Можно ли через веб сервис передать из одной базы в другую структуру, внутри которой 2 табличных документа? Если да, подскажите пожалуйста
|
|||
1
arsik
гуру
14.04.22
✎
15:46
|
ЗначениеВСтроку()
ЗначениеИзСтроки() |
|||
2
i37391
14.04.22
✎
15:48
|
Спасибо большое!!!
|
|||
3
PLUT
14.04.22
✎
16:46
|
XDTO-сериализация в джопсон (JSON)
|
|||
4
Fragster
гуру
14.04.22
✎
16:58
|
у таб документа в веб сервисах пространство имен http://v8.1c.ru/8.2/data/spreadsheet тип SpreadsheetDocument ну и сериализаторXDTO.ЗаписатьXDTO. А может и вообще простое присвоение реквизиту объекта XDTO прокатит, оно там умное.
у структуры пространство имен http://v8.1c.ru/8.1/data/core, имя типа Structure но тут не совсем понятно, автор хочет структуру в плане набора типа объекта XDTO в виде объекта с реквизитами или прям структуру в смысле Новый Структура |
|||
5
Gimalaj
14.04.22
✎
18:19
|
(3) >> в джопсон
Хорошо сказал! |
|||
6
ДедМорроз
14.04.22
✎
21:04
|
Дьявол,как всегда в деталях.
В общем случае,передать структуру нельзя - ее можно передать только тогда,когда можно передать все значения,содержащиеся в ней. |
|||
7
Индиго
15.04.22
✎
05:45
|
т=Новый ТаблицаЗначений;
т.Колонки.Добавить("Объект"); т.Колонки.Добавить("ЛюбаяДополнительнаяХрень"); Нов=т.Добавить(); Данные=СсылкаНаДокумент1.получитьОбъект(); ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Данные); Нов.Объект=ЗаписьXML.Закрыть(); Нов.ЛюбаяДополнительнаяХрень="Плюх!"; Нов=т.Добавить(); Данные=СсылкаНаДокумент2.получитьОбъект(); ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Данные); Нов.Объект=ЗаписьXML.Закрыть(); Нов.ЛюбаяДополнительнаяХрень="Плюх еще раз!"; Посылка=ЗначениеВстрокуВнутр(т); //--------- и отправляй через WS на той стороне: //------- т=ЗначениеизСтрокиВнутр(Посылка); Для Каждого Стр Из т Цикл ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.УстановитьСтроку(Стр.Объект); Об=СериализаторXDTO.ПрочитатьXML(ЧтениеXML); Об.Записать(); Сообщить(""+Стр.ЛюбаяДополнительнаяХрень+":"Об.Ссылка); КонецЦикла; |
|||
8
Индиго
15.04.22
✎
05:46
|
с табличными документами получать объект не надо конечно.Можно сразу скормить :-)
|
|||
9
Chai Nic
15.04.22
✎
06:52
|
Что же это у вас, чего ни хватишься, ничего нет!(с)
На самом деле, в 1с сильно не хватает нормального нативного межбазового обмена на объектном уровне. Или морально устаревший и кривой COM, или веб-хттп-ёклмн сервисы, требующие обязательной сериализуемости объектов. А так, чтобы подцепиться к другой базе и создавать в ней объекты как через OLE/COM, только без слоя трансляции в микрософтовские типы и без привязки к микрософту - такого нет. А иногда это бы здорово упростило задачу. |
|||
10
sTOd
15.04.22
✎
07:26
|
(0) Можно! Разрешаю!
|
|||
11
PLUT
15.04.22
✎
09:20
|
(9) >На самом деле, в 1с сильно не хватает нормального нативного межбазового обмена на объектном уровне
нихрена не понятно, но жутко интересно... Автоматический REST-интерфейс (OData) Платформа «1С:Предприятие» может автоматически создать REST-интерфейс для любого прикладного решения. Благодаря своей универсальности и кроссплатформенности REST-интерфейс является очень удобным инструментом для интеграции прикладного решения со сторонними системами. с3.14жжено с ИТС |
|||
12
Chai Nic
15.04.22
✎
10:20
|
(11) Это скорее для интеграции с сайтами, а не как нативная замена COM/OLE
|
|||
13
Fragster
гуру
15.04.22
✎
11:23
|
(9) это дыра в безопасности и в зонах ответственности. а веб и хттп сервисы - это контракты и ответственность на стороне разработчика этого сервиса.
|
|||
14
ДедМорроз
17.04.22
✎
12:36
|
Rest-интерфейс можно публиковать,а можно не публиковать.
Опять же,проверку прав никто не отменял. Тогда что дыра? |
|||
15
ДедМорроз
17.04.22
✎
14:01
|
И еще.
Нет ни одной системы,где бы можно было передать объект. Обычно,можно передать информацию,которая позволяет на другой стороне построить новый объект,который в пределах допустимого не отличается от изгачального. Многие же системы допускают вместо объекта передачи информации для построения копии объекта,которая в рамках применяемых интерфейсов будет вести себя как изгачальный объект,но все ввзовы и обращения будут через канал связи передаваться изначальному объекту,так,например,работает система Component Object Model в windows. |
|||
16
Chai Nic
17.04.22
✎
14:19
|
(15) Это сложно сделать универсальным, но в рамках конкретной платформы обеспечить контекст сторонней базы в виде полноценной объектной модели вполне реально, было бы желание у разработчиков..
|
|||
17
ДедМорроз
17.04.22
✎
14:50
|
Вам уже ответили - Rest API.
|
|||
18
Chai Nic
17.04.22
✎
15:14
|
(17) И что, через него можно вызывать процедуры и функции общих модулей, например? Или открывать форму объекта?
|
|||
19
OldCondom
17.04.22
✎
16:04
|
(18) а на куя?
|
|||
20
OldCondom
17.04.22
✎
16:10
|
кстати такой же вопрос ТС: зачем тебе структура с двумя табдоками? как метод называется? "ПолучитьРазнуюБурдуСкопом()"?
|
|||
21
ДедМорроз
17.04.22
✎
17:02
|
Rest позволяет получать и изменять данные.
А алгоритм,который их готовит,прекрасно можно выполнять на вызывающей стороне. |
|||
22
OldCondom
17.04.22
✎
17:40
|
(21) +100.
|
|||
23
Chai Nic
17.04.22
✎
20:11
|
(19) Чтобы не производить расчет кучи всего вручную, а заставить работать штатные механизмы сторонней базы
|
|||
24
MyNick
17.04.22
✎
20:26
|
(23) Это называется API.
И в 1С он есть. И он прекрасен. |
|||
25
MyNick
17.04.22
✎
20:34
|
(18) Ви хотите на БП 3.0 открыть форму документа из УТ10.3, работающей на 8.3.5 в режиме совместимости 8.2.19? Я правильно понимаю?
А зачем? |
|||
26
OldCondom
17.04.22
✎
21:27
|
(23) Объект.Заполнить()
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |