Имя: Пароль:
1C
1С v8
Не получается ФабрикаXDTO.Создать
0 Anabella
 
28.11.16
14:59
Управление торговлей, редакция 11.2.3.200
1С:Предприятие 8.3 (8.3.8.1933)

Имеется файл схемы xml

<?xml version="1.0" encoding="utf-16"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema";
            targetNamespace="http://www.forum.mista.ru"; >

    <xs:element name="batch">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="row">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="store" type="xs:string" />
                            <xs:element name="date" type="xs:date" />
                            <xs:element name="product" type="xs:unsignedShort" />
                            <xs:element name="amount" type="xs:unsignedByte" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="descriptions" type="xs:string" use="required" />
        </xs:complexType>
    </xs:element>
</xs:schema>

Далее создаю внешнюю обработку с кодом:

ПакетСообщений = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.forum.mista.ru"),"batch";);

На этом моменте он пишет "ошибка при вызове метода контекста (Тип). Что тогда мне указать в качестве типа ?
1 Fragster
 
гуру
28.11.16
15:00
а что ты перед этим сделала с файлом схемы?
2 Serginio1
 
28.11.16
15:01
А ты пакет импортировал?
Либо
Фабрика=СоздатьФабрику(ИмяФайлаXSD);
3 Anabella
 
28.11.16
15:17
Переделала в:

Фабрика = СоздатьФабрикуXDTO("C:\Users\Администратор\Desktop\1c сервер\stocks.xsd");
ПакетСообщений = Фабрика.Тип("http://www.forum.mista.ru";, "batch");

Так он в ПакетСообщений возвращает Неопределено, но Фабрику получает.
4 Fragster
 
гуру
28.11.16
15:27
потому что нет такого типа. есть корневое свойство, у которого можно стырить тип
5 Операция 1Ы
 
28.11.16
15:30
(4) ага, что-то типа этого Соединение.ФабрикаXDTO.Создать(Операция.Параметры.Получить("batch").Тип
6 Anabella
 
28.11.16
16:36
Господа, мне непонятно. Почему во всех приводимых примерах
ФабрикаXDTO, не получается создать объект
http://1clenta.ru/pattern/85
http://1c83.ru/print/98019/
конструкция вида
ТипЗначенияXDTO = ФабрикаXDTO.Тип(<targetNamespace>, <element >) работает, и только у меня - нет?
Фабрика.Тип("http://www.forum.mista.ru";, "batch") = неопределено
7 Fragster
 
гуру
28.11.16
16:39
(6) -> (4)
8 Fragster
 
гуру
28.11.16
16:40
у тебя в схеме описан не тип, а корневое свойство
9 Mauser
 
28.11.16
16:41
(6) Потому что у тебя английским по белому написано, что batch это элемент, а не тип. Элемент с анонимным типом.
10 Anabella
 
28.11.16
16:57
(8),(9) так, смутно понятно, спасибо. А как всё-таки получить тип? попробовала кучу вариаций на основе (5), не помогло.
11 Anabella
 
28.11.16
17:00
ага, кажется, сообразила.
12 Serginio1
 
28.11.16
17:26
2 + 2 = 3.9999999999999999999999999999999...