![]() |
![]() |
![]() |
|
Подскажите по теме XDTO ... | ☑ | ||
---|---|---|---|---|
0
TDI
27.09.10
✎
11:22
|
Есть файл xsd с схемой XML документа, в котором нужно выгружать справочник контрагентов в внешний ПП.
Подскажите где можно почитать инструкцию по использованию XDTO в 1С, или где посмотреть простенький пример обхода этой схемы, для создания XML документа. Спасибо |
|||
1
TDI
27.09.10
✎
13:03
|
up
|
|||
2
CoolCat
27.09.10
✎
13:06
|
(0) П.С Белоусов, A.B. Oстроверх "1С:Предприятие: от 8.0 к 8.1"
|
|||
3
TDI
27.09.10
✎
15:58
|
(2) под рукой нет...
|
|||
4
mzelensky
27.09.10
✎
16:04
|
||||
5
mzelensky
27.09.10
✎
16:05
|
||||
6
mzelensky
27.09.10
✎
16:05
|
||||
7
mzelensky
27.09.10
✎
16:06
|
||||
8
mzelensky
27.09.10
✎
16:06
|
Там вроде описываются простенькие примеры!
|
|||
9
Aleksey_3
27.09.10
✎
16:12
|
Поиск по форуму уже не рулит?
|
|||
10
mzelensky
27.09.10
✎
16:34
|
(9) в каком веке ты живешь??? поиск по форуму уже не модно!!! :)
|
|||
11
TDI
29.09.10
✎
13:48
|
я как понимаю это XDTO помогает только при создании обмена в однородных конфигурациях?
У меня есть файл с xml - XSD который сформирован для данных совсем иной программы (XXX), как эту схему XSD я могу приспособить для ускорения выгрузки данных в программу XXX ? Или это уже легче делать просто прямым формированием XML файла? |
|||
12
TDI
29.09.10
✎
14:00
|
up
|
|||
13
sda553
29.09.10
✎
14:01
|
//Создание фабрики из xsd
Пути = Новый Массив(); Пути.Добавить("C:\Conf.xsd"); Фабрика = СоздатьФабрикуXDTO(Пути); //Создание объекта XDTO имея фабрику, имя тип и пространство имен тип = ТекФабрикаXDTO.Тип(ПространствоИмен, имяТипа); ОбъектXDTO = ТекФабрикаXDTO.Создать(тип); //Работа с объектом XDTO ОбъектXDTO.ТакоеТоСвойство = 1; ОбъектXDTO.ДругоеТоСвойство = "Привет"; //Выгрузка объекта в xml Док = Новый ДокументDOM(ПространствоИмен,ИмяДокумента); ЗаписьУзлов = Новый ЗаписьУзловDOM; ЗаписьУзлов.Открыть(Док); ТекФабрикаXDTO.ЗаписатьXML(ЗаписьУзлов,ОбъектXDTO,ИмяОбъектаВXML,ПространствоИмен); ЗаписьУзлов.Закрыть(); ЗаписьДом = Новый ЗаписьDOM; ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); ЗаписьДом.Записать(Док,ЗаписьXML); СтрокаXML = ЗаписьXML.Закрыть(); |
|||
14
TDI
29.09.10
✎
14:17
|
(13) спасибо..
пару вопросов: Что такое ДокументDOM ? и что должн опередаваться в ИмяДокумента? |
|||
15
sda553
29.09.10
✎
16:09
|
<?xml version="1.0" encoding="UTF-8"?>
<v8msg:Message xmlns:v8msg="http://v8.1c.ru/messages"> <v8msg:Header> <v8msg:ExchangePlan>TestExchange</v8msg:ExchangePlan> <v8msg:To>8</v8msg:To> <v8msg:From>1</v8msg:From> <v8msg:MessageNo>9666</v8msg:MessageNo> <v8msg:ReceivedNo>11314</v8msg:ReceivedNo> </v8msg:Header> </v8msg:Message> Здесь Message это имя документа а http://v8.1c.ru/messages это пространство имен ДокументDOM удобная компонента для создания xml, в отличие от записьXML позволяет делать это не последовательно |
|||
16
Адинэснег
04.10.10
✎
13:07
|
народ, подскажите как перечисление из схемы вытащить?
|
|||
17
Адинэснег
04.10.10
✎
13:13
|
<xs:simpleType name="EnumRef.ПолФизическогоЛица">
<xs:restriction base="xs:string"> <xs:enumeration value=""/> <xs:enumeration value="Мужской"/> <xs:enumeration value="Женский"/> </xs:restriction> </xs:simpleType> |
|||
18
Адинэснег
04.10.10
✎
13:16
|
ОбъектФизЛицо.DeletionMark = ФизЛицоОбъект.ПометкаУдаления;
ОбъектФизЛицо.Description = ФизЛицоОбъект.Наименование; ОбъектФизЛицо.IsFolder = ФизЛицоОбъект.ЭтоГруппа; ОбъектФизЛицо.Parent = ФизЛицоОбъект.Родитель; ОбъектФизЛицо.Ref = ФизЛицоОбъект.Ссылка.УникальныйИдентификатор(); ОбъектФизЛицо.ДатаРождения = ФизЛицоОбъект.Ссылка.ДатаРождения; ОбъектФизЛицо.ИНН = ФизЛицоОбъект.ИНН; ОбъектФизЛицо.КодИМНС = ФизЛицоОбъект.КодИМНС; ОбъектФизЛицо.Пол = ??? |
|||
19
Адинэснег
04.10.10
✎
13:17
|
то есть тут перечисление нужно указать из схемы. Как?
|
|||
20
DmitrO
04.10.10
✎
13:21
|
В схеме задано что базовый тип строка. Она просто ограничена определенными значениями. Значит так:
ОбъектФизЛицо.Пол = "Мужской"; |
|||
21
Адинэснег
04.10.10
✎
13:22
|
(20)Ооо, сэнкс
|
|||
22
Адинэснег
04.10.10
✎
14:17
|
Получил xml:
<?xml version="1.0" encoding="UTF-8"?> <Данные> <CatalogObject.ФизическиеЛица xmlns="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <IsFolder>false</IsFolder> <Ref>39c0ea50-237b-11df-8584-0007e92fb5cd</Ref> <DeletionMark>false</DeletionMark> <Parent>dfeb07c2-a71c-11de-997f-0007e92fb5cd</Parent> <Description>Иванов Леонид Анатольевич</Description> <ДатаРождения>1985-02-02T00:00:00</ДатаРождения> <Пол>Мужской</Пол> <ИНН/> <КодИМНС/> <Сотрудник>true</Сотрудник> </CatalogObject.ФизическиеЛица> </Данные> Не читается гад |
|||
23
Адинэснег
04.10.10
✎
14:20
|
по причине:
Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ФизическиеЛица Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}IsFolder Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType |
|||
24
Адинэснег
04.10.10
✎
15:41
|
и все таки, что то не так делаю.
Конфигурация-Источник(КИ) Конфигурация-Приемник(КП) Из КП выгрузил схему "C:\UPR.xsd" В КИ делаю: ЗаписьXML = Новый ЗаписьXML; ИмяФайла ="c:\XML_выгрузка.xml"; ЗаписьXML.ОткрытьФайл(ИмяФайла); ЗаписьXML.ЗаписатьОбъявлениеXML(); Пути = Новый Массив(); Пути.Добавить("C:\UPR.xsd"); Фабрика = СоздатьФабрикуXDTO(Пути); НовыйСериализаторXDTO = Новый СериализаторXDTO(Фабрика); ТипФизЛицо = Фабрика.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "CatalogObject.ФизическиеЛица"); ОбъектФизЛицо = Фабрика.Создать(ТипФизЛицо); Зс = Новый Запрос; зс.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ФизическиеЛица.Ссылка КАК ФизЛицо |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица " ; выборка = зс.Выполнить().Выбрать(); ЗаписьXML.ЗаписатьНачалоЭлемента("Данные"); Пока выборка.Следующий() Цикл ФизЛицоОбъект = выборка.ФизЛицо.ПолучитьОбъект(); ОбъектФизЛицо.DeletionMark = ФизЛицоОбъект.ПометкаУдаления; ОбъектФизЛицо.Description = ФизЛицоОбъект.Наименование; ОбъектФизЛицо.IsFolder = ФизЛицоОбъект.ЭтоГруппа; ОбъектФизЛицо.Parent = ФизЛицоОбъект.Ссылка.Родитель.УникальныйИдентификатор(); ОбъектФизЛицо.Ref = ФизЛицоОбъект.Ссылка.УникальныйИдентификатор(); Если НЕ ФизЛицоОбъект.ЭтоГруппа Тогда ОбъектФизЛицо.ДатаРождения = ФизЛицоОбъект.ДатаРождения; ОбъектФизЛицо.ИНН = ФизЛицоОбъект.ИНН; ОбъектФизЛицо.КодИМНС = ФизЛицоОбъект.КодИМНС; Если ФизЛицоОбъект.Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда ОбъектФизЛицо.Пол = "Мужской" ИначеЕсли ФизЛицоОбъект.Пол = Перечисления.ПолФизическихЛиц.Женский Тогда ОбъектФизЛицо.Пол = "Женский" Иначе ОбъектФизЛицо.Пол = "" КонецЕсли; ОбъектФизЛицо.Сотрудник = Истина; КонецЕсли; Фабрика.ЗаписатьXML(ЗаписьXML, ОбъектФизЛицо); КонецЦикла; ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); В КП Делаю: ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла); ФЛОбъект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); ФЛОбъект.ОбменДанными.Загрузка = Истина; ФЛОбъект.Записать(); ЧтениеXML.Закрыть(); |
|||
25
Адинэснег
04.10.10
✎
15:55
|
Выходной файл:
<Данные> <CatalogObject.ФизическиеЛица> <IsFolder>true</IsFolder> <Ref>91a2ce24-7de9-11da-9e32-577754503030</Ref> <DeletionMark>false</DeletionMark> <Parent>00000000-0000-0000-0000-000000000000</Parent> <Description>ООО Рога и Копыта</Description> </CatalogObject.ФизическиеЛица> </Данные> |
|||
26
Адинэснег
04.10.10
✎
15:58
|
на строке
ФЛОбъект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); в КП валится по ошибке |
|||
27
Адинэснег
04.10.10
✎
15:58
|
где че упустил?) сериализатор наверно при выгрузке?
|
|||
28
Адинэснег
04.10.10
✎
16:03
|
тонет черт
|
|||
29
Адинэснег
04.10.10
✎
16:15
|
юп
|
|||
30
DmitrO
04.10.10
✎
16:17
|
ох ты какой шустрый :)
а как он должен преобразовать в ФизЛицо элемент Данные? у него в схемах пространстве имен "http://v8.1c.ru/8.1/data/enterprise/current-config" для элемента "CatalogObject.ФизическиеЛица" нет никакого элемента с названием "Данные" :) |
|||
31
Адинэснег
04.10.10
✎
16:24
|
ааа)
|
|||
32
Адинэснег
04.10.10
✎
16:26
|
дак блин) надо же при записи корневой элемент указать, а то ругается) щас попробуем разпарсить Данные сначала, и обходить элементы на втором уровне
|
|||
33
DmitrO
04.10.10
✎
16:29
|
кроме того из твоего файла и кода он даже не знает что ты вообще физ.лицо хочешь получить
|
|||
34
Адинэснег
04.10.10
✎
16:30
|
дак да
|
|||
35
Адинэснег
04.10.10
✎
16:30
|
{Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ФЛОбъект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); по причине: Ошибка преобразования данных XDTO: НачалоСвойства: CatalogObject.ФизическиеЛица Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка преобразования данных XDTO: НачалоСвойства: IsFolder Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType |
|||
36
DmitrO
04.10.10
✎
16:32
|
вот именно anyType
|
|||
37
Адинэснег
04.10.10
✎
16:34
|
как быть?
|
|||
38
DmitrO
04.10.10
✎
16:36
|
короче..
во-первых: надо в xml файле указать пространство имен (ну или придется в ПрочитатьXML тип указывать). во-вторых: надо сначала зайти в элемент Данные, а потом уже читать объект ФЛ. ну и наверно в-третьих: элемент должен соответствовать схеме, подозреваю что он у тебя не полный. |
|||
39
Адинэснег
04.10.10
✎
16:39
|
ну я его не заполняю ибо у каталогов(групп) нет реквизитов а null не запишешь
|
|||
40
sapphire
04.10.10
✎
16:40
|
(38) Если схема статична, почему бы её не импортировать?
|
|||
41
DmitrO
04.10.10
✎
16:41
|
(39) а ну это правильно, именно так и надо.
|
|||
42
Адинэснег
04.10.10
✎
16:44
|
>>во-первых: надо в xml файле указать пространство имен
в котором месте? |
|||
43
DmitrO
04.10.10
✎
16:48
|
в элементе Данные например, или можно в каждом элементе CatalogObject.ФизическиеЛица указывать
|
|||
44
Адинэснег
04.10.10
✎
16:50
|
в данных не сканало, а вот в
<?xml version="1.0" encoding="UTF-8"?> <CatalogObject.ФизическиеЛица xmlns="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <IsFolder>true</IsFolder> <Ref>91a2ce04-7de9-11da-9e32-777054503030</Ref> <DeletionMark>false</DeletionMark> <Parent>00000000-0000-0000-0000-000000000000</Parent> <Description>Рога и копыта</Description> </CatalogObject.ФизическиеЛица> |
|||
45
Адинэснег
04.10.10
✎
16:51
|
нусёё... [потирая руки]. Щас напишем кучу кода)))
спс, мозг DmitrO |
|||
46
DmitrO
04.10.10
✎
16:54
|
вот так тоже должно получиться:
ЗаписьXML.ЗаписатьНачалоЭлемента("Данные"); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.1/data/enterprise/current-config"); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance"); разница только в том, что текста меньше будет (в каждом элементе CatalogObject.ФизическиеЛица не надо будет указывать пространства имен) |
|||
47
Адинэснег
04.10.10
✎
16:55
|
да да, так и сделал)
|
|||
48
Адинэснег
05.10.10
✎
09:05
|
всем прив =) опять я)
какой-то косяк при чтении Структура xml: <?xml version="1.0" encoding="UTF-8"?> <Данные xmlns="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <CatalogObject.ФизическиеЛица> <IsFolder>true</IsFolder> <Ref>91a2ce04-7de9-11da-9e32-777054503030</Ref> <DeletionMark>false</DeletionMark> <Parent>00000000-0000-0000-0000-000000000000</Parent> <Description>МОЯ ООО</Description> </CatalogObject.ФизическиеЛица> </Данные> Читаю: ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла); Пока ЧтениеXML.Прочитать() Цикл // Обработка узла XML Если ЧтениеXML.Имя = "Данные" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Пока ЧтениеXML.Прочитать() Цикл ФЛОбъект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); ФЛОбъект.ОбменДанными.Загрузка = Истина; ФЛОбъект.Записать(); КонецЦикла; КонецЕсли; КонецЦикла; ЧтениеXML.Закрыть(); смотрел в отладке, URI проставляется от родителя, однако при попытке прочитать элемент: ФЛОбъект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); валится фэйл |
|||
49
Адинэснег
05.10.10
✎
09:27
|
юп
|
|||
50
Адинэснег
05.10.10
✎
10:52
|
.
|
|||
51
Адинэснег
05.10.10
✎
11:44
|
не тони
|
|||
52
DmitrO
05.10.10
✎
12:15
|
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла); ЧтениеXML.ПерейтиКСодержимому(); //Переходим на узел: начало элемента Данные ЧтениеXML.Прочитать(); //Читаем следующий узел: за узлом Данные идет первый CatalogObject.ФизическиеЛица Пока ЧтениеXML.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл //будем читать сериализатором пока не встретим конец узла Данные Объект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); Объект.ОбменДанными.Загрузка = Истина; Объект.Записать(); КонецЦикла; ЧтениеXML.Закрыть(); |
|||
53
Адинэснег
05.10.10
✎
12:34
|
(52) тож самое
Также доходит до элемента CatalogObject.ФизическиеЛица Пространство тоже - http://v8.1c.ru/8.1/data/enterprise/current-config и тоже при попытки прочитать Сериализатором валит фэйл: {Форма.Форма.Форма(32)}: Ошибка при вызове метода контекста (ПрочитатьXML) Объект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ФизическиеЛица Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}IsFolder Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType |
|||
54
Адинэснег
05.10.10
✎
12:36
|
мне в получателе же не надо никаких пакетов описывать, если я из источника выгружал по схеме Конфы-приемника?
|
|||
55
Адинэснег
05.10.10
✎
12:36
|
чото с пространством
|
|||
56
DmitrO
05.10.10
✎
12:41
|
Нет, с пространством все нормально.
Тогда у тебя, скорее всего, просто содержимое CatalogObject.ФизическиеЛица не соответствует схеме, какраз то что я и говорил в-третьих в (38). |
|||
57
Адинэснег
05.10.10
✎
12:41
|
ааа, в твоем коде он до isfolder опускается )
|
|||
58
DmitrO
05.10.10
✎
12:43
|
Код у справочника есть (в метаданных)? Если есть, то где элемент Code в файле?
|
|||
59
Адинэснег
05.10.10
✎
12:49
|
нет ни кода, ни владельца
|
|||
60
DmitrO
05.10.10
✎
12:53
|
ошибка происходит на элементе приведенном в (48)?
|
|||
61
DmitrO
05.10.10
✎
12:57
|
еще по примеру в (48):
В метаданных у справочника стоит что он иерархический (наличие элемента Parent)? В метаданных у справочника больше нет реквизитов определенных для группы? В метаданных у справочника нет предопределенных элементов? |
|||
62
Адинэснег
05.10.10
✎
13:10
|
дак я ж по схеме фабрику при выгрузке делал, а она ругается, када ей гамно подсовываешь, все поля заполнял из фабрики
|
|||
63
DmitrO
05.10.10
✎
13:13
|
принадлежность реквизитов к группе проверь
|
|||
64
Адинэснег
05.10.10
✎
15:17
|
кароче в получателе перестала загружаться(((
CatalogObject.ФизическиеЛица - энитайп и всё |
|||
65
ll13
05.10.10
✎
15:20
|
При выгрузке из источника, все реквизиты справочника заполняешь ?
|
|||
66
Адинэснег
05.10.10
✎
15:27
|
да, сейчас все, результат - тот же
|
|||
67
Адинэснег
05.10.10
✎
15:30
|
самое страшное, что вчера загружалось с только заполненными
<IsFolder> <Ref> <DeletionMark> <Parent> <Description> и я ничего не менял вродь) |
|||
68
Адинэснег
05.10.10
✎
15:35
|
я правильно делаю со схемой? В источнике при создании фабрики использую выгруженную из получателя http://v8.1c.ru/8.1/data/enterprise/current-config
В Получателе только делаю прочитать СериализаторXDTO.ПрочитатьXML()? в получателе это же пространство имен? http://v8.1c.ru/8.1/data/enterprise/current-config |
|||
69
Адинэснег
05.10.10
✎
15:37
|
связанных ссылки оставляю пустыми (Parent), для теста
|
|||
70
Адинэснег
05.10.10
✎
16:05
|
етишь его маму))))
работает! в! ТОЛСТОМ клиенте!!! |
|||
71
Адинэснег
06.10.10
✎
13:30
|
всем привет) новый вопрос)
Как в xdto заполнить пустой ссылкой? Например, есть некий справочник <xs:complexType name="CatalogObject.ПапкиФайлов"> <xs:sequence> <xs:element name="Ref" type="tns:CatalogRef.ПапкиФайлов"/> <xs:element name="DeletionMark" type="xs:boolean"/> <xs:element name="Parent" type="tns:CatalogRef.ПапкиФайлов"/> <xs:element name="Code" type="xs:string"/> <xs:element name="Description" type="xs:string"/> <xs:element name="Описание" type="xs:string"/> <xs:element name="Ответственный" type="tns:CatalogRef.Пользователи"/> <xs:element name="ДатаСоздания" type="xs:dateTime"/> <xs:element name="ДополнительныеРеквизиты" type="tns:CatalogTabularSectionRow.ПапкиФайлов.ДополнительныеРеквизиты" minOccurs="0" maxOccurs="99999"/> </xs:sequence> </xs:complexType> при заполнении фабрики мне нужно в элемент Ответственный заполнить пустую ссылку справочника Пользователи <xs:complexType name="CatalogObject.Пользователи"> <xs:sequence> <xs:element name="Ref" type="tns:CatalogRef.Пользователи"/> <xs:element name="DeletionMark" type="xs:boolean"/> <xs:element name="Description" type="xs:string"/> <xs:element name="ИдентификаторПользователяИБ" type="v8:UUID"/> <xs:element name="ФизическоеЛицо" type="tns:CatalogRef.ФизическиеЛица"/> <xs:element name="ТекущееПодразделение" type="tns:CatalogRef.ЦФО"/> <xs:element name="КонтактнаяИнформация" type="tns:CatalogTabularSectionRow.Пользователи.КонтактнаяИнформация" minOccurs="0" maxOccurs="99999"/> </xs:sequence> |
|||
72
Адинэснег
06.10.10
✎
13:33
|
00000000-0000-0000-0000-000000000000?
|
|||
73
ll13
06.10.10
✎
14:27
|
Короче так:
1). В схеме, у всех реквизитов (кроме стандартных, которые должны быть заполнены обязательно и кроме подчиненных ТЧ) проставь свойство Возможно пустое = Истина (в схеме это выглядит как nillable="true"). 2). Заполняешь все стандартные реквизиты (code, description и т.д...), заполняешь нужные тебе реквизиты, вызываешь ИнициализироватьПоУмолчанию(ОбъектXDTO) Процедура ИнициализироватьПоУмолчанию(ОбъектXDTO) // Все реквизиты которые забиваются Неопределенно в схеме должны иметь nillable="true" ТипСписокXDTO = Тип("СписокXDTO"); Для каждого СвойствоОбъектаXDTO Из ОбъектXDTO.Свойства() Цикл Если НЕ ТипЗнч(ОбъектXDTO[СвойствоОбъектаXDTO.Имя]) = ТипСписокXDTO Тогда Если НЕ ОбъектXDTO.Установлено(СвойствоОбъектаXDTO) Тогда ОбъектXDTO[СвойствоОбъектаXDTO.Имя] = Неопределено; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
74
Адинэснег
06.10.10
✎
14:28
|
спс
|
|||
75
Адинэснег
07.10.10
✎
13:06
|
Продолжаем =)
(73)чем атрибут nillable="true" отличается от minOccurs="0"? |
|||
76
Адинэснег
08.10.10
✎
09:05
|
Делаю ОбъектДоговор.Owner = Договор.Владелец.Ссылка.УникальныйИдентификатор();
У Owner тип {http://v8.1c.ru/8.1/data/enterprise}AnyRef Ругается: Ошибка отображения типов: Отображение типа 'УникальныйИдентификатор' в тип '{http://www.w3.org/2001/XMLSchema}string' AnyRef разве не ограничен строкой? |
|||
77
Адинэснег
08.10.10
✎
09:28
|
все,к строке преобразовал уид, зафурычило
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |