|
Помогите пожалуйста с XML-анализатором | ☑ | ||
|---|---|---|---|---|
|
0
Pazhar21
16.05.10
✎
09:02
|
Мне необходимо из 1С создать XML-файл, содержащий .pdf документ в формате base-64. Для этого у меня есть таблица занчений ТЗТекст, которая содержит преобразованный документ и состоит из более чем 100000 строк. В коде прописываю:
Если ТзТекст.КоличествоСтрок()<>0 Тогда DocTransfer= Message00.СоздатьПодчиненныйЭлемент("DocTransfer"); нс=0; Тзтекст.ВыбратьСтроки(); Пока ТзТекст.ПолучитьСтроку()<>0 Цикл Нс=Нс+1; Если Нс=1 Тогда Doctransfer.Значение=СокрЛП(ТзТекст.Текст); иначе Doctransfer.Значение=Doctransfer.Значение + РазделительСтрок + СокрЛП(ТзТекст.Текст); КонецЕсли; КонецЦикла; КонецЕсли; При таком коде через определенной время 1с просто "вылетает". Подскажите как можно в атрибут "Значение" передать многострочный документ? |
|||
|
1
mike
16.05.10
✎
09:29
|
Надо последовательну запись в XML использовать
я примерно так делал : ///////////////////////////////////////////// Узел =УзелДок.СоздатьПодчиненныйЭлемент("ТаблицаСтрок"); ТЗТекст.ВыбратьСтроки(); нс = 0 ; Пока ТЗТекст.ПолучитьСтроку()=1 Цикл нс = нс +1 ; Узел.УстановитьАтрибут("Значение"+ Строка(нс) ,ТЗ.Значение); КонецЦикла ; ////////////////////////////////////////////////////// |
|||
|
2
Pazhar21
16.05.10
✎
10:14
|
Но в таком случае занчение устанавливается как атрибут и также выскакивает ошибка:
{Обработка.АСДОУ.Форма.Модуль(1862)}: : Неопознанная ошибка [<DocTransfer Значение1="JVBERi0xLjQKMiAwIG9iago8PCAKPj4KZW5kb2JqCjMgMCBvYmoKPDwgCi9UeXBlIC9QYWdl" Значение2="Ci9QYXJlbnQgMSAwIFIKL01lZGlhQm94IFs (error position = 2904616)] |
|||
|
3
Torquader
16.05.10
✎
10:32
|
А не проще ли сделать это "сторонними методами" или "собрать" XML при помощи Scripting.FileSystemObject, чтобы весь документ не сидел в памяти до его записи.
|
|||
|
4
Pazhar21
16.05.10
✎
10:57
|
Само создание xml-файла уже прописано через XML-анализатор. Через Scripting.FileSystemObject во внешний файл я могу прописать значение тэга Doctransfer. Но, подскажите, как его вставить в xml-файл с помощью
Doctranfer.Значение? |
|||
|
5
Pazhar21
16.05.10
✎
11:00
|
Подскажите, Может быть можно испольсовать атрибут Doctransfer.Текст для вставки многострочного значения?
|
|||
|
6
mike
16.05.10
✎
18:33
|
может сделать многострочную строку а потом ее записать
стр = ""; Пока ТзТекст.ПолучитьСтроку()=1 Цикл стр = стр + ТзТекст.Текст + РазделительСтрок ; КонецЦикла ; Doctransfer.Значение=стр ; Еслм вырубится внутри цикла то вариант с XML анализатором не пойдет |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |