Меню

Ошибка разбора xml узел субъект рф не найден 1с отчетность

Содержание:

1.       XML – расширяемый язык разметки

2.       Устранение Ошибки разбора XML в 1С

3.       «Обход» Ошибки разбора XML в 1С   

1.    XML – расширяемый язык разметки

В данной статье речь пойдёт о причинах возникновения фатальной ошибки «Ошибка разбора XML» и способах устранения данной неполадки. Также будет дана инструкция не по устранению, но «обходу» ошибки, то есть действиям на опережение.

XML (с английского – extensible markup language – расширяемый язык разметки) – это язык разметки, который рекомендует Консорциум Всемирной паутины. Обычно язык разметки XML служит для описания документации, соответствующего типа, а также описывает действия соответствующих процессоров. Расширяемый язык разметки имеет довольно простой синтаксис, поэтому используется по всему миру, чтобы создавать и обрабатывать документацию программным способом. Он создавался именно для использования в Интернете. XML назвали именно расширяемым языком разметки, так как в нём нет фиксации разметки, которая содержится внутри документа, а именно: программист может создавать любую разметку, а ограничения будут встречаться лишь в синтаксисе.

2.    Устранение Ошибки разбора XML в 1С

«Ошибка разбора XML» возникает исключительно в тонком клиенте 1С. Также стоит отметить, что «Ошибка разбора XML» также довольна схожа с ошибкой по формату потока, которая возникает в толстом клиенте. Обычно в 1С «Ошибка разбора XML» возникает по причине наличия кэша метаданных. И если очистить кэш, то ошибка будет устранена. Выглядит окно с ошибкой, а также окно с комментариями от технической поддержки следующим образом:

Рис. 1 Окно Ошибки разбора XML в 1С

XML данные читаются по потокам, так что в каждый из моментов времени объект «сосредоточен» в некотором узле XML. Из-за этого также может возникать фатальная ошибка «Ошибка разбора XML». Для того чтобы её устранить, можно вызвать функцию «ИсключениеЧтенияXml», как показано на скриншоте примера ниже:

Рис. 2 Вызов функции ИсключениеЧтенияXML для устранения Ошибки разбора XML в 1С  

3.    «Обход» Ошибки разбора XML в 1С

Данные два способа (очистка кэша метаданных и функция «ИсключениеЧтенияXml») – не все возможные варианты устранения ошибки разбора XML. Далее рассмотрим нестандартный подход, который позволит избежать ошибки еще до её возникновения.

Для наглядности будем работать в конфигурации 1С:Бухгалтерия предприятия, одной из наиболее распространенных программ фирмы 1С. У многих людей, которые пользуются программой 1С:Отчётность появляются неполадки при попытках открыть данные/файлы от налоговой. Чтобы открыть такой файл повторяем следующие действия:

·        Переходим по пути: «Настройки 1С:Отчётности → Журнал обмена с контролирующими органами», как показано на скриншоте ниже:

Рис. 3 Настройка 1С Отчетности

·        Далее кликаем на «Запросы» и выделяем ту выписку, которую не было возможности открыть из-за ошибки, как продемонстрировано на скриншоте ниже:

Рис. 4 Выбор выписки с Ошибкой разбора XML в 1С

·        Обращаем внимание на стадию отправки, которая располагается внизу этого сообщения, и кликаем два раза на зелёный круг:

Рис. 5 Стадия отправки документа с Ошибкой разбора XML в 1С

·      Появляется транспортное сообщение, в нём кликаем на «Выгрузить» и выбираем папку, куда необходимо провести выгрузку, после чего сохраняем данный файл. Пробуем открыть его, при помощи любого из графических редакторов, который может поддерживать формат PDF, как показано на скриншоте ниже:

Рис. 6 Результат обхода Ошибки разбора XML в 1С

·        Всё успешно открылось, а ошибка даже не успела возникнуть.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

07.05.2019

Способ «обхода» ошибки, «Разбора XML- [1,1]» в 1с Отчетности. На примере конфигурации «Бухгалтерия предприятия» (ред. 3.0)

На данной момент, у пользователей 1с Отчетности, возникают проблемы, при открытие файлов из налоговой. Для того чтобы открыть файл нужно сделать следующее:

oshibka.JPG

Рис.1-Ошибка

1.Для того чтобы, «обойти» данную ошибку, заходим:

Настройки 1c Отчетности – Журнал обмена с контролирующими органами

otchetnost.JPG

Рис. 2- Отчетность

2.После того, как «зашли» во вкладку « Журнал обмена с контролирующими органами», нажимаем : Запросы — выделяем справку или выписку которая не открывается (это делается одним нажатием левой кнопкой мыши)

jurnalobmena.JPG

Рис. 3- Журнал обмена

3.Находим внизу, стадию отправки, данного транспортного сообщения и нажимаем на предпоследний зеленый кружок, двойным щелчком «мыши».

stadiaotpravki.JPG

Рис. 4 -Стадия отправки

4. Выходит транспортное сообщение, в котором нажимаем, «выгрузить», после чего выбираете папку, куда хотите выгрузить — сохраняете файл и открываете его через любой графический редактор, который сможет открыть pdf формат.

vigruzka.JPG

Рис. 5 -Выгрузка

Автор статьи

Сафаров Ильдар. Специалист Линии консультаций

Возврат к списку

Ошибка разбора XML: Приложение 1С:Заказы

Ситуация:

конфигурация ут 11.1.6, актуальная версия ут 11.1.10, версия приложения последняя с маркета при начальной синхронизации происходит ошибка

Поиск причины по шагам

Шаг 1. Проверка access.log апача .

Приходят два запроса:

x.x.x.30 — — [30/Jun/2015:09:00:04 +0400] «GET /trade/ws/CustomerOrdersExchange.1cws?wsdl HTTP/1.1» 200 67058
x.x.x.30 — — [30/Jun/2015:09:00:06 +0400] «POST /trade/ws/CustomerOrdersExchange.1cws HTTP/1.1» 500 757

Первый успешно считывает описание сервиса

Второй приходит с ошибкой на стороне сервера.

Предположение: несовместимость форматов различных версий, что-то передается не в том формате, или с ошибочными данными

Шаг 2: частичное обновление конфигурации (полное пока нельзя, поскольку она с доработками и идет интеграция с сайтом, чтобы не вызывать возможных срывов в работе)

сохраняю конфигурацию

обновляю конфигурацию в режиме объединения/замещения

  • общие модули с именами МобильноеПриложениеЗаказыКлиентов* ( 4 шт)
  • XDTO-пакеты/Все
  • Web-сервисы/CustomerOrdersExchange
  • Планы обмена/МобильноеПриложениеЗаказыКлиентов

Тестирую, синхронизацию. проходит далее, но возникает ошибка «Не найден узел обмена для пользователя».

Шаг3:

Тут ошибка случайная, но тем, не менее, она возникла.(«Не найден узел обмена для пользователя»)

Для каждого экземпляра андроид-приложения в 1С требуется создать узел в плане обмена, в нем сопоставить пользователя. В процессе первоначальной настройки, узел был создан для другого пользователя, затем пользователь изменен, а в текущей реализации конфигурации, это приводит к ошибке отсутствия узла т.к. идентификатор пользователя записывается в код узла, только при его незаполненности.

Создав новый узел (или программно изменив код в старом), эта ошибка уходит.

Здесь еще есть нюанс, который надо учесть: после успешной синхронизации, код узла заменяется идентификатором устройства, и подключении под этим пользователем с различных устройств одновременно не возможно (вызовет такую же ошибку, как выше). Переход на другое устройство,  потребует установки кода узла  в  уникальный идентификатор пользователя, затем узел привяжется к новому устройству.

Шаг 4:

Всё еще выходит ошибка, но уже гораздо позднее, синхронизация как-то продвинулась, что даже настройки подключения не слетают.

Предположение:  не совместимость запросов объединенных модулей

Надо отлаживать, но подключения к вэбсервисам почему-то не отлаживается, возможно проблема в платформе 8.3.5.1186.

Танцы с бубном, создание файлов «comcntrcfg.xml и webservicecfg.xml», добавление строки в «default.vrd», перезапуски, не дают результаты. Откладываем на потом.

Шаг 5

В процессе работы вызываются функции вэбсервиса, которые вызывают экспортные функции общих моделей, т.е. есть возможность отладить их напрямую.

Накидываем форму обработки «Выполнятель» (для управляемой формы у меня не было).

Получается вот такой код-скрипт для начального тестирования:

MobileApplicationVersion  = "не 1";//Иначе потребует обновления
MobileDeviceID  = "1";
MobileDeviceID  = "18c07362-bdeb-439d-9f8b-59b19cefd670";//Уникальный идентификатор пользователя, вот тут проблема, что в функциях используется текущий пользователь
Ответ = МобильноеПриложениеЗаказыКлиентов.НачалоОбмена(MobileApplicationVersion, MobileDeviceID);

Сообщить(Ответ);
Попытка 
	Сообщить(Ответ.ResultMessage);
	Сообщить("Успешно "+Ответ.Success);
Исключение
КонецПопытки;

Пришлось опять менять/создать пользователя в узле,  текущего пользователя. т.к. хотя передается уид любого пользователя, но сравнивается он с текущим  (для сеанса соединения все пройдет нормально).

Теперь у меня код проходит на «Успешно=Истина».

Выполняем вторую часть кода:

Ответ2 = МобильноеПриложениеЗаказыКлиентов.ВыгрузитьСправочники(MobileDeviceID);
Попытка 
	Сообщить(Ответ2.ResultMessage);
	Сообщить("Успешно "+Ответ2.Success);
Исключение
КонецПопытки;

Вот тут и вывелась мне ошибка: оказалось, что при объединении плана обмена я не объединил макеты узла, из которых берутся схемы ответа, и в частности в ответе отсутствовали данные по странам.

Объединяем, обнаруживаем попутно, что еще добавились реквизиты плана, обновляем без них, но предполагаем что придется вернуться к ним в нерабочее время.

Шаг 6 

Фокус не прошел, т.к. запросы в схемах ссылаются на отсутствующие регистры.

Исходим из того что пока мы полное обновление производить не можем.

Оказалось выполняется соединение с РегистрСведений.УчетнаяПолитикаОрганизаций, причем в случае  отсутствия записи передается пустая строка(для этапа тестировани должно подойти). Все остальные схемы ошибок не показывают.

Модифицируем запрос, проверяем дальше.

Тестирование справочников проходит успешно, в ответ выводится xml.

Но приложение все еще вылетает с ошибкой разбора.

Тестируем остальные методы сервиса…

Шаг 7

Ответ3 = МобильноеПриложениеЗаказыКлиентов.ВыгрузитьКлиентов(MobileDeviceID, Истина,"","");
Попытка 
	Сообщить(Ответ3.ResultMessage);
	Сообщить("Успешно "+Ответ3.Success);
Исключение
КонецПопытки;

Успешно!

Ответ4 = МобильноеПриложениеЗаказыКлиентов.ВыгрузитьНастройки(MobileDeviceID);
Попытка 
	Сообщить(Ответ4.ResultMessage);
	Сообщить("Успешно "+Ответ4.Success);
Исключение
КонецПопытки;

Ошибка:

Поле не найдено «РегистрироватьНаличные» <<?>>РегистрироватьНаличные КАК РегистрироватьНаличные,

Это как раз из отсутствующих реквизитов плана обмена, подправляю заполнение структуры реквизитов.

Далее, отсутствует константа «ИспользоватьРасширенныеВозможностиЗаказаКлиента».

Попутно вызвал тестирование выгрузки прайса:

Ответ5 = МобильноеПриложениеЗаказыКлиентов.ВыгрузитьПрайсЛист(MobileDeviceID, Ложь, "")
Попытка 
	Сообщить(Ответ5.ResultMessage);
	Сообщить("Успешно "+Ответ5.Success);
Исключение
КонецПопытки;

Заключение

Тут медлительный сервер впал в ступор, на полчаса и сколько будет еще не известно (индикатора нет).

Ошибкой было: задание второго параметра Истина(Все цены/Измененные), но думаю при первом обмене это бы не помогло).

В базе не меньше 1000 номенклатурных позиций, примерно 10 характеристик к каждой, видимо, это много, и с учетом нехватки памяти, ограничения на уровне записей, надо запастись большим интервалом времени на начальную синхронизацию, может быть есть возможность это ускорить, постараюсь вернуть к этому позже.

В узле обмена наложу условия на отбор номенклатуры, когда буду тестировать на телефоне (как оказалось отбор только по видам цен,). через соглашение еще можно, но косвенно через сегмент номенклатуры….

Тупик?

Оставил «на ночь», через час (по дате последней синхронизации) обмен успешно прошел.

Приложение

<config xmlns="http://v8.1c.ru/v8/comcntrcfg"> 
    <debugconfig debug="true" debuggerURL="tcp://localhost:1562"/> 
    <debugports range="1540:1690"/>
</config>

Рекламные объявления содержат единственные правдивые сведения, которые можно найти в газетах.

   Ivan_495

26.09.15 — 16:37

Опубликовал web сервис Proba. Подключиться динамически не дает пишет ошибку

Форма.Форма.Форма(11)}: Ошибка при вызове конструктора (WSОпределения)

    Определения=НОвый WSОпределения(АдресWebСервиса+ «?wsdl»);

по причине:

Ошибка разбора XML:  — [1,1]

Фатальная ошибка:

Extra content at the end of the document

SystemId: http://localhost/ws/ws2.1cws?wsdl

   Ivan_495

1 — 26.09.15 — 16:39

1С:Предприятие 8.2 (8.2.19.76), локально создан IIS.

После публикации при обращении http://localhost/BDBUH/

запускается тонкий клиент, а до веб сервиса Proba достучаться не могу

   Ivan_495

2 — 26.09.15 — 16:39

код динамического подключения

ИмяWEBСервиса=»Proba»;

АдресWebСервиса=»http://localhost/ws/ws2.1cws»;;

    URIПространстваИмен=»http://www.URI.com»;;

    
    ИмяТочкиПодключения=ИмяWEBСервиса+»SOAP»;

    
    Определения=НОвый WSОпределения(АдресWebСервиса+ «?wsdl»);

    
    Прокси=Новый WSПрокси(Определения,URIПространстваИмен,ИмяWEBСервиса,ИмяТочкиПодключения);

    
    Данные=Прокси.Получить(2);

   Cyberhawk

3 — 26.09.15 — 16:52

Что означает «динамически»?

   Ivan_495

4 — 26.09.15 — 16:53

(3) по URL не по WS-ссылке

   Ivan_495

5 — 26.09.15 — 16:54

ошибка возникает вот здесь

Определения=НОвый WSОпределения(АдресWebСервиса+ «?wsdl»);

   Cyberhawk

6 — 26.09.15 — 16:55

Ну, причина ошибки — неправильно указал адрес wsdl-описания

   Cyberhawk

7 — 26.09.15 — 16:56

Сначала в браузере добейся работоспособности (отображения содержимого по wsdl)

   Ivan_495

8 — 26.09.15 — 17:01

(7) сам-то добился?

   Cyberhawk

9 — 26.09.15 — 17:22

(8) такой вопрос от тебя как от автора вопроса кажется странным

   Ivan_495

10 — 26.09.15 — 17:24

если у тебя подключение работает кинь строчку WSОпределения посмотреть

   Cyberhawk

11 — 26.09.15 — 17:24

Я не понимаю, что означает «кинь строчку WSОпределения». Что сделать-то?

   Ivan_495

12 — 26.09.15 — 17:29

у меня ошибка в первом параметре WSОпределения , если у тебя есть рабочие веб-сервисы пришли АдресWebСервиса+ «?wsdl»

   Cyberhawk

13 — 26.09.15 — 17:38

   Ivan_495

14 — 26.09.15 — 17:43

а 1с это что?

   Ivan_495

15 — 26.09.15 — 17:50

/1с/ ?

   Cyberhawk

16 — 26.09.15 — 17:50

Имя опубликованной на веб-сервере базы

   Ivan_495

17 — 26.09.15 — 17:55

pos -имя веб-сервиса?

   Cyberhawk

18 — 26.09.15 — 17:55

Да

   Ivan_495

19 — 26.09.15 — 17:56

   Ivan_495

20 — 26.09.15 — 17:57

   Ivan_495

21 — 26.09.15 — 18:34

определения создались

Определения=НОвый WSОпределения(АдресWebСервиса,»ttt»,»1″);

прокси не проходит    

    Прокси=Новый WSПрокси(Определения,URIПространстваИмен,ИмяWEBСервиса,ИмяТочкиПодключения);

   Ivan_495

22 — 26.09.15 — 18:37

ошибка

Сервис не найден. {http://www.URI.com}:Proba

   Ivan_495

23 — 26.09.15 — 18:45

может этот прокси вообще не нужен?

  

Ivan_495

24 — 26.09.15 — 19:27

up

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка разбора xml ссылка на необъявленный префикс пространства имен
  • Ошибка разбора xml сообщения