1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать)

25.07.2013, 00:53. Показов 22854. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1C 8.2 Документооборот КОРП 1.2

Текст ошибки
{ОбщийМодуль.АвтозаполнениеШаблоновФайло вКлиентСервер.Модуль(616)}: Ошибка при вызове метода контекста (Прочитать)
Пока ЧтениеXML.Прочитать() Цикл
по причине:
Ошибка разбора XML: - [2,191623]
Ошибка:
Namespace prefix r for id on headerReference is not defined
SystemId: file://E:/TMP/v8_AF95_52/word/document.xml

Код метода, вызывающий ошибку
Кликните здесь для просмотра всего текста

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Процедура ВыполнитьЗаменуПолейИСтрокВДокументеMSOfficeOpenXML(ЧтениеXML,ЗаписьXML,МассивДанныхДляАвтоЗамен) Экспорт
    
    ФлагНайденоПоле = Ложь;
    ФлагНайденаСтрока = Ложь;  
    СтрЗамены = "";
    СтрПоиска = "";
    ТекстБылЗаписан = Ложь;          
    
        Пока ЧтениеXML.Прочитать() Цикл      
            
            
        
    ////////////////////////////////////////////////////////////////    
        Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда  //Если ТипУзла = НачалоЭлемента
            Если ЧтениеXML.Имя = "w:bookmarkStart" Тогда
                ФлагНайденоПоле = Истина; 
            КонецЕсли;
 
            Если ЧтениеXML.Имя = "w:t"  Тогда
                ФлагНайденаСтрока = Истина;
        КонецЕсли;
 
            ЗаписьXML.ЗаписатьНачалоЭлемента(ЧтениеXML.Имя);
 
            Если ЧтениеXML.КоличествоАтрибутов() > 0 Тогда
                Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
                    Если ФлагНайденоПоле И ЧтениеXML.Имя = "w:name" Тогда
                        СтрПоиска = ЧтениеXML.Значение;
                    КонецЕсли;
                    ЗаписьXML.ЗаписатьАтрибут(ЧтениеXML.Имя,ЧтениеXML.Значение); 
                КонецЦикла
            КонецЕсли;
    //////////////////////////////////////////////////////////////////      
    //////////////////////////////////////////////////////////////////      
            
            
        ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда      //Если ТипУзла = Текст
            Если ФлагНайденоПоле И ФлагНайденаСтрока Тогда
                Для Каждого НастройкаЗамены Из МассивДанныхДляАвтоЗамен Цикл
                    Если НастройкаЗамены.ТермДляЗамены = СтрПоиска Тогда
                        СтрЗамены = НастройкаЗамены.ЗначениеЗамены;
                    КонецЕсли;
                КонецЦикла;
                
                Если НЕ ПустаяСтрока(СтрЗамены) Тогда
                    ЗаписьXML.ЗаписатьТекст(СтрЗамены);
                    ФлагНайденоПоле = Ложь;
                    СтрЗамены = "";
                Иначе
                    ЗаписьXML.ЗаписатьТекст(ЧтениеXML.Значение);
                    ФлагНайденоПоле = Ложь;
                КонецЕсли;
            ИначеЕсли ФлагНайденаСтрока Тогда
                СтрЗамены = ЧтениеXML.Значение;
                Для Каждого НастройкаЗамены Из МассивДанныхДляАвтоЗамен Цикл
                    СтрЗамены = СтрЗаменить(СтрЗамены, НастройкаЗамены.ЗаменяемаяСтрока, НастройкаЗамены.ЗначениеЗамены);
                КонецЦикла;
                Если Найти(СтрЗамены, Символы.ПС) Тогда
                    СтрЗамены = СтрЗаменить(СтрЗамены, Символы.ПС, "</w:t></w:r></w:p><w:p><w:r><w:t>");
                    Если СтрЗамены <> ЧтениеXML.Значение Тогда
                        ЗаписьXML.ЗаписатьБезОбработки(СтрЗамены);
                    Иначе
                        ЗаписьXML.ЗаписатьТекст(СтрЗамены);
                    КонецЕсли;
                Иначе
                    ЗаписьXML.ЗаписатьТекст(СтрЗамены);
                КонецЕсли;
                
            Иначе
                ЗаписьXML.ЗаписатьТекст(ЧтениеXML.Значение);
            КонецЕсли;  
            
            
        //////////////////////////////////////////////////////////////////  
        //////////////////////////////////////////////////////////////////              
        ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда    //Если тип узла = КонецЭлемента
            ЗаписьXML.ЗаписатьКонецЭлемента();
            Если ФлагНайденоПоле И ЧтениеXML.Имя = "w:bookmarkEnd" Тогда
                ФлагНайденоПоле = Ложь;
                СтрЗамены = "";
            КонецЕсли;
            Если ФлагНайденаСтрока Тогда
                ФлагНайденаСтрока = Ложь;
                СтрЗамены = "";
            КонецЕсли;
            
        ///////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////
        
        КонецЕсли;                                                     //КонецЕсли ТипУзла =
    КонецЦикла;
    
