Имя: Пароль:
1C
1С v8
Выгрузка в xml
0 Dooro
 
29.12.11
12:33
Добрый день.

У меня есть образец текста xml  которого мне нужно добиться выгружая через код 1с данные.

Я плохо знаком с xml форматом . Подскажите как выглядит код 1с для получения такого текста в хмл

- <DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="J1201004.xsd">
И
<HERPN xsi:nil="true" />
И
<RXXXXG2D ROWNUM="1">20102011</RXXXXG2D>
1 Живой Ископаемый
 
29.12.11
12:59
Например Так:
ТекстФайлаХМЛ = ТекстФайлаХМЛ+"- <DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""J1201004.xsd"">
";

ТекстФайлаХМЛ = ТекстФайлаХМЛ+"<HERPN xsi:nil=""true"" />";


ТекстФайлаХМЛ = ТекстФайлаХМЛ+"<RXXXXG2D ROWNUM=""1"">20102011</RXXXXG2D>";
2 Dooro
 
29.12.11
13:00
спасибо..
а как передать сам текст в файл?
3 Живой Ископаемый
 
29.12.11
13:04
Например Так:
ФайлХМЛ = Новый ТекстовыйФайл(тут все параметры что в СП);
ФайлХМЛ.Записать(ТекстФайлаХМЛ );
4 Живой Ископаемый
 
29.12.11
13:05
если ты сам вручную формируешь текст ХМЛ, это способ годный... и даже в типовых используется...
Но если ты собираешь ХМЛ из данных информационной базы, то тебе нужно обезопаситься от не ХМЛ-символов, и тогда нужно использовать другой способ... :)
5 Dooro
 
29.12.11
13:05
я пробовал записать текст в блокнот а потом изменить расширение на хмл - не открывается после этого
6 mikecool
 
29.12.11
13:07
ЗаписьXML (XMLWriter)
ЗаписатьТипДокумента (WriteDocumentType)
наверное поможет
7 Dooro
 
29.12.11
13:08
ну вот смотрите..

код 1с Запись.ЗаписатьОбъявлениеXML(); соответствует  - тексту в хмл - <?xml version="1.0" encoding="windows-1251" ?>

как кодом 1с получить текст в хмл
- <DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="J1201004.xsd">

должен же быть способ
8 Живой Ископаемый
 
29.12.11
13:08
давай так - я тоже запишу блокнотом, изменю расширение, и потом файл откроется в браузере, я запишу ролик, и ты после этого... ну не знаю... ну например прокукарекаешь два раза - годиться?
9 Dooro
 
29.12.11
13:08
)
10 Dooro
 
29.12.11
13:08
годится
11 Живой Ископаемый
 
29.12.11
13:09
но только тебе тоже придется записать ролик как ты будешь кукарекать и выложить его
12 mikecool
 
29.12.11
13:09
(7) см (6)
13 Classic
 
29.12.11
13:19
(5)
Потому что закрыть тег DECLAR забыл
14 Живой Ископаемый
 
29.12.11
13:22
да, теги нужно закрывать, помести это в текстовый файл и поменяй расширение на ХМЛ:

 <?xml version="1.0" encoding="UTF-8" ?>
- <DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="J1201004.xsd">
 <HERPN xsi:nil="true" />
 <RXXXXG2D ROWNUM="1">20102011</RXXXXG2D>
 </DECLAR>


пруф:
http://screencast.com/t/MskyFN6wx
15 Живой Ископаемый
 
29.12.11
13:23
тока без дефиса вначале второй строки
16 Dooro
 
29.12.11
13:43
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.


--------------------------------------------------------------------------------

Ошибка в элементе верхнего уровня документа. Ошибка при обработке ресурса ''file:///D:/66.xml''. Строка 1,Положение 47

<?xml version="1.0" encoding="windows-1251" ?>
17 Живой Ископаемый
 
29.12.11
14:01
18 Живой Ископаемый
 
29.12.11
14:02
<?xml version="1.0" encoding="windows-1251"?>
<DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="J1201004.xsd">
<HERPN xsi:nil="true" />

<RXXXXG2D ROWNUM="1">20102011</RXXXXG2D>

</DECLAR>
19 Dooro
 
29.12.11
14:27
я понял спс.

а как программно записать как текст а затем изменить расширение. не вручную
20 Dooro
 
