|
Типы объектов. Веб сервис. | ☑ | ||
---|---|---|---|---|
0
AllJoke
16.02.12
✎
15:35
|
Всем времени доброго. Вот решил прикрутить к своей конфе веб сервис ЦБ РФ. Есть у него метод - GetCursOnDate. Тип параметра этого метода - GetCursOnDate. Смотрю далее:
ВССсылка - Пакеты - ТипыПакетов - GetCursOnDate - OnDate. Тип у него - dateTime. Так вот беда в том что при запуске кода: СервисЦБ.GetCursOnDate("20120216") ругается на несоответствие типов. Я так понял ему нужно вернуть тип из пакета. Но вот как это сделать, не пойму. Прошу помощи. |
|||
1
Mort
16.02.12
✎
15:43
|
Надо через фабрику создать значение этого типа.
|
|||
2
AllJoke
16.02.12
✎
15:46
|
можно пример. Бьюсь уже полдня.
|
|||
3
Scooter
16.02.12
✎
15:49
|
НоменклатураТип = ФабрикаXDTO.Тип("http://www.1c.ru/demos/shipment", "НоменклатураШтрихКод");
РасходнаяНакладнаяТип = ФабрикаXDTO.Тип("http://www.1c.ru/demos/shipment", "РасходнаяНакладная"); ЭлементРасходнойНакладнойТип = ФабрикаXDTO.Тип("http://www.1c.ru/demos/shipment", "ЭлементРасходнойНакладной"); РасходнаяНакладная = ФабрикаXDTO.Создать(РасходнаяНакладнаяТип); Для Каждого Элемент Из Документ.Состав Цикл ЭлементРасходнойНакладной = ФабрикаXDTO.Создать(ЭлементРасходнойНакладнойТип); Номенклатура = ФабрикаXDTO.Создать(НоменклатураТип); Номенклатура.ШтрихКод = Элемент.Номенклатура.ШтрихКод; ЭлементРасходнойНакладной.Номенклатура = Номенклатура; ЭлементРасходнойНакладной.Количество = Элемент.Количество; ЭлементРасходнойНакладной.Цена = Элемент.Цена; ЭлементРасходнойНакладной.Сумма = Элемент.Сумма; РасходнаяНакладная.Состав.Добавить(ЭлементРасходнойНакладной); КонецЦикла; |
|||
4
Mort
16.02.12
✎
15:58
|
Во. Нашел свою поделку
ТипДата = ФабрикаЦБРФ.Тип("http://www.w3.org/2001/XMLSchema","dateTime"); |
|||
5
AllJoke
16.02.12
✎
16:04
|
(4) А ФабрикаЦБРФ откуда берётся?
|
|||
6
Mort
16.02.12
✎
16:06
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Металлы.Очистить(); СервисЦБРФ = WSСсылки.ЦБРФ.СоздатьWSПрокси("http://web.cbr.ru/", "DailyInfo", "DailyInfoSoap"); ФабрикаЦБРФ = СервисЦБРФ.ФабрикаXDTO; ТипПараметра=ФабрикаЦБРФ.Тип("http://web.cbr.ru/","DragMetDynamic"); ТипДата = ФабрикаЦБРФ.Тип("http://www.w3.org/2001/XMLSchema","dateTime"); Параметр = ФабрикаЦБРФ.Создать(ТипПараметра); Параметр.fromDate = ФабрикаЦБРФ.Создать(ТипДата, НачПериода); Параметр.toDate = ФабрикаЦБРФ.Создать(ТипДата, КонПериода); Результат = СервисЦБРФ.DragMetDynamic(Параметр); ТаблицаМеталлы = Результат.DragMetDynamicResult.diffgram.DragMetall.ПолучитьСписок("DrgMet"); ВГраница = ТаблицаМеталлы.Количество() - 1; Для Счетчик = 0 По ВГраница Цикл СтрокаМеталлы = Металлы.Добавить(); Запись = ТаблицаМеталлы.Получить(Счетчик); СтрокаМеталлы.Металл = ПолучитьМеталл(Число(Запись.CodMet)); СтрокаМеталлы.Дата = ПолучитьДатуИзСтроки(Запись.DateMet); СтрокаМеталлы.Цена = Запись.price; КонецЦикла; Металлы.Сортировать("Металл, Дата"); КонецПроцедуры Функция ПолучитьДатуИзСтроки(СтрокаДаты) Возврат Дата(Лев(СтрокаДаты, 4) + Сред(СтрокаДаты, 6, 2) + Сред(СтрокаДаты, 9, 2)); КонецФункции Функция ПолучитьМеталл(Номер) Если Номер = 1 Тогда Возврат "Золото"; ИначеЕсли Номер = 2 Тогда Возврат "Серебро"; ИначеЕсли Номер = 3 Тогда Возврат "Платина"; ИначеЕсли Номер = 4 Тогда Возврат "Палладий"; КонецЕсли; КонецФункции |
|||
7
AllJoke
16.02.12
✎
16:11
|
(6) А курсы валют не пробовали получать. Там же только дата указывается.
|
|||
8
Mort
16.02.12
✎
16:14
|
(7) Ну курсы я думаю уже сам допрешь как.
|
|||
9
AllJoke
16.02.12
✎
16:17
|
Спасибо. Допёр. Думал параметр нужно через тип передавать. За код, +100. Очень помог. Не первый раз кстати. Быть может в ветку ещё вернусь. Это только первые шаги.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |