|
Как передать параметры из одной базы в другую через веб сервис 1с? | ☑ | ||
---|---|---|---|---|
0
Mtjal
01.10.21
✎
09:51
|
Доброго времени суток. Есть опубликованная база с веб сервисом (база источник), операция веб сервиса SubmitQuery с параметрами TypeOfExchange (тип значения string), BeginingDate и EndDate (тип значения Date) . Эти параметры передаются в модуль веб сервиса. В другой базе (база приемник) написан обработчик, который подключается через WS-ссылку к базе источнику и получает оттуда данные из запроса. На форме обработчика есть выбор периода. Подскажите, как передать дату из базы приемника в базу источник , чтобы параметрам BeginningDate и EndDate из функции SubmitQuery присвоились значения , которые будут выбраны в обработчике. Может кто уже сталкивался с такими задачами.
Куски кода базы источника (с запросом, передающим данные) и обработчика базы приемника (отвечающий за подключение к базе источнику) представлены ниже Код базы источника: Функция SubmitQuery(TypeOfExchange,BeginningDate,EndDate) Структура = Десериализовать(TypeOfExchange); ТаблицаЗначений = Новый Структура; Запрос = Новый Запрос; Запрос.УстановитьПараметр("НачалоПериода", BeginningDate); Запрос.УстановитьПараметр("КонецПериода", КонецДня(EndDate)); Запрос.Текст = Код обработчика базы приемника: &НаСервере Функция ВыполнитьЗагрузкуНаСервере() ТабДок = Новый ТабличныйДокумент; ТабДок.ТолькоПросмотр = Истина; ТабДок.АвтоМасштаб = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Счетчик = 1; Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СравнениеДанных"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ОбластьОшибок = Макет.ПолучитьОбласть("СтрокаОшибок"); Шапка.Параметры.НачПериод = Формат(НачалоПериода,"ДФ=dd.MM.yyyy"); Шапка.Параметры.КонПериод = Формат(КонецПериода,"ДФ=dd.MM.yyyy"); ТабДок.Вывести(Шапка); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Данные", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150))); Соединение = WSСсылки.ПолучитьДанныеДокументов.СоздатьWSПрокси("http://localhost/ws/CompareDocument";, "WebCompareDocument", "WebCompareDocumentSoap"); Соединение.Пользователь = "Admin"; Соединение.Пароль = "13788"; Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("SubmitQuery"); //Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("BeginningDate"); //Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("EndDate"); Данные = Новый Структура; Данные.Вставить("ТаблицаДанных", ТЗ); |
|||
1
Dark_Warrior
04.10.21
✎
09:55
|
https://its.1c.ru/db/v8doc#content:71:1:issogl1_17.2.примерреализацииweb-сервиса
При вызове веб-сервиса передаются все параметры, указанные в базе, где он добавлен и куда обращаемся. |
|||
2
Kassern
04.10.21
✎
10:09
|
(0) а где вы собственно передаете параметры BeginingDate и EndDate из базы приемника? У вас есть функция в источнике, которую надо вызвать с данными параметрами.
Можете попробовать что-то типа такого: ssl = Новый ЗащищенноеСоединениеOpenSSL( неопределено, неопределено ); Определение = Новый WSОпределения("http://localhost/ws/ИмяФайлаПубликации?wsdl",Пользователь ,Пароль ,,,ssl); Прокси = Новый WSПрокси(Определение, "http://localhost/ws/CompareDocument", "WebCompareDocument", "WebCompareDocumentSoap"); Прокси.Пользователь=Пользователь; Прокси.Пароль=Пароль; Данные = Прокси.SubmitQuery(TypeOfExchange,BeginningDate,EndDate); |
|||
3
Kassern
04.10.21
✎
10:10
|
(0) и что у вас точка с запятой делает тут? Вы вообще в синтакс помощнике код проверяете? "("http://localhost/ws/CompareDocument";, "WebCompareDocument", "WebCompareDocumentSoap"); "
|
|||
4
Kassern
04.10.21
✎
10:11
|
(3) *блин СП конечно тоже важно, я про проверку модуля имел в виду на ошибки)
|
|||
5
Mtjal
04.10.21
✎
14:03
|
(1) Спасибо!
|
|||
6
Mtjal
04.10.21
✎
14:04
|
(2) Спасибо. Пробовал, не проканало такое)) выкидывало с другой ошибкой, что то вроде "недостаточно фактических параметров".
|
|||
7
Mtjal
04.10.21
✎
14:05
|
(4) Проверял, в обработчике код чистый, и подключение норм проходит. Точка с запятой добавились тут, во время публикции темы.)
|
|||
8
Kassern
04.10.21
✎
14:07
|
(6) это значит не все параметры передали в метод. Юзайте СП, и смотрите, что надо указывать. Я вам рабочий кусок кода скинул для обращения к web сервису.
|
|||
9
Mtjal
04.10.21
✎
15:44
|
(8) Спасибо))) Разобрался. Я разные типы значений пытался присвоить переменным. Помогла отправка через ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр).
|
|||
10
Mtjal
04.10.21
✎
15:45
|
(8) Еще раз огромное спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |