Имя: Пароль:
1C
1С v8
XDTO пакеты 8.2
,
0 312Kbps
 
05.12.11
14:54
не работает XDTO пакет или я что то не правильно делаю (

создал пакет (http://www.sample-package.org)
у него создал ТипОбъекта UserToken
у объекта два свойства
ErrorCode - int (http://www.w3.org/2001/XMLSchema)
Token - string (http://www.w3.org/2001/XMLSchema)

далее:


ТокенТип=ФабрикаXDTO.Тип("http://www.sample-package.org","UserToken");
Токен=ФабрикаXDTO.Создать(ТокенТип);

{Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (Создать)
   Токен=ФабрикаXDTO.Создать(ТокенТип);
по причине:
Несоответствие типов (параметр номер '1')

если делаю тоже самое в 8.1, все работает без проблем

что здесь не так в 8.2 (8.2.13.219) или в этой версии это вообще не работает !? (
1 Amiralnar
 
05.12.11
14:57
Фабрика откуда?
2 312Kbps
 
05.12.11
14:59
3 Amiralnar
 
05.12.11
15:00
Объект "ФабрикаXDTO" откуда взялся?
4 312Kbps
 
05.12.11
15:02
это объект самой 1С
5 Amiralnar
 
05.12.11
15:02
А пробовал создавать фабрику по своему пакету?
6 312Kbps
 
05.12.11
15:04
нет, но я все примерны в инете пересмотрел, там ни где сама фабрика не создавалась

и в 8.1 без создании фабрики работает (
7 312Kbps
 
05.12.11
15:07
(5) можно пример, не совсем понял как создавать фабрику
8 DmitrO
 
05.12.11
15:08
Написано вроде все верно.
ФабрикаXDTO - свойство глобального контекста, там все пакеты.
Тип значения переменной ТокенТип какой?
9 312Kbps
 
05.12.11
15:09
в том то и дело что после выполнения
ТокенТип=ФабрикаXDTO.Тип("http://www.sample-package.org","UserToken");

ТокенТип = тип непоределенный
10 312Kbps
 
05.12.11
15:10
а должен быть тип XDTO
11 Amiralnar
 
05.12.11
15:20
Попробуй создать.


ФабрикаXDTO (XDTOFactory)
На основе модели типов
Синтаксис:

Новый ФабрикаXDTO(<Модель>, <Пакеты>)
Параметры:

<Модель> (необязательный)

Тип: ОбъектXDTO.
Модель типов, по которой необходимо сформировать фабрику типов XDTO.
Модель представляется в виде объекта XDTO, имеющего тип XDTO {http://v8.1c.ru/8.1/xdto}:Model.
<Пакеты> (необязательный)

Тип: Массив; КоллекцияПакетовXDTO.
Коллекция пакетов для разрешения директив импорта модели типов XDTO.
В случае, если модель типов содержит определения типов из пространства имен, имеющихся в коллекции пакетов, или директивы импорта, ссылающиеся на пакет, имеющийся в коллекции, то в фабрику будет помещен данный пакет, а не сконструирован новый.
Описание:

Создает фабрику типов XDTO по модели типов. Модель типов передается в виде объекта XDTO, имеющего тип XDTO {http://v8.1c.ru/8.1/xdto}:Model.
12 312Kbps
 
05.12.11
15:26
копипаст я делать тоже умею, покажи пример
13 pumbaEO
 
05.12.11
15:33
14 312Kbps
 
05.12.11
15:34
да что же такое, ни кто не знает как мне этот пакет получить !?
15 312Kbps
 
05.12.11
15:35
конечно смотрел, все тоже самое делаю, не работает ((( копирую все это в 8.1 = все работает

я уже думал что может с компом у меня глюки какие, ходил пробовал на соседнем, все тоже самое...
16 312Kbps
 
05.12.11
15:52
хоть какие мыли есть по этому поводу !? )
17 pumbaEO
 
05.12.11
15:54
http://screencast.com/t/7hrnZJOCUNxe
У меня работает, платформа 8.2.13.219
18 312Kbps
 
05.12.11
16:01
(17) верю, в чем тогда может быть проблема у меня !?  хотя сделано у меня тоже самое....
19 pumbaEO
 
05.12.11
16:04
http://screencast.com/t/7KverHvywt Смотри объявление пакета, какое у меня.
20 312Kbps
 
05.12.11
16:09
(19) один в один (
21 pumbaEO
 
05.12.11
16:15
пальцем в небо: кеш чистить, стоит ли msxml6.0?
22 312Kbps
 
05.12.11
16:21
мне кажется я начинаю понимать, у меня было приложение 8,2 управляемое , не совместимое с 8.1

создал рядом вторую базу,
основной запуск: Обычное приложение
режим совместимости с 8.1


а вот теперь хотелось бы знать, действительно ли в управляемом приложении XDTO не работает (((

(21) попробуй в управляемом приложении сделать
23 Amiralnar
 
05.12.11
16:35
ФабрикаXDTO (XDTOFactory)
Создать (Create)
Вариант синтаксиса: Создание значения из значения

Синтаксис:

Создать(<Тип>, <Значение>)
Параметры:

<Тип> (обязательный)

Тип: ТипЗначенияXDTO.
Тип, значение которого необходимо создать.
<Значение> (обязательный)

Тип: Произвольный.
Произвольное значение, на основе которого должно быть создано значение XDTO.
Вариант синтаксиса: Создание значения по лексическому представлению

Синтаксис:

Создать(<Тип>, <Строка>)
Параметры:

<Тип> (обязательный)

Тип: ТипЗначенияXDTO.
Тип, значение которого необходимо создать.
<Строка> (обязательный)

Тип: Строка.
Лексическое представление значения.
Вариант синтаксиса: Создание объекта

Синтаксис:

Создать(<Тип>)
Параметры:

<Тип> (обязательный)

Тип: ТипОбъектаXDTO.
Тип, объект которого необходимо создать.
Возвращаемое значение:

Тип: ЗначениеXDTO.

Описание:

Создает значение XDTO на основе строки (лексического представления значения).

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Лексическое представление значения должно удовлетворять ограничениям, определяемым данным типом значения XDTO.
24 Amiralnar
 
05.12.11
16:35
Вдумчиво читай, затем смотри в свой код.
25 Amiralnar
 
05.12.11
16:37
ТокенТип какой тип имеет в отладчике?
26 pumbaEO
 
05.12.11
16:37
Токен=ФабрикаXDTO.Создать(ТокенТип);
В управляемом не работаеат, сп пишет, что работает.
НаСервере отрабатывает все нормально.
27 pumbaEO
 
05.12.11
16:40
Добавлю к (26)
Управляемое приложение:
&НаКлиенте отрабатывает только
ТокенТип=ФабрикаXDTO.Тип("http://www.sample-package.org","UserToken");
&НаСервере все работает
ТокенТип=ФабрикаXDTO.Тип("http://www.sample-package.org","UserToken");
Токен=ФабрикаXDTO.Создать(ТокенТип);
28 312Kbps
 
05.12.11
16:52
то есть в управляемом на клиенте
ТокенТип=ФабрикаXDTO.Тип("http://www.sample-package.org","UserToken");

ТокенТип - возращает неопределенный тип

а если на сервере , все отрабатывает

в неуправляемом режиме работает в обоих вариантах, и на клиенте и на сервере


я все запустил, теперь следующая ошибка, теперь веб сервис возращает пакет с такой ошибкой

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header/>
   <soap:Body>
       <soap:Fault>
           <faultcode>soap:Client</faultcode>
           <faultstring>Неизвестная ошибка. Несоответствие типов XDTO:
Тип '{http://www.sample-package.org}UserToken' не найден
Тип принадлежит пакету, отсутствующему в фабрике типов XDTO
по причине:
Несоответствие типов XDTO:
Тип '{http://www.sample-package.org}UserToken' не найден
Тип принадлежит пакету, отсутствующему в фабрике типов XDTO</faultstring>
           <detail>Неизвестная ошибка. Несоответствие типов XDTO:
Тип '{http://www.sample-package.org}UserToken' не найден
Тип принадлежит пакету, отсутствующему в фабрике типов XDTO
по причине:
Несоответствие типов XDTO:
Тип '{http://www.sample-package.org}UserToken' не найден
Тип принадлежит пакету, отсутствующему в фабрике типов XDTO</detail>
       </soap:Fault>
   </soap:Body>
</soap:Envelope>
29 312Kbps
 
06.12.11
11:23
разобрался в чем проблема

в веб сервисе надо было указать мой XDTO пакет и все заработало )
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан