Web-сервисы запись в регистры. #753964


#0 by Олеся999
Добрый день,  подскажите пожалуйста правильно ли я записываю в регистры ? web-сервисе есть параметр vl который имеет тип, например DataTime. А  DataTime содержит в себе (fl, iu, tp, co, dt)  в каждой из которой передаются данные. И нам нужно записывать эти данные в регистр.
#1 by Олеся999
#2 by jsmith82
Красиво рисуешь. Ну, посмотри в отладчике, соответствуют ли типы.
#3 by Олеся999
А как я посмотрю в  модуле веб-сервиса мы же публикуем
#4 by Cyberhawk
"А как я посмотрю в  модуле веб-сервиса мы же публикуем" Вопрос: "А как я посмотрю" Ответ: "в  модуле веб-сервиса"
#5 by Олеся999
В браузере нашла:
#6 by Олеся999
Мене просто интересно: можно ли так путь писать (vl.fl)
#7 by ЧеловекДуши
нет, у тебя "vl"  является массивом. Так что ты там куда получать собираешься? :)
#8 by ЧеловекДуши
Читай про ОбъектXDTO ОбъектXDTO.Получить (XDTODataObject.Get) Получить (Get) Вариант синтаксиса: По свойству Синтаксис: Получить(<Свойство>) Параметры: Тип: СвойствоXDTO. Свойство, значение которого необходимо получить. Вариант синтаксиса: По выражению XPath Синтаксис: Получить(<Выражение>) Параметры: Тип: Строка. Строка-выражение XPath для получения значения свойства. Возвращаемое значение: Тип: Произвольный. Описание: Получает значение для указанного свойства. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение.
#9 by ЧеловекДуши
ПолучитьСписок (GetList) Вариант синтаксиса: По свойству Синтаксис: ПолучитьСписок(<Свойство>) Параметры: Тип: СвойствоXDTO. Свойство, для которого необходимо получить список. Описание варианта метода: Если свойство не является списковым, вызывается исключение. Вариант синтаксиса: По выражению XPath Синтаксис: ПолучитьСписок(<Выражение>) Параметры: Тип: Строка. Выражение XPath, соответствующее свойству, для которого необходимо получить список значений. Возвращаемое значение: Тип: СписокXDTO; Неопределено. Если для свойства список значения не определен, будет возвращено Неопределено. Описание: Получает список значений для указанного свойства. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение.
#10 by ЧеловекДуши
В итоге... СписокXDTO (XDTOList) Свойства: Методы: Вставить (Insert) Описание: Список элементов данных XDTO. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение. См. также: ОбъектXDTO, метод ПолучитьСписок
#11 by Олеся999
ну  vl массив несет в себе (fl, tp, co, dt) и id=iu Ну мне нужно полученные данные fl, tp, co, dt записывать в регистр сведений.
#12 by Олеся999
Как массив vl содержащий  в себе (fl, tp, co, dt) записать в регистры сведений в разные колонки ?
#13 by Cyberhawk
Я до сих пор не понял, в чем проблема. Нарисуй, что есть сейчас в регистре и как должно быть?
#14 by Олеся999
Скажите пожалуйста как задавать программно тип?
#15 by Cyberhawk
"ЗаказТип = Прокси.ФабрикаXDTO.Пакеты.Получить("";);     |СтрокаЗаказаТип = Прокси.ФабрикаXDTO.Пакеты.Получить("";);     |
#16 by Олеся999
Маленько не поняла это запрос или что ? как мне его вкорячить в клиента ?
#17 by Cyberhawk
это код в виде строки
#18 by Олеся999
Вот так вот будет ?          "ЗаказТип = Прокси.ФабрикаXDTO.Пакеты.Получить(""unsignedInt "").Получить(""DateTime"";);     |СтрокаЗаказаТип = Прокси.ФабрикаXDTO.Пакеты.Получить(""unsignedInt "").Получить(""DateTime"";);
#19 by Cyberhawk
Я не понял вопроса
#20 by Олеся999
Ну правильно я описала типы ? или нет :)
#21 by Cyberhawk
Ответ на этот вопрос не в моей компетенции
#22 by Олеся999
Это обработка выступающая в роли клиента  код: Ошибки : {Обработка.ПриветБаза.Форма.Форма.Форма(38,22)}: Переменная не определена (й)         WSПараметр.fl = <<?>>й; (Проверка: Толстый клиент (обычное приложение)) {Обработка.ПриветБаза.Форма.Форма.Форма(39,22)}: Переменная не определена (йй)         WSПараметр.tp = <<?>>йй; (Проверка: Толстый клиент (обычное приложение)) {Обработка.ПриветБаза.Форма.Форма.Форма(40,22)}: Переменная не определена (ййй)         WSПараметр.co = <<?>>ййй; (Проверка: Толстый клиент (обычное приложение)) {Обработка.ПриветБаза.Форма.Форма.Форма(41,22)}: Переменная не определена (йййй)         WSПараметр.dt = <<?>>йййй; (Проверка: Толстый клиент (обычное приложение))
#23 by Serginio1
Вроде по русски написано Переменная не определена (й)
#24 by Олеся999
Вроде правильно но пишет : {Обработка.ПриветБаза.Форма.Форма.Форма}: Недостаточно фактических параметров Ответ = Сервис.sendDateTime(СамПараметр);
#25 by Serginio1
Судя по 1 у тебя там еще параметр беззнаковый инт
#26 by Олеся999
Можно поподробнее маленько не поняла?
#27 by Serginio1
Ответ = Сервис.sendDateTime(СамПараметр,1);
#28 by Олеся999
Спасибо :) теперь вот : {Обработка.ПриветБаза.Форма.Форма.Форма}: Ошибка при вызове метода контекста (sendDateTime) Ответ = Сервис.sendDateTime(СамПараметр,1); по причине: Ошибка вызова операции сервиса:  { по причине: Ошибка HTTP:  HTTP Status . {"#exception":"{: Method not allowed Ошибка при выполнении запроса POST к ресурсу /test2C/ws/ws1.1cws:"}}
#29 by Serginio1
А другие методы работают? Начни с простых методов просто возвращающих строку
#30 by Serginio1
Все поля должны быть заполнены co тип Coord а dt dateTime
#31 by Serginio1
Да и unsignedInt это беззнаковое целое число.
#32 by Олеся999
#33 by Олеся999
Это код обработки клиента
#34 by Serginio1
Но у тебя незаплнены
#35 by Олеся999
Раскоментировала   Ошибка : {Обработка.ПриветБаза.Форма.Форма.Форма}: Ошибка при установке значения атрибута контекста (co) СамПараметр.co = "123"; по причине: Несоответствие типов XDTO по причине: Ошибка проверки данных XDTO: Значение: '123' не соответствует простому типу: {urn:GazMonTLM}Coord Значение не соответствует значениям фасета перечисления
#36 by Serginio1
А ты вообще читаешь ошибки? Значение: '123' не соответствует простому типу: {urn:GazMonTLM}Coord и на СамПараметр.dt = "123"; получишь, что 123 не соответствует типу dateTime/ Ты отличие типов понимаешь?
#37 by Олеся999
Ошибка: {Обработка.ПриветБаза.Форма.Форма.Форма}: Значение не является значением объектного типа (iu) СамПараметр2.iu = "123";
#38 by Serginio1
Успокойся и читай, что тебе написал.
#39 by Serginio1
co так и не установила Сервис.sendDateTime(СамПараметр,123);
#40 by Serginio1
Если бы второй параметр был AnyType тогда СамПараметр2 = Сервис.ФабрикаXDTO.Создать(ТипПараметра2,123);
#41 by Serginio1
И почему ты задаешь значения через строку если там число. Понятно, что преобразутся к типу, на зачем лишние кавычки писать
#42 by Олеся999
Процедура КнопкаВыполнитьНажатие(Кнопка)     //Параметр = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип(";, "string"), ТекстXML);     //п2 = Сервис.ФабрикаXDTO.Создать(Сервис.ФабрикаXDTO.Тип(";, "unsignedInt"),ТекстXML); И та же ошибка :(
#43 by Serginio1
СамПараметр.co кто будет заполнять. Я тебе уже все уши прожужал.
#44 by Олеся999
а он ругается на тип что не строка
#45 by Serginio1
Так создай тип ТипПараметра2 =Сервис.ФабрикаXDTO.Тип("urn:GazMonTLM", "Coord ") и заполни её
#46 by Serginio1
#47 by Олеся999
нет
#48 by Олеся999
Ошибка: {Обработка.ПриветБаза.Форма.Форма.Форма}: Ошибка при вызове метода контекста (Создать) СамПараметр3 = Сервис.ФабрикаXDTO.Создать(ТипПараметра3); по причине: Несоответствие типов (параметр номер '1')
#49 by Serginio1
Странно у меня ругается так нет ТипПараметра2 =ФабрикаXDTO.Тип(";); СамПараметр2 =ФабрикаXDTO.Создать(ТипПараметра2);
#50 by Serginio1
А пробел зачем лишний Сервис.ФабрикаXDTO.Тип("urn:GazMonTLM", "Coord");
#51 by Serginio1
Покажи из чего состоит твой Coord
#52 by Serginio1
Да ты так долго вэб сервис делать будешь
#53 by Олеся999
enum ns__Coord { all = 0, c1 = 1, c2 =2 , c3 = 3, c4 =4 , c5 = 5, c6 =6, c7 = 7, c8 = 8};    // определение типа координат
#54 by Serginio1
Ну и наверное так. Посмотри в отладчике
#55 by Serginio1
Пробел убери
#56 by HIDDEN MESSAGE
#57 by Serginio1
Олеся ты читаешь, что я тебе пишу? Прочитай еще, что я тебе написал и найдешь ответ на свой вопрос. unsignedInt это беззнаковое число. Смотри в отладчике свойства отбъектов и типов. Включай голову. Нельзя бездумно, что либо делать. Нужно понять, а потом писать.
#58 by Олеся999
Конечно читаю :)
#59 by Олеся999
СамПараметр2.iu = 123;  так 123 является же целым числом ?
#60 by Олеся999
Закоментировала ТипПараметра2 =Сервис.ФабрикаXDTO.Тип(";;); {Обработка.ПриветБаза.Форма.Форма.Форма}: Ошибка при вызове метода контекста (sendDateTime) по причине: Ошибка вызова операции сервиса:  { по причине: Ошибка HTTP:  HTTP Status . {"#exception":"{: Method not allowed Ошибка при выполнении запроса POST к ресурсу /test2C/ws/ws1.1cws:"}}
#61 by Serginio1
У СамПараметр2 нет никаких полей. Я тебе об этом писал в 39,40,46 А теперь сделай простой метод возвращающий строку и вызови его. Второе вынеси все методы в глобальный модуль с признаком экспорт с галочками сервер клиент. Это позволит тебе отлаживать с клиента. Можешь завернуть вызов в попытку и записывать ошибки в журнал Регистрации.
#62 by Serginio1
Method not allowed Нужно для каждого метода дать права
#63 by Олеся999
а где даются права?
#64 by Serginio1
Роли-Общие_Вэб сервисы.Для каждого метода нужно проставить использование
#65 by Олеся999
У меня нет ролей ..у меня почти пустая конфа только веб-сервисы и регистры и обработка
#66 by Serginio1
Потратил время. Все, что я тебе писал вообще не использовано ТипПараметра =Сервис.ФабрикаXDTO.Тип("urn:GazMonTLM","DateTime");
#67 by Serginio1
Заплатите знающему человеку и будет вам счастье
#68 by Олеся999
я готова заплатить мне бы знающего найти :)
#69 by Serginio1
Ну кликнуть то можно. Например на ифостарте распространены платные вопросы. Просто ты столько времени потратила. Хотя наверное и многому научилась
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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