Передача параметров из одной базы в другую через веб сервис.
Доброго времени суток. Есть опубликованная база с веб сервисом (база источник), операция веб сервиса SubmitQuery с параметрами TypeOfExchange (тип значения string), BeginingDate и EndDate (тип значения Date) . Эти параметры передаются в модуль веб сервиса
Функция SubmitQuery(TypeOfExchange,BeginningDate,EndDate)
Структура = Десериализовать(TypeOfExchange);
ТаблицаЗначений = Новый Структура;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("НачалоПериода", BeginningDate);
Запрос.УстановитьПараметр("КонецПериода", КонецДня(EndDate));
Запрос.Текст =
В другой базе (база приемник) написан обработчик, который подключается через WS-ссылку к базе источнику и получает оттуда данные из запроса. На форме обработчика есть выбор периода. Подскажите, как передать дату из базы приемника в базу источник , чтобы параметрам BeginningDate и EndDate из функции SubmitQuery присвоились значения , которые будут выбраны в обработчике. Может кто уже сталкивался с такими задачами.
Кусок кода из обработчика, отвечающий за подключение к базе источнику
&НаСервере
Функция ВыполнитьЗагрузкуНаСервере()
ТабДок = Новый ТабличныйДокумент;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Счетчик = 1;
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СравнениеДанных");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьОшибок = Макет.ПолучитьОбласть("СтрокаОшибок");
Шапка.Параметры.НачПериод = Формат(НачалоПериода,"ДФ=dd.MM.yyyy");
Шапка.Параметры.КонПериод = Формат(КонецПериода,"ДФ=dd.MM.yyyy");
ТабДок.Вывести(Шапка);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Данные", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)));
Соединение = WSСсылки.ПолучитьДанныеДокументов.СоздатьWSПрокси("http://localhost/ws/CompareDocument", "WebCompareDocument", "WebCompareDocumentSoap");
Соединение.Пользователь = "Admin";
Соединение.Пароль = "13788";
Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("SubmitQuery");
//Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("BeginningDate");
//Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("EndDate");
Данные = Новый Структура;
Данные.Вставить("ТаблицаДанных", ТЗ);
ПоказатьПо теме из базы знаний
- Многопоточный МикроСервер для файловой базы управляемого приложения 1c
- Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML"
- Универсальная сверка данных между разными базами 1С через веб-сервис
- Подкапотное пространство веб-клиента
- RabbitMQ+КД 3. История повторения чужого опыта. Наступаем на одни и те же грабли дважды
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
(3) Позвольте не согласиться. У коллеги вопрос , который находится между функциями, а именно " В другой базе (база приемник) написан обработчик, который подключается через WS-ссылку к базе источнику и получает оттуда данные из запроса. На форме обработчика есть выбор периода. Подскажите, как передать дату из базы приемника в базу источник , чтобы параметрам BeginningDate и EndDate из функции SubmitQuery присвоились значения , которые будут выбраны в обработчике. Может кто уже сталкивался с такими задачами.
Кусок кода из обработчика, отвечающий за подключение к базе источнику &НаСервере
Функция ВыполнитьЗагрузкуНаСервере()"
(3) Позвольте не согласиться. У коллеги вопрос , который находится между функциями, а именно " В другой базе (база приемник) написан обработчик, который подключается через WS-ссылку к базе источнику и получает оттуда данные из запроса. На форме обработчика есть выбор периода. Подскажите, как передать дату из базы приемника в базу источник , чтобы параметрам BeginningDate и EndDate из функции SubmitQuery присвоились значения , которые будут выбраны в обработчике. Может кто уже сталкивался с такими задачами.
Кусок кода из обработчика, отвечающий за подключение к базе источнику &НаСервере
Функция ВыполнитьЗагрузкуНаСервере()"
Ну как-то надо в параметры веб-сервиса передать эти даты.
У меня на мобильном приложении идет отправка данных через веб-сервис:
Т.е. типы этих параметров получаете через xdto, хотя мб для даты наверное необязательно.
А по этому типу параметр создаете.
У меня на мобильном приложении идет отправка данных через веб-сервис:
ВТочкаВхода = ВСервис.ТочкиПодключения.Получить(СтруктураИменВебСервиса.ПолныйИндекс);
Операция_НачатьОбмен = ВТочкаВхода.Интерфейс.Операции.Получить("НачатьОбмен");
ПериодВыгрузки = ВСПрокси.ФабрикаXDTO.Создать(Операция_НачатьОбмен.Параметры.Получить("ПериодВыгрузки").Тип,"За последнюю неделю");
Т.е. типы этих параметров получаете через xdto, хотя мб для даты наверное необязательно.
А по этому типу параметр создаете.
Передаю
Операция веб-сервиса
Рез=ВебСервис.ЗатратыПоЗаказам(НомерЗаказа,Строка(ДатаНачала),Строка(ДатаОкончания));
ТЗ=ЗначениеИзСтрокиВнутр(Рез);
Операция веб-сервиса
Функция ЗатратыПоЗаказам(НомерЗаказа, НачалоПериода, КонецПериода)
НачалоПериода1=Неопределено;
КонецПериода1=Неопределено;
Если ЗначениеЗаполнено(НачалоПериода) Тогда
НачалоПериода1=Дата(НачалоПериода);
КонецЕсли;
Если ЗначениеЗаполнено(КонецПериода) Тогда
КонецПериода1=Дата(КонецПериода);
КонецЕсли;
ТЗ=КФ_Выгрузка.ЗатратыПоЗаказам(НомерЗаказа,НачалоПериода1,КонецПериода1);
Возврат ЗначениеВСтрокуВнутр(ТЗ);
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот