Получение остатков из соседней базы 1с 8.3 через Http сервис #801107


#0 by Bambr49
Добрый день,стоит задача -подключится к базе 1 через созданный в ней http сервис,получить остатки и передать их в базу 2.. Сервис создал,опубликовал...а вот что дальше ?если кто делал подобное-приведите пример или ткните кудой рыть?
#1 by Wirtuozzz
сервис работает?
#2 by Bambr49
да,сервис работает..
#3 by Bambr49
где запрос писать на остатки?как его передать?
#4 by Wirtuozzz
начни от сюда:
#5 by Юрий Лазаренко
Ну пиши в модуле сервиса код, который выгребет из БД необходимые данные, превратит их в структурированную строку (JSON, например), и отдаст в базу-потребителя.
#6 by Wirtuozzz
а я думал, остатки должен сервис вернуть.
#7 by Юрий Лазаренко
Ну а как он их будет возвращать? Строкой.
#8 by Wirtuozzz
как надо так и вернет, строкой можно GUID передать или другой идентификационный реквизит.
#9 by Юрий Лазаренко
Все правильно, я так в и написал.
#10 by Wirtuozzz
Да-да, сори, я чет подзатупил.
#11 by Bambr49
там идет обращение через браузер,а мне нужно из одной базы обратится к сервису другой...приведите пример кода плз,
#12 by Bambr49
запрос на нужные остатки  запросто,а вот как их предавать и обрабатывать-полный тупик
#13 by Wirtuozzz
#14 by Wirtuozzz
#15 by Wirtuozzz
#16 by Юрий Лазаренко
Нет разницы, через браузер или из базы. В базе-потребителе надо делать http-запрос через объект HTTPСоединение.Получить
#17 by Юрий Лазаренко
#18 by Bambr49
да..уж..(
#19 by Юрий Лазаренко
Что не так-то?
#20 by Bambr49
да нет,все так...но конкретного примера кода именно с http сервисом так и не нашел..
#21 by Юрий Лазаренко
"HTTPСоединение.Получить", выполненное в одной базе - это и есть запрос к http-сервису в другой базе.
#22 by Bambr49
спасибо,попытаюсь..надеюсь получится..реализован данный механизм уже на ком соединениии и прекрасно работает,но руководство сказало переделать на http
#23 by mikeA
Правильно сказало. Результат можно передавть через хранилище значения в XML. Так можно использовать таблицы значений и другие типы, которые в JSON не сериализуются плюс степень сжатия.
#24 by Юрий Лазаренко
А зачем хранилище значения в XML еще конвертить? Можно просто передать его как двоичные данные.
#25 by Вафель
зачем вообще хранилищами обмениваться?
#26 by Юрий Лазаренко
+100500
#27 by Bambr49
да,не стоит этого делать
#28 by mikeA
У меня было много данных в ТЗ и встроенные в конфигурацию процедуры взаимодействия с HTTP сервисами, в том числе не 1С, в формате JSON. Видимо чтобы между сервисами 1С передавать ТЗ через JSON без конвертации в структуры. В JSON ТЗ только так получилось впихнуть.
#29 by Bambr49
#30 by Bambr49
вот пытаюсь делать каки то наметки..как обработать в базе получателе как Ответ?
#31 by mikeA
Вот именно. Когда таких колонок over 9000 и структура в базе источнике и приёмнике одинаковая, начинает, мягко говоря, надоедать. Хочется просто использовать Загрузить/Выгрузить. Ну и плюс сжатие как я говорил.
#32 by mikeA
Про
#33 by Bambr49
да фиг с ней Выборка.Ссылка.Товар,тыщу раз еще запрос перепишу..как в базе приемнике обработать получить и обработать Отввет?
#34 by Bambr49
Ответ
#35 by Юрий Лазаренко
HTTPСоединение.Получить вернет тебе объект HTTPОтвет, а в его теле будет лежать твой JSON.
#36 by Юрий Лазаренко
HTTPОтвет.ПолучитьТелоКакСтроку
#37 by Bambr49
HTTP соединение еще создать нужно?каков синтаксис? если не сложно подскажите..плз
#38 by Юрий Лазаренко
Если Результат.КодСостояния >= 400 и Результат.КодСостояния < 500  Тогда      // Подробнее смотри      Если Результат.КодСостояния >= 500 и Результат.КодСостояния < 600  Тогда          Если Результат.КодСостояния = 302 Тогда
#39 by Bambr49
спасибо..кажись пошел процесс..
#40 by Bambr49
точно..ничего сложного)
#41 by Bambr49
ну когда разберешся))
#42 by Bambr49
спасибо всем)
#43 by Юрий Лазаренко
На здоровье )
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С