Имя: Пароль:
1C
1С v8
Есть ли ноу-хау по борьбе с тем, что 1С при экспорте / импорте xdto пакетов теряет данные?
0 1S_User
 
22.04.22
14:18
Собственно проблема в заголовке. Часть данных при импорте / экспорте пакетов XDTO для обмена EData теряется. А хочется более или менее легким способом перенести часть доработок с одного пакета в другой. Скопировать в ноупаде не проблема, проблема именно в том, чтобы полученный файл потом без потерь данных загрузить в пакет xdto
1 Garykom
 
гуру
22.04.22
14:25
(0) случаем не бага битья больших файлов при передачи с клиента на сервер и обратно?
2 1S_User
 
22.04.22
14:33
(1) Нет, просто съедаются части с определением данных, если не ошибаюсь.
3 arsik
 
гуру
22.04.22
14:36
(2) Ну так схемы XDTO нужно привести к данным.
4 sikuda
 
22.04.22
14:44
(3) Проблема в том что схемы XDTO это не полная спецификация XSD http://www.w3.org/2001/XMLSchema
5 1S_User
 
22.04.22
14:48
<xs:complexType name="Документ.АвизоПоМПЗВходящее">
        <xs:complexContent>    -- вот эти строки теряются
            <xs:extension base="ns1:Object">  -- вот эти строки теряются
                <xs:sequence>
                    <xs:element name="КлючевыеСвойства" type="tns:КлючевыеСвойстваАвизоПоМПЗВходящее"/>
                    <xs:element name="ДанныеВходящегоДокумента" type="tns:ОбщиеСвойстваДанныеВходящегоДокумента" minOccurs="0"/>
                    <xs:element name="Ответственный" type="tns:КлючевыеСвойстваПользователь" minOccurs="0"/>
                    <xs:element name="Комментарий" type="xs:string" minOccurs="0"/>
                    <xs:element name="ОрганизацияОтправитель" type="tns:КлючевыеСвойстваОрганизация"/>
                    <xs:element name="Подразделение" type="tns:КлючевыеСвойстваПодразделение" minOccurs="0"/>
                    <xs:element name="Склад" type="tns:КлючевыеСвойстваСклад"/>
                    <xs:element name="СкладОтправитель" type="tns:КлючевыеСвойстваСклад"/>
                    <xs:element name="Товары" type="tns:Документ.АвизоПоМПЗВходящее.Товары"/>
                    <xs:element name="ДанныеПоСФ" type="tns:АвизоМПЗДанныеПоСФ" minOccurs="0"/>
                    <xs:element name="ДополнительныеРеквизиты" type="tns:ДополнительныеРеквизиты" minOccurs="0"/>
                    <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:anyAttribute namespace="##any" processContents="lax"/>
            </xs:extension>  -- вот эти строки теряются
        </xs:complexContent>  -- вот эти строки теряются
6 Garykom
 
гуру
22.04.22
14:52
(2) ааа
ну так пищи свою фабрику
7 1S_User
 
22.04.22
14:52
(6) Не понял тут. Что именно прописать и где?
8 1S_User
 
22.04.22
14:53
Я так понимаю, в заголовке надо ссылку на схему подправить?
9 Garykom
 
гуру
22.04.22
14:59
(8) именно
если у тебя есть сторонняя схема xsd то правь ее (как текстовый файл или для облегчения можно через парсер xml) перед загрузкой в фабрику 1С
при выгрузке схемы из 1С аналогично, после правь как надо
10 1S_User
 
22.04.22
15:17
Что-то рядом, но не вкуриваю.

Вот изначальная первая строка
<xs:schema xmlns:ns1="http://www.1c.ru/SSL/Exchange/Message" xmlns:tns="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10" attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:import namespace="http://www.1c.ru/SSL/Exchange/Message"/>

Понимаю, что они не может достучаться до http://www.1c.ru/SSL/Exchange/Message

Выгрузил в файл
F:\Projects\Message.xsd

Заменил на
<xs:schema xmlns:ns1="F:\Projects\Message.xsd" xmlns:tns="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10" attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:import namespace="http://www.1c.ru/SSL/Exchange/Message"/>
    <xs:complexType name="Info">
Все равно съедает
11 1S_User
 
22.04.22
15:20
Подменять import namespace тоже пробовал, но пошли ошибки, я так понял, это то, куда определить в итоге.
12 Eiffil123
 
22.04.22
15:25
если вопрос в том, чтобы перенести из одной конфигурации в другую пакет, то ctrl-c ctrl-v, так Гончаров даже учит на своих курсах. иначе некоторые связи действительно теряются.
13 1S_User
 
22.04.22
16:18
Все, разобрался.
<xs:schema xmlns:ns1="http://www.1c.ru/SSL/Exchange/Message" xmlns:tns="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10" attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:import namespace="http://www.1c.ru/SSL/Exchange/Message" schemaLocation = "F:\Projects\Message.xsd"/>
Программист всегда исправляет последнюю ошибку.