29.12.11
14:30
Текст = Новый XBase;
Текст.Кодировка = КодировкаXBase.OEM;
21 Grobik
 
29.12.11
14:36
(v8: Выгрузка в xml Очень толковый совет. В 1С проверка занимает немало места. Я бы все таки портировал документ НН из обновленной на 16 декабря конфы вместе с отчетом РегламентированныйОтчетНалоговаяНакладная и проверками XML.
22 Живой Ископаемый
 
29.12.11
14:49
2(20) что это за парнуха?
2(19) сразу создавай с нужным расширением.. ну или смотри файловые операции переместить.. кажется
23 Classic
 
29.12.11
15:16
(0) прислушайся к (21)
Наши налоговые будут меняться с периодичностью раз в квартал. С нашим то правительство. Заколебетесь отслеживать изменения. А так приведешь ННку к более-менее типовому виду и пусть вместо тебя АБИ напрягается :)
24 Dooro
 
29.12.11
15:19
пробую

Текст = Новый ТекстовыйДокумент;
ТекстВыгрузки = "";
ТекстВыгрузки = "<?xml version="+"""1.0"""+" encoding="+"""windows-1251"""+"?>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<DECLAR xmlns:xsi="+"""http://www.w3.org/2001/XMLSchema-instance"""+" xsi:noNamespaceSchemaLocation="+"""J1201004.xsd"""+">";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<DECLARHEAD>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<TIN>"+Строка(ЭтотОбъект.КонтрагентБух.ЄДРПОУ)+"</TIN>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<C_DOC>"+"J12"+"</C_DOC>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<C_DOC_SUB>"+"010"+"</C_DOC_SUB>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<C_DOC_VER>"+"4"+"</C_DOC_VER>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<C_DOC_TYPE>"+"7"+"</C_DOC_TYPE>";
ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"<C_DOC_CNT>"+"4"+"</C_DOC_CNT>";



ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"</DECLARHEAD>";
Текст.ДобавитьСтроку(ТекстВыгрузки);
Текст.Записать("C://1.txt");
25 Dooro
 
29.12.11
15:19
при изменении расширения

Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.


--------------------------------------------------------------------------------

Переключение с текущей кодировки на указанную не поддерживается. Ошибка при обработке ресурса ''file:///C:/1.xml''. Строка...

<?xml version="1.0" encoding="windows-1251"?>
26 Classic
 
29.12.11
15:21
Кто DECLAR закрывать будет?
27 Classic
 
29.12.11
15:22
Добавь

ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"</DECLAR>";
28 Dooro
 
29.12.11
15:23
там есть вконце

ТекстВыгрузки = ТекстВыгрузки+Символы.ПС +"</DECLARHEAD>";
29 Dooro
 
29.12.11
15:24
а блин )
30 Classic
 
29.12.11
15:28
(29)
Ты ксати вкурсе, что название у файлика тоже должно быть специфическое?
31 Dooro
 
29.12.11
15:29
нет )
32 Dooro
 
29.12.11
15:29
какого файлика
33 Dooro
 
29.12.11
15:29
я до названия еще не дошел
34 Dooro
 
29.12.11
15:30
мне бы текст выгрузки доделать
35 Dooro
 
29.12.11
15:30
Переключение с текущей кодировки на указанную не поддерживается. Ошибка при обработке ресурса ''file:///C:/11.xml''. Строк...
36 Dooro
 
29.12.11
15:30
это при переходе с тхт в мхл
37 Classic
 
29.12.11
15:37
(36) Попробуй
Текст.УстановитьТипФайла("windows-1251
")
38 Dooro
 
29.12.11
15:53
таже фигня

Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.


--------------------------------------------------------------------------------

Переключение с текущей кодировки на указанную не поддерживается. Ошибка при обработке ресурса ''file:///C:/14.xml''. Строк...

<?xml version="1.0" encoding="windows-1251"?>
39 Dooro
 
29.12.11
15:56
когда копирую тот же текст в блокнот руками и потом переименовываю расширение - все открывает
40 Dooro
 
29.12.11
15:59
может UTF-8 а не windows-1251
41 Classic
 
29.12.11
16:00
(39)
А почему ты не захотел через ЗаписьXML делать?
42 Dooro
 
29.12.11
16:00
как
43 Dooro
 
29.12.11
16:01
я не мог понять как записать строку
<DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="J1201004.xsd">
44 Classic
 
29.12.11
16:12
Запись.ЗаписатьАтрибут("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");

Ты синтакс-помошником что ли пользовался бы
45 Dooro
 
29.12.11
16:20
<HERPN xsi:nil="true" />
И
<RXXXXG2D ROWNUM="1">20102011</RXXXXG2D>

а эти
46 Живой Ископаемый
 
29.12.11
16:27
<?xml version="1.0" encoding="windows-1251" ?> тут пробел, перед "?"
47 Dooro
 
29.12.11
16:44
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.


--------------------------------------------------------------------------------

Переключение с текущей кодировки на указанную не поддерживается. Ошибка при обработке ресурса ''file:///C:/1.xml''. Строка...

<?xml version="1.0" encoding="windows-1251" ?>


не помогло
48 Живой Ископаемый
 
29.12.11
16:49
а чем ты открываешь ваще?
49 Dooro
 
29.12.11
16:52
тоталкомандер
50 Dooro
 
29.12.11
16:53
а переделаный отрываю IE
51 Dooro
 
29.12.11
16:53
Интерент експлорер
52 Dooro
 
29.12.11
16:54
дело в том что я если скопирую файл из блокнота и вставлю в другой блокнот и сохраню .. затем переименую расширение то ИЕ открывает норм
53 Dooro
 
29.12.11
16:55
а если переименую файл куда выгрузила 1с и переименую то не открывает
54 Dooro
 
29.12.11
16:59
Текст = Новый ЗаписьТекста("C://1.txt", КодировкаТекста.UTF8);
может так?
55 Живой Ископаемый
 
29.12.11
17:03
2(54) а почему не "windows-1251", если внутри ХМЛя ты пишешь ее?
56 Grobik
 
29.12.11
18:12
Попробуй открыть екселем как хмл-таблица. А вообще открывать нужно тем, чем будешь подписывать и отправлять. Имя файла хххх00яяяяяяяяJ120100410000000761ммггггхххх.хмл 761 порядковый номер, хххх налоговая из справочника, яяяяяяяя код предприятия, мм 12 месяц, гггг 2011 год. Примерно так.
57 Dooro
 
30.12.11
13:53
Всем спасибо. Все получилось с текстом )
С наступающим Вас.
58 Grobik
 
10.01.12
13:57
Подскажите пожалуйста. В продолжение темы. В J1201003 было:
<xs:element name="RXXXXG5" type="Decimal3Column" nillable="true" maxOccurs="999"/>
<xs:element name="RXXXXG5S" type="StrColumn" nillable="true" maxOccurs="999"/>
<xs:element name="RXXXXG6" type="Decimal4Column" nillable="true" maxOccurs="999"/>

В J1201004 в последнем обновлении УТП 1.2.6.1 (и предпоследнем 1.2.5.2 кстати тоже) стало:
<xs:element name="RXXXXG5" type="Decimal3Column_R" nillable="true" minOccurs="0" maxOccurs="9999"/>
<xs:element name="RXXXXG5S" type="StrColumn" nillable="true" minOccurs="0" maxOccurs="9999"/>
<xs:element name="RXXXXG6" type="Decimal4Column_R" nillable="true" maxOccurs="9999"/>

по причине которых экспорт из 1С и импорт в медок происходят с ошибками,
при замене Decimal3Column_R и Decimal4Column_R на Decimal3Column и Decimal4Column соответственно
экспорт из 1С и импорт в медок происходит без ошибок, НН в единый реестр еще не отправлял.

Можно ли так все оставить? Или ждать еще обновлений 1с?
59 acsent
 
10.01.12
14:01
(43) ЗаписатьСоответствиеПространстваИмен
60 Dooro
 
13.01.12
13:51
Добрый день.
Вопрос по переименованию файла из txt в XML в 1C.
Можно ли этот текстовый файл сразу же изменять. ?
61 Kreont
 
16.01.12
18:55
(60) Сразу именуй как xml:
ТекстДок.Записать(Путь + "\" + Имя+".xml", КодировкаТекста.ANSI);
62 Kreont
 
16.01.12
18:57
(60) А портал хоть налоговой работает? У меня ни отверта ни привета уже три дня по обычным отчетам. А теперь вот еще хотим пару тисяч налоговых сбросить :)))
Форум их сечас лежит, база знаний с интервалами так 15 мин. падает, портал верховной рады аналогично...