0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

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

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

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

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

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

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

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

Шаг 6

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

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

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

Читайте так же:
Синхронизация папок локальной сети windows

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

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

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

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

Шаг 7

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

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

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

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

Заключение

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

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

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

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

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

Приложение

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

— Стюарт Хендерсон Бритт

Заметки 1С-Программиста

Цель блога описать интересные и полезные примеры программирования в системе 1С:Предприятие 8.

Страницы

  • Заметки
  • Конфигурация Библиотека
  • WSReader 2.0 — Чтение и исполнение веб-сервисов

воскресенье, 17 ноября 2013 г.

1С:Предприятие 8. Веб-сервисы. Синхронизация с сайтом

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

Самым простым случаем является вызов операций веб-сервисов 1С с сайта при необходимости. Например, при открытии сайта можно получить актуальный список товаров и их остатки.
Давайте для примера создадим простенькую базу 1С с одним справочником номенклатура, в котором будут храниться все необходимые данные, включая остатки.

И в этой базе создадим веб-сервис, который будет выдавать список товаров.

На рисунке изображен модуль ws-операции ПолучитьНоменклатуру() и ПакетXDTO, который содержит описание полей выгружаемой номенклатуры. Мы не используем отборы и выгружаем сразу весь список товаров. Более подробное о создании веб-сервисов в среде 1С вы сможете узнать на странице 1С:Предприятие 8. Веб-сервисы. Реализация веб-сервиса.

  • УникальныйИдентификатор
  • Наименование
  • Цена
  • Остаток
  1. Пользователь меняет справочник Номенклатура;
  2. Информационная база вызывает скрипт sync.php;
  3. Скрипт sync.php вызывает ws-операцию ПолучитьНоменклатуру( ) и помещает результат в таблицу tovar;
  4. Пользователь запускает index2.php, который выводит содержимое таблицы tovary.

  • UID CHAR(36)
  • Name VARCHAR(25)
  • Cena REAL
  • Ost REAL
12 комментариев :

Владимир! Подскажите, как передать на сайт фотографию из 1С? Какого типа будет этот параметр?

Я вам предлагаю посмотреть код Библиотеки стандартных подсистем. Там есть веб сервис Files. Используется тип File, в котором сами бинарные данные передаются через base64Binary (http://www.w3.org/2001/XMLSchema).

Спасибо, Владимир! Посмотрю!

Установила БСП 2.1 — к сожалению не нашла там такого веб-сервиса Files.

В версии 1.2 был.

Владимир! Передать картинку через веб-сервис — получилось! Но это работает только когда маленькие картинки. На больших картинках (например 3Мб) выдает ошибку. Веб-сервис сторонней программы. Я из 1С его вызываю и передаю ему картинку.
Ошибка: <Форма.Синхронизация_ФизЛиц_С_ИС.Форма(203)>: Ошибка при вызове метода контекста (AddPhoto): Ошибка вызова операции сервиса: :HRM:AddPhoto(): Ошибка SOAP сервера: Исключение при запуске расширений, указанных в файле конфигурации. —> Превышена максимальная длина запроса.

Читайте так же:
Регулировка оборотов кулера с виндовс

Мне говорят, что где-то в 1С нужно увеличить какой-то параметр.
Вопрос: эта ошибка у меня в 1С? Нужно где-то что-то донастроить — чтобы работать с большими файлами? Или эта ошибка в сторонней программе?

Форма.Синхронизация_ФизЛиц_С_ИС.Форма это ваша форма?

Файлы объемом более 300кб я не передавал. Ошибки такой не видел. Ошибка возникла на стороне сервера, значит у них. В платформе 1С параметров не встречал.

Форма.Синхронизация_ФизЛиц_С_ИС. — да, это моя форма, в ней вызывается сторонний веб-сервис, который возвращает вышеуказанную ошибку.

Еще для размышления:
разработчики сторонней программы и этого стороннего веб-сервиса говорят, что у них все работает. И Говорят, что нужно где-то в 1С настроить такой параметр и приводят для примера настройку из другой программы:

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

Еще есть такая информация: что нужно поправить настройки web.config:
Инет говорит следующее:
Для исправления этой ситуации следует править следующую строку в Web.config:

110
Красным выделены интересующие нас «максимальная длина запроса» (в килобайтах) и «максимальное время обработки запроса» (в секундах).
Для наиболее полной информации по редактированию данного файла следует смотреть раздел MSDN «Изменение файлов конфигурации ASP.NET» (http://msdn.microsoft.com/ru-ru/library/ackhksh7.aspx).

Я написала свой веб-сервис в 1С, чтобы передать картинку. Вызываю его из SOAPUI — все отрабатывает — возвращает двоичный код картинки.

Обработка Управление ТСД для Далион Тренд

Знаю, что открывал тему, но ее закрыли из-за того, что я нарушил правила форума. Прошу прощения у модераторов и участников форума, я не со зла. Надеюсь, больше не повторится! Почему "надеюсь"? Потому, что я даже не знал о таком правиле.

Снова опишу проблему, надеюсь отзоветесь:

Мой терминал работает на Windows CE. Для нее написана программа сбора данных на базе Superkit, которая выгружает/загружает файл формата CSV. Файл Импорта (входной) , формат файла – CSV, разделитель «;» Имя по-умолчанию SCANIN.DAT , путь к файлу настраивается в программе.

Структура файла следующая:
P;8594404110110;Վաֆլի Գրանդ Քենդի Մու-Մու կգ;0;1;4605664000197;;шт //<ШТРИХКОД> — максимально 64 символа; <НАЗВАНИЕ> — максимально 128 символов, сейчас
назавание на армянском; <ЦЕНА> — CURRENCY, разделитель целой и дробной части «.»; <КОЛИЧЕСТВО> — FLOAT; <ССЫЛОЧНЫЙ ШК ДЛЯ ГРУППОВЫХ ТОВАРОВ> — максимально 64 символа, последнее значение не используется, но должно присутствовать; ;;кг — нет описания, но без этого окончания не будет работать.

Файл Экспорта (выходной) , формат файла – CSV, разделитель «;» Имя по-умолчанию SCANOUT.DAT, путь к файлу настраивается в программе.
Структура файла следующая:
P;4820080724322;2.000 //Префикс записи «P»; <ШТРИХКОД> — 64 символа; <КОЛИЧЕСТВО> — FLOAT.

Также выкладываю файл выгрузки конфигурации:

Вложения

1cv8.zip (21.20 Мб, 346 просмотров)
Tigra_N
Посмотреть профиль
Где был?
Найти ещё сообщения от Tigra_N
Читайте так же:
Gmail imap синхронизирует не все папки

Zip-архив не читается.

Ладно, фиг бы с ним — скриншотов с конфигуратора будет достаточно.

Собственно, вопросы для начала:
Что такое "штрихкод" в данной конфигурации?
Справочник, регистр сведений? Характеристика товара? Что-то ещё?

Тот же самый вопрос о "Ссылочный шк для групповых товаров".

KirillHome
Посмотреть профиль
Где был?
Найти ещё сообщения от KirillHome

Вложения

1cv8.part1.rar (45.00 Мб, 79 просмотров)
1cv8.part2.rar (21.79 Мб, 83 просмотров)
Tigra_N
Посмотреть профиль
Где был?
Найти ещё сообщения от Tigra_N
Tigra_N
Посмотреть профиль
Где был?
Найти ещё сообщения от Tigra_N

Скачал, открыл в 1с.
Смотрю.
Если всё будет нормально — завтра к вечеру будет первая редакция выгрузки из 1с.

Я правильно понимаю, что надо будет предусмотреть три режима выгрузки:
1) Все товары
2) Товары определённой группы
3) Просто определённые товары

KirillHome
Посмотреть профиль
Где был?
Найти ещё сообщения от KirillHome

Посмотрел на это на всё.

По сути дела, надо изменить чуть-чуть обработку "УправлениеТСД" на то, что бы она не закачивала напрямую данные в ТСД (не считывала напрямую данные из ТСД), а выводила данные в файл или читала из файла.

Вот, к примеру, "кусок для выгрузки"

Т.е. выводят — Штрихкод, наименование, цена, код
Нужно добавить остаток (т.к. склад есть — то это не проблема) и убрать код.

KirillHome
Посмотреть профиль
Где был?
Найти ещё сообщения от KirillHome

KirillHome ➤ По сути дела, надо изменить чуть-чуть обработку "УправлениеТСД" на то, что бы она не закачивала напрямую данные в ТСД (не считывала напрямую данные из ТСД), а выводила данные в файл или читала из файла.

Т.е. выводят — Штрихкод, наименование, цена, код
Нужно добавить остаток (т.к. склад есть — то это не проблема) и убрать код.

Tigra_N
Посмотреть профиль
Где был?
Найти ещё сообщения от Tigra_N

думаю, в обработке УправлениеТСД, надо поменять поле "Модель ТСД" на "Путь к файлу", Категорию цен оставить так же, а поля Контрагент и Склад убрать вообще потому, что они нужны при работе с MobileLogistic, а у нас переписанная SuperKit.

Tigra_N
Посмотреть профиль
Где был?
Найти ещё сообщения от Tigra_N
KirillHome
Посмотреть профиль
Где был?
Найти ещё сообщения от KirillHome

Нулевой вариант (прикреплён)

Нужно проверить, что правильно показывает наименование, цену, остаток.
Никаких проверок пока нет, поэтому:
1) Запускаем через "Файл" — "Открыть"
2) Заполняем поля "Организация", "Склад", "Категория цен"
3) На вкладке "Товары" — "Заполнить" — "Добавить товары по группе", выбираем нужную группу (наверное, можно и все товары — но, думая, это будет медленнее)
По идее — должны получить список товаров выбранной группы с указанными ценами и остатками на выбранном складе.

Если организаций/складов/цен несколько — имеет смысл проверить и на них (пока выбор другого реквизита — Организация, склад, цена — не приводит к правильному перезаполнению табличной части, так что — изменяем реквизиты и выбираем нужную группу, говоря — "Очистить данные").

Если в этой "арифметике" всё верно — пойду дальше (увы, не могу проверить сам. Не удаётся провести документы оприходования — похоже, многое зашито на ключ).

Читайте так же:
Как синхронизировать контакты с гугл на honor

Выгрузка данных из УТ 11 в БП 2.0

В поле «Период выгрузки» укажите за какой период выгружать документы, в поле «Организация» укажите организацию и в поле «Имя файла данных» укажите имя файла, в который будут выгружены данные, в списке «Выгружаемые данные» — виды объектов, которые нужно выгрузить.

По кнопке «Выполнить» данные выгружаются в указанный файл.

Загрузка в БП 2.0: Сервис — Прочие обмены данными — Универсальный обмен данными в формате XML.

Выгрузка выполняется по правилам указанным в макете. В режиме Конфигуратор в макет загружены правиа выгрузки из конфигурации УТ ред. 11.1.9.1 в конфигурацию БП ред. 2.0.64.1.

Скачать файлы

Специальные предложения

Electronic Software Distribution

Маркировка 488-ФЗ

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Автор запретил комментарии

Просмотры 23380

Загрузки 122

Рейтинг 1

Создание 23.02.15 18:17

Обновление 11.02.21 15:57

№ Публикации 331903

Операционная система Windows

Страна Россия

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Да

См. также

Перенос объектов 1С Промо

Простой и наглядный перенос объектов между любыми базами 1С 8 с предварительным анализом на возможные различия в данных (через файл, через интернет, через буфер обмена, через Com). Интерактивная настройка правил обмена на стороне источника и получателя. В обработке есть удобный обзор по подсистемам, поиск и обработка данных по заданному фильтру. Сравнение объектов, поиск ссылок, регистрация в плане обмена. Конструктор кода по созданию объектов, написание скриптов и отладка мини-функций в УФ. Отключение/включение регламентных заданий. Отчеты по наполнению базы и разные проверки. Всевозможные инструменты администратора или программиста в одной обработке.

1 стартмани

16.03.2015 104417 2178 moolex 264

Создание стартовой базы

Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.

1 стартмани

11.10.2021 4542 5 sapervodichka 41

Декларации по формам 7 и 8 алкогольной продукции, перенос данных из Декларант-Алко, импорт данных из файлов XML форм 11,12,7,8

Конфигурация на управляемых формах, платформа 1С 8.3.10.2667 и выше, с помощью которой можно сформировать Декларации по формам 7 и 8 алкогольной продукции, выполнить перенос данных из ПО Декларант-Алко версии 4.31.05 и выше, импорт и загрузку из файлов XML форм 11,12,7,8. Есть возможность автоматического подписания и шифрации файла выгрузки.

1 стартмани

15.04.2021 7877 43 independ 39

Настройка обмена с любой устаревшей конфигурацией на базе 8.2 через обработку "Универсальный обмен данными в формате XML" и "Конвертацию данных 2.0"

Разберем кейс, как настроить простенький обмен с любой устаревшей конфигурацией на базе 8.2 через обработку "Универсальный обмен данными в формате XML" и Конвертацию данных 2.0 с возможностью настройки гибких отборов по периоду, организации и списку документов.

1 стартмани

23.11.2020 11260 10 orfos 14

Мастер XML-обмена Промо

Функциональный аналог конвертации данных в кармане — комплекс обработок предназначенный для быстрой и удобной разработки обмена данными между информационными базами 1С.

5 стартмани

02.09.2015 35110 5 Lancelot-2M 17

Улучшенная обработка универсального обмена данными в формате XML (УФ)

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

Читайте так же:
Mozilla thunderbird синхронизация с задачами

1 стартмани

23.06.2020 12470 131 Lem0n 1

Загрузка из XML файла ЭДО в документ поступления для конфигураций 1С: Розница 2.2/2.3, Управление торговлей 10.3/11.4

Внешние обработки загрузки данных из XML файлов формата ON_NSCHFDOPPRMARK ЭДО в документы поступления 1С Розница версия 2.2.10.19 и выше, Управление торговлей 10.3.52.2 и выше, Управление торговлей 11.4.5.63 и выше

1 стартмани

04.06.2020 27611 293 independ 130

Универсальный обмен данными между похожими конфигурациями, версия 2020.3.1

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

1 стартмани

29.01.2020 23809 373 vladnet 51

Выгрузка данных из УТ 11.3/11.4 в БП 3.0 (перенос документов и справочной информации из "Управление торговлей" ред. 11.3/11.4 в "Бухгалтерия предприятием" ред. 3.0). Обновлен до УТ 11.3.4.х/11.4.7х и БП 3.0.7х.х Промо

Данная обработка предназначена для выгрузки в формате XML данных из программы «Управление торговлей» ред. 11.3/11.4 по основным группам документов (документы покупки/продажи товаров и услуг, складские документы, счета-фактуры, ценообразование), а также набор основных справочников. Загрузка данных в БП ред. 3.0 через обработку «Универсальный обмен данными XML». Основная цель обработки – оптимизация работы бухгалтеров во время обмена данными между программами, а также выборочная корректировка загруженных ранее документов.

04.03.2016 65681 18 SEOAngels 66

Преобразование XML файла в переменную структура, Загрузка в дерево значений

Обработка, демонстрирующая работу процедур и функций по преобразованию XML файла в дерево значений, а также в переменную типа структура.

1 стартмани

14.09.2019 16084 24 vik070777 19

Документы и Справочники в JSON

Пример выгрузки всех данных Документа или Справочника в JSON

1 стартмани

20.06.2019 22796 27 Teut_Vlad 21

Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)

Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #1. Установка произвольных фильтров на выгружаемые объекты при помощи механизма системы компоновки данных #2. Сохранение различных вариантов настроек (сохраняются правила обмена, фильтры выгрузки, параметры, настройки обработки) — что позволяет гибко настроить в базе-источнике фильтры для выгрузки объектов по различным правилам обмена для различных баз-приемников, сохранить выполненные настройки и в будущем уже пользоваться этими вариантами настроек. Проверялась на 1С:ERP Управление предприятием 2.4.7.141.

1 стартмани

29.04.2019 29948 491 sapervodichka 20

Обмен данными между УТ 10.3 и Розницей 2.2 (правила обмена данными между "Управлением торговлей" ред. 10.3. и "Розницей" ред. 2.2) Промо

Данные правила предназначены для обмена в формате XML данных из программы «Управление торговлей» ред. 10.3. и "Розница" ред. 2.2 по основным группам документов и основных справочников. Загрузка данных осуществляется через встроенную обработку «Универсальный обмен данными XML». Основная цель обработки – корректировка типовых правил на выявленные ошибки и расширение выгрузки для корректной выгрузки данных по ЕГАИС и продажам в целом. Протестировано до УТ 10.3.47.х и Розница 2.2.11.х

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector