Имя: Пароль:
1C
1С v8
Подскажите с http сервисом. Нужно выгрузить документ
0 VKS
 
25.02.19
16:52
Добрый день

Может кто поделиться примером или ссылкой, как из одной базы выгрузить документ в другую базу по средством http-сервиса
Например, сейчас я понимаю, как через метод get обратиться из одной базы 1с в другую базу 1с и собрав там данные притянуть их себе.
А как сделать другую задачу: находясь в базе 1с выгрузить в другую базу 1с документ, чтобы он там создался и провелся. В ответ только получить что "все хорошо, документ создан"
Как понимаю метод GET тут не подойдет, нужно курить POST. может есть у кого пример или ссылка как с этим работать?
1 ДенисЧ
 
25.02.19
16:53
http-сервисы, OData, веб-сервисы. Ком, накрайняк...
2 VKS
 
25.02.19
17:09
это так.
Не могу понять, как в другую базу передать большой объем данных, например, в виде ТЗ, и затем на основании этой ТЗ создать документ.
3 ДенисЧ
 
25.02.19
17:12
(2) В файл скинь и позови метод, который его прочитает..
А большой - это сколько бит?
4 Жан Пердежон
 
25.02.19
17:14
(2)
WS - это тоже http.
ТЗ сериализуется в/на XML.
5 VKS
 
25.02.19
17:16
(3) а вот тут вопрос: есть ограничения на размер?
Засунуть в файл все документы разом, например, все поступления, где в день по 100-200 приходов - файл не один мегабайт получится
Либо как-то частями отправлять
6 Rr1
 
25.02.19
17:18
(5) Тебе нужен метод POST и JSON отправляй
7 Rr1
 
25.02.19
17:19
Примеров полно в интернете
8 ДенисЧ
 
25.02.19
17:23
(5) Я недавно по хттп качал 15 гигабайт... Так что должно прокатить
9 Necessitudo
 
25.02.19
17:26
Есть дефолтные ограничения веб-сервера, возможно придется их изменить.
10 Nyoko
 
25.02.19
17:32
ИТС Раздел про ODATA (в зависимости от твоей платформы)
11 yavasya
 
25.02.19
17:42
(0) Если документы одинаковые, то тебе ничего делать почти не надо. ФабрикаХДТО сериализует из одной базы в другую
12 Юрий Лазаренко
 
25.02.19
17:59
(0) GET не подойдет, потому что у него максимальная длина по дефолту 4 кб, если документ большой с кучей данных, то тупо не поместится. Так что POST без вариантов.
(3) В POST нет ограничений на размер, ну или они рулятся настройками сервера. Но обычно там достаточно, чтобы передать документ, сериализованный в xml или JSON.

Главный вопрос - а есть ли в принимающей базе необходимые ссылки? А то ты передашь в xml номенклатуру в виде UID, а в принимающей базе такой номенклатуры нет. Значит, база должна сказать об этом и тебе предварительно надо будет отправить номенклатуру. А у номенклатуры могут быть еще какие-то ссылочные реквизиты, которых нет в принимающей. Рекурсия получается.

Ну и как сказано выше, документы разные или нет?
13 VKS
 
25.02.19
18:02
Спасибо за ответы, несколько способов увидел в ветке. Правда пока не понимаю как с ними работать, с наскоку за час не освоишь.
В общих словах понятно что делать, осталось только найти примеры использования.

(7) Если не сложно, можете скинуть пример? Как оправить в другую базу ТЗ и как в другой базе эту ТЗ обработать?


(11) Нет, документы принципиально разные, один типовой, второй созданный. Но справочники да, хорошо пойдут

(12) все верно, в общих словах понимаю что нужно сделать. Все справочники есть, нужно только документ передать. Как написал выше, осталось только найти примеры как отправить данные и как в принимаемой базе их обработать
14 VKS
 
25.02.19
19:13
В общем получилось собрать данные в ТЗ, как мне нужно, передать в другую базу и в ней обработать как нужно, создав документ.
Если кому понадобится, то за основу взял пример этот: http://catalog.mista.ru/public/955078/
переделал только под передачу данных
15 ADenPiter
 
26.02.19
09:25
Для 1С GET от POST отличается по сути только тем, что в первом случае нет тела запроса, а во втором есть. Ну а вообще, если производительность не стоит во главе угла, то проще стандартным механизмом обмена пользоваться. Он вроде как теперь и через веб умеет.