КонецПроцедуры

Конкретное место, где останавливается
Пока ЧтениеXML.Прочитать() Цикл


Файл XML прикрепляю.

Прошу помощи.
Вложения
Тип файла: rar document.rar (20.4 Кб, 29 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2013, 00:53
Ответы с готовыми решениями:

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при вызове метода контекста
есть ссылка &quot;e79ba7ae-0747-11db-9244-0011955c22cb&quot;... как присвоить ее новому элементу справочника Добавлено через 7 минут вот так...

Ошибка при вызове метода контекста
Задача сделать автоподбор. Но вот при выполнении выдает {Документ.ПродлениеКонтрактов.Форма.ФормаДокументаУправляемая.Форма(24)}: Ошибка...

8
Модератор
Эксперт 1С
 Аватар для Dethmontt
4030 / 2975 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
25.07.2013, 01:04
Сvотри что бы тег не содержал запрещенных символов (не должен начинаться с цифры и т.д.)

Установившаяся Практика Именования

Делайте имена описательными. Имена с символом подчеркивания выглядят аккуратно: <first_name>, <last_name>.

Имена должны быть короткими и простыми, например: <book_title> а не: <the_title_of_the_book>.

Избегайте символов "-". Если вы называете xml-элемент, используя дефис ("first-name,") некоторые компьютерные программы могут решить, что вы хотите вычесть значение name из значения first.

Избегайте символов ".". Если вы называете что-нибудь например так: "first.name," некоторые программы могут решить, что "name" является свойством объекта "first."

Старайтесь не использовать символы ":". Двоеточие зарезервировано для использования в так называемых пространствах имен (подробнее о них будет рассказано позже).

XML документы часто имеют соответствующую базу данных. Обычно используют правила именования этой базы данных для элементов XML документов.

Не английские буквы, такие как ���, вполне допустимы в XML, но следите за тем, чтобы не было проблем совместимости, если ваш производитель программного обеспечения не поддерживает их.

Добавлено через 1 минуту
Правила Именования в XML
Элементы XML должны следовать следующим правилам именования:

Имена могут состоять из букв, чисел, и других символов
Имена не могут начинаться с числа или знака препинания
Имена не могут начинаться с букв xml (или XML, или Xml, и т.п.)
Имена не могут содержать пробелы
Любое имя может использоваться, зарезервированных слов нет.
1
25.07.2013, 01:06  [ТС]

Не по теме:

Это не мой код, но исправлять его мне.
Из вышесказанного может что и пойму, но в данный момент ничего вообще не понял

0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4030 / 2975 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
25.07.2013, 01:12
Короче по русски косяки в структуре XML нужно искать в XML проблемные места и исправлять

Добавлено через 50 секунд
В принципе ошибка даже написана - Namespace prefix r for id on headerReference is not defined

Добавлено через 2 минуты
r:id
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.07.2013, 01:14  [ТС]
Я в код долго пялился, но не придумал как исправить.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4030 / 2975 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
25.07.2013, 01:24
Да не причем тут КОД - проблема в XML
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.07.2013, 01:27  [ТС]
Ясно. Спасибо.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4030 / 2975 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
25.07.2013, 01:54
Цитата Сообщение от daslex Посмотреть сообщение
del

Не по теме:

Shift+del



Добавлено через 24 минуты
Короче открываешь в блокноте - и жмешь ctrl+h
Заменяешь r: на пустое значение

Добавлено через 21 секунду
И будет тебе счастье...
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
25.07.2013, 08:33  [ТС]
При каждом новом запуске этот xml файл формируется в новом месте.
Формируется он как-то из документа .doc или .docx (тот, что под формат xml сохраняется)
Из блокнота не выйдет заменять r на пустое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.07.2013, 08:33
Помогаю со студенческими работами здесь

Ошибка при вызове метода контекста (ПолучитьОбъект)
Привет народ Программа ругается что: {Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (ПолучитьОбъект) лОбъект =...

Ошибка при вызове метода контекста (ВыбратьИзСписка)
Люди срочно помогите что не так???? В программе не лазили возникла ошибка: При выборе Формирование книги продаж - формирование...

Ошибка при вызове метода контекста (МоментВремени): Элемент не выбран
В УТ 8.2 скопировал печатную форму &quot;Сравнительная накладная &quot; из РеализацияТоваровУслуг в Заказ Покупателя документы впринципе...

Не удалось сформировать внешнюю печатную форму(толстую)! Ошибка при вызове метода контекста (Выполнить): {(14, 1)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ
Подскажите, пожалуйста. Выбрал для счета только услуги, написал: Шапка = Запрос.Выполнить().Выгрузить(); Шапка.Следующий(); ...

Ошибка при вызове метода контекста по причине испльзование модальных окон в данном режиме запрещено
Здравствуйте! столкнулась вот с такой ошибкой, понятия не имею, что делать. Сделала все по инструкции с сайта 1c-uroki. Вот код модуля